Wix - 仅在升级和修补程序上运行自定义操作不在修复/重新安装

时间:2017-03-10 21:05:43

标签: windows wix windows-installer installer

我想仅在升级和修补程序上运行Wix自定义操作,而不是安装/重新安装或修复。所以基本上只有当应用程序的版本号增加时才应运行此自定义操作。我尝试了以下规则,并在修补时完全禁用了自定义操作:

<Custom Action="upgrade_action" Before="InstallFinalize">Installed AND NOT REMOVE AND UPGRADINGPRODUCTCODE</Custom>

我能做些什么来实现这个目标?

1 个答案:

答案 0 :(得分:2)

如果这是新的主要升级产品并且您正在使用WiX MajorUpgrade元素,那么如果它正在进行升级并检测旧版本,则会设置WIX_UPGRADE_DETECTED属性。 UPGRADINGPRODUCTCODE设置在正在升级的旧产品中,已安装的产品。

如果您希望CA仅在这些条件中的任何一个条件下运行,您看起来所需要的只是WIX_UPGRADE_DETECTED或PATCH。