Обновление сгенерированного пакета WiX с основной нулевой версией
Недавно я выпустил пакет с версией 0.8.3
и я готов выпустить новый пакет сейчас. Я, однако, изо всех сил пытался реализовать Major Upgrade
/ Upgrade
, Казалось, что WIX_UPGRADE_DETECTED
переменная никогда не была заполнена. Затем я столкнулся с серьезным обновлением WiX3, где принятый ответ гласит:
- Все установочные версии (опять же, не версии файлов) должны быть 1.0 или выше.
И действительно, временное повышение основной версии обоих пакетов до 1, казалось, решило проблему. Однако я не могу задним числом изменить версию старого пакета, поскольку он уже установлен на тысячах компьютеров. Каков наилучший способ удалить старый пакет при установке нового? Есть ли лучший способ, чем настроить CustomAction
это работает msiexec.exe /x {PRODUCT-CODE}
?
1 ответ
Пока ваш код обновления стабилен между выпусками, вам просто нужно правильно создать таблицу обновлений, чтобы она включала версию, которую вы хотите обновить.
Какую конструкцию вы используете для реализации вашего основного обновления? Вы используете MajorUpgrade element
? Это должно в значительной степени работать прямо из коробки:
<MajorUpgrade Schedule="afterInstallInitialize"
DowngradeErrorMessage="A later version of [ProductName] is already installed. Setup will now exit."
AllowDowngrades="no" AllowSameVersionUpgrades="no" />
Возможно, вы используете основные элементы обновления старого стиля: как реализовать обновление установщика WiX?,
Вы должны предоставить нам свой фрагмент WiX, который вы используете для выполнения крупных обновлений.
Я хотел бы убедиться, что максимальная версия, указанная в вашей таблице обновлений, совпадает с версией установки, которую вы устанавливаете в настоящее время.
Некоторые ссылки:
ответы:
- Боб Арнсон, блог разработчика WiX об основных обновлениях: https://www.joyofsetup.com/2010/01/16/major-upgrades-now-easier-than-ever/
- Увеличенный образец с основными элементами обновления старого стиля:
При выполнении Major Upgrade в Wix создается 2 записи в разделе "Установка и удаление программ". - Как реализовать обновление установщика WiX?
Документация: