WIX Installer Preserve config file При раннем серьезном обновлении Планирование - PullRequest
0 голосов
/ 02 декабря 2018

Я использую раннее планирование значительных обновлений в моих проектах установки WIX, как показано ниже.

Я предпочитаю очищать все файлы при обновлении.Однако мне нужно сохранить конфигурационный файл и восстановить его при обновлении.

Я не хочу менять это раннее планирование (Schedule = "afterInstallInitialize"), так как у меня будут другие проблемы.Есть ли какие-либо обходные пути (пользовательские действия?) Для сохранения файла конфигурации в приведенном выше раннем планировании?

Ответы [ 2 ]

0 голосов
/ 03 декабря 2018

Способ решения этой проблемы состоит в том, чтобы иметь два файла.Вы заметите, что app.config / web.config файлы Элемент appSettings имеет атрибут файла.Если вы храните там свои пользовательские данные, установщик никогда не узнает об этом и никогда не удалит их и не нанесет им другого вреда.

web.config ... никогда не изменяйте это ... всегда позволяйте установщику перезаписывать его / удалятьЭто.Думайте об этом как о запасе |данные из первичного файла, которыми владеет установщик.

переопределения appsettings (строки подключения к) ... поместите свои данные туда, и вам никогда не придется заниматься гимнастикой, чтобы сохранить данные.

0 голосов
/ 03 декабря 2018

Сохранение настроек : Что это за файл настроек?И где это хранится?В профиле пользователя или, может быть, в общем расположении для каждой машины?Возможно, это веб-приложение и это файл web.config?

Предыдущие ответы : Этот вопрос возникает постоянно,Ниже приведены некоторые ответы, которые прямо или более неопределенно связаны:


Предложения реального мира

Постоянный компонент : при раннем удалении и удалении всех предыдущих файлов единственная опция, которая действительно работает, - это установить файл конфигурации постоянный от "сейчас".Он не будет работать для первого обновления, но для будущих обновлений файл будет сохранен на диске.

Незначительное обновление : при переходе на эту новую версиюпри использовании незначительного обновления вместо основного обновления файл не будет удален во время обновления, поскольку незначительное обновление не вызывает удаление, а обновляет продукт «на месте».В будущем может возникнуть проблема с обновлениями, так как некоторые люди, возможно, не обновились до версии с второстепенным обновлением, но будут стремиться к основному обновлению непосредственно с версии 1 до 3. Если они это сделают, файл настроек будет уничтожен версией1 удалить себя.Практическая проблема, которая портит концерт.

Пользовательские действия : Многие пытаются создать резервную копию файла настроек с помощью пользовательских действий во время нового обновления, а затем восстановить файл послеобновление завершено.Ошибка склонна, но выполнима.Сложность можно увидеть здесь: Обновление Wix Tools использует старые пользовательские действия .

Загрузка настроек : Мой любимый подход - изменить файл настроекбыть загруженным из базы данных или URL-адреса самим приложением." Настройки помутнения " Мне нравится называть это.Это дает надежный онлайновый репозиторий для настроек, которые можно использовать на разных компьютерах (не всегда желательно).Если вы извлекаете данные из базы данных, вы также можете предоставить контроль версий / пересмотр и откат настроек.


Некоторые дополнительные ссылки :

...