3

我正在安装几个产品,但是因为它们是在日常构建中自动构建的,所以它们有各种 GUID。他们只是有相同的升级代码......

所以我的问题是:如果产品已安装(不使用自己的自定义操作),是否可以仅使用 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 是转换后的升级代码,但此键下没有值,因此我无法检查它是否存在 :(

任何帮助将不胜感激。

编辑:我试图发现是否安装了其他产品,而不是我目前正在安装的产品。

4

1 回答 1

2

您可以使用Upgrade元素来执行此操作。看到这个问题:如何实现 WiX 安装程序升级?

如果您只想检测应用程序是否已安装,请使用OnlyDetect属性(Rob 的答案有一个这种用法的示例)。

如果您实际上是在尝试升级您的产品,官方WiX 文档描述了执行此操作的最简单方法。

于 2013-09-30T01:04:56.790 回答