Обнаружение MajorUpgrade в Wix 3.8

Я устанавливаю все новые версии моего программного обеспечения в качестве основных обновлений, так как установки очень малы, и в большинстве случаев все файлы меняются в любом случае.

Я хотел бы пропустить одно диалоговое окно в установщике, если обновление по сравнению с новой установкой выполнено, но до сих пор я не смог выяснить, какое условное (например, "Installed AND PATCH") использовать в следующем примере.

     <Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog" 
              Value="WelcomeDlg" Order="2">Installed AND PATCH</Publish>

2 ответа

Решение

Вам нужно показать нам ваш основной элемент обновления или элементы обновления в WiX для получения подробной информации, но способ, которым вы обнаруживаете, что вы делаете обновление, заключается в использовании имени свойства обновления. Иногда это имя PREVIOUSVERSIONSINSTALLED, но если вы использовали элементы MajorUpgrade, оно устанавливает свойство WIX_UPGRADE_DETECTED.

http://wixtoolset.org/documentation/manual/v3/xsd/wix/majorupgrade.html

Это означает, что условие в вашем диалоге будет:

Не WIX_UPGRADE_DETECTED

если вы хотите подавить диалог. Вы не хотите патч, потому что вы ничего не делаете, связанные с патчами.

Вы можете определить серьезное обновление по специальному свойству UPGRADINGPRODUCTCODE.

Перечисленное условие: (Установлено И ПАТЧ) должно отображать диалог только во время установки патча?

Проверьте этот шпаргалку условий MSI от Installshield. Это не полный, но лучше, чем ничего.

Другие вопросы по тегам