Обновление сгенерированного пакета WiX с основной нулевой версией - PullRequest
0 голосов
/ 26 мая 2018

Недавно я выпустил пакет с версией 0.8.3, и теперь я готов выпустить новый пакет.Я, однако, изо всех сил пытался реализовать Major Upgrade / Upgrade.Казалось, что переменная WIX_UPGRADE_DETECTED никогда не заполнялась.Затем я наткнулся на значительное обновление WiX3 не работает , где принятый ответ гласит:

Все версии установки (опять же, не версии файлов) должны быть версии 1.0 или выше.

И действительно, временное повышение основной версии обоих пакетов до 1, казалось, решило проблему.Однако я не могу задним числом изменить версию старого пакета, поскольку он уже установлен на тысячах компьютеров.Каков наилучший способ чистой деинсталляции старого пакета при установке нового?Есть ли лучший способ, чем настроить CustomAction, который запускает msiexec.exe /x {PRODUCT-CODE}?

1 Ответ

0 голосов
/ 27 мая 2018

Пока ваш код обновления стабилен между выпусками, вам просто нужно правильно создать таблицу обновлений, чтобы она включала версию, которую вы хотите обновить.

Какую конструкцию вы используетеосуществить ваше серьезное обновление?Вы используете MajorUpgrade element?Он должен работать практически сразу из коробки:

<MajorUpgrade Schedule="afterInstallInitialize" 
              DowngradeErrorMessage="A later version of [ProductName] is already installed. Setup will now exit." 
              AllowDowngrades="no" AllowSameVersionUpgrades="no" />

Возможно, вы используете основные элементы обновления старого стиля: Как реализовать обновление установщика WiX? .

Вы должны предоставить нам свой фрагмент WiX, который вы используете для реализации основных обновлений .

Я бы убедился, что указана максимальная версияв вашей таблице обновлений совпадает с версией установки, которую вы устанавливаете в настоящее время .


Некоторые ссылки :

Ответы:

Документация:

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