我正在安装我软件的所有新版本作为主要升级,因为安装量非常小,而且大多数情况下,无论如何所有文件都会发生变化。

如果与全新安装相比进行了升级,我想跳过安装程序中的一个对话框,但到目前为止,我无法弄清楚以下示例中要使用的条件(如“已安装和补丁”)。

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

最佳答案

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

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

这意味着您的对话框中的条件将是:

不是 WIX_UPGRADE_DETECTED

如果你想抑制对话框。您不想要 PATCH,因为您根本没有做任何与补丁相关的事情。

关于wix - 在 Wix 3.8 中检测 MajorUpgrade,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24359305/

10-09 02:56