我正在安装多个产品,但由于它们是在每日构建中自动构建的,因此它们具有各种GUID。他们只有相同的UPGRADE代码......
所以我的问题是: 如果安装了产品(不使用自己的自定义操作),是否可以只使用UPGRADE代码知道?
我在尝试:
<Property Id="WF_INSTALLED" Value="NOT INSTALLED">
<ProductSearch Minimum="0" UpgradeCode="{XXXXXXXX-XXXX-XXXX-XXXX-8660911C6596}"/>
</Property>
但似乎我不能使用它......我也找到了一个注册表记录:
Root='HKLM' Key='SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UpgradeCodes\XXXXXXX'
其中XXXXXXX转换为UPGRADE Code,但此键下没有值,所以我无法检查它是否存在:(
任何帮助将不胜感激。
编辑:我试图发现是否安装了其他产品,而不是我目前正在安装的产品。
答案 0 :(得分:2)
您可以使用Upgrade
元素执行此操作。请参阅此问题:How to implement WiX installer upgrade?
如果您只想检测是否已安装该应用程序,请使用OnlyDetect
属性(Rob's answer有此用例)。
如果您确实尝试升级产品,官方WiX documentation会说明最简单的方法。