4

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

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

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

2 回答 2

5

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

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

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

不是 WIX_UPGRADE_DETECTED

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

于 2014-06-24T18:13:41.643 回答
0

您可以通过特殊属性UPGRADINGPRODUCTCODE识别重大升级。

列出的条件:(已安装和补丁)应该使对话框仅在补丁安装期间显示?

检查来自 Installshield的 MSI 条件备忘单。它不完整,但总比没有好。

于 2014-06-23T08:20:09.190 回答