Установщик WIX. Как сделать откат / понижение - PullRequest
0 голосов
/ 18 марта 2020

У меня есть установщик WIX, который использует стандартные логи MajourUpgrade c:

<MajorUpgrade Schedule="afterInstallInitialize" AllowDowngrades="no" DowngradeErrorMessage="!(loc.DowngradeErrorMessage)" AllowSameVersionUpgrades="yes" />

Установщик собирает некоторые файлы, а также выполняет некоторые пользовательские действия. Я хочу знать, возможно ли автоматизировать откат. Например:

Если я устанавливаю версию 1.0.0.0, а затем устанавливаю версию 1.0.1.0. Как я могу откатить установку 1.0.1.0 до 1.0.0.0 без введения патчей. Я не хочу удалять, а затем переустанавливать более старую версию.

Спасибо заранее.

1 Ответ

1 голос
/ 19 марта 2020

Сначала добавьте ссылку на WiXFailWhenDeferred Custom Action . Это позволяет легко вызвать откат, чтобы включить тестирование.

Во-вторых, прочитайте документацию Major Upgrade . Взгляните на описание afterInstallExecute и прочитайте связанную статью блога.

IMO безопаснее спроектировать установку, которая почти никогда не завершится с ошибкой, и просто использовать поведение по умолчанию и признать, что кому-то, возможно, придется переустановить исходную версию , Если вы все еще хотите желаемое поведение, убедитесь, что вы следуете правилам компонента. Используйте MSIENFORCEUPGRADECOMPONENTRULES свойство в своем тестировании, чтобы остерегаться нарушений правил компонентов. Обязательно протестируйте net новые установки и обновления и сравните наборы файлов, чтобы убедиться, что все работает так, как вы ожидали.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...