Как проверить, существует ли файл INI с помощью набора Wix
-
21-12-2019 - |
Вопрос
У меня есть файл .ini с конфигурацией.Мне нужно проверить, существует ли он в новой установке, чтобы не создавать его снова.Кроме того, есть ли новых .ini есть новые поля, добавляйте в существующий файл.
Решение
Не устанавливайте файл INI в качестве файла, но преобразовать записи в Инфильские записи таблицы . Это позволяет получать изменения всех изменений в INI, как «атомные единицы изменений», которые обеспечивают правильное объединение и откат через встроенный механизм MSI.
Как указывает Крис в своем главном комментарию по обновлению: делайте вещи правильным способом в Wix / MSI, и вы избегаете много проблем, которые начинают всплывать, когда изменение требований или обновления усложняются. Инфильские обновления реализованы правильным способом простым и простым для решения.
В Wix вы используете inifile элемент Для достижения этого. Все возможности слияния, поддержка отката и расширенная обработка файлов INI приходит бесплатно. Все, что вам нужно сделать, это определить, что нужно добавить или модифицировать в файле INI во время установки. Он также будет создан, если он не там в первую очередь.
Использование инициального элемента может выглядеть сложнее, чем оно. Вот образец . Вы также можете посмотреть на хорошо известный учебник Wix здесь .
Все эксперты MSI продолжают повторять этот совет: никогда не используйте пользовательские действия для изменения системы, если есть эквивалентные встроенные конструкции MSI.
Другие советы
Установите NeverOverite= «Да» на компоненте файла .ini файла, а затем обрабатывать обновление через пользовательское действие.
Я бы предложил иметь 2 файлов INI.Тот, который принадлежит установщику и принадлежит приложение / пользователь.Установщик всегда может перезаписать файл INI и никогда не беспокоиться о топании на пользовательских данных.