检测Wix中的主要升级3.8

时间:2014-06-23 06:02:57

标签: wix windows-installer wix3 major-upgrade

我正在安装我的软件的所有新版本作为主要升级,因为安装非常小,而且大多数时候,所有文件都会发生变化。

我想在安装程序中跳过一个对话框,如果升级与全新安装相比完成,但到目前为止,我未能找出以下示例中的条件(如“已安装和修补”)使用

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

2 个答案:

答案 0 :(得分:4)

您需要向我们展示您的主要升级元素或WiX中的升级元素以获取详细信息,但您检测到您正在进行升级的方式是使用升级属性名称。有时名称为PREVIOUSVERSIONSINSTALLED,但如果您使用MajorUpgrade元素,则会设置名为WIX_UPGRADE_DETECTED的属性。

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

这意味着对话框中的条件为:

不是WIX_UPGRADE_DETECTED

如果要取消对话框。你不想要PATCH,因为你没有做任何与补丁相关的事情。

答案 1 :(得分:0)

您可以通过特殊属性UPGRADINGPRODUCTCODE识别主要升级。

列出的条件:(已安装和PATCH)应该只在安装修补程序时显示对话框吗?

从Installshield检查此cheat sheet of MSI conditons。它并不完整,但总比没有好。