我有一个我们正在切换到 WiX 安装程序的应用程序。到目前为止,几乎一切似乎都进展顺利。我遇到的一个问题是,如果下载并尝试安装旧版本,它就会这样做。
这有点问题。如果安装了新版本,我不希望它安装旧版本。我认为问题出在“升级”组件上,但我必须承认我碰壁了。如何更改它以便旧版本看到已经安装了较新版本而不安装它?
我的测试产品现在是 2.4 版(我们正在尝试推出的最新版本)。它正确升级到 2.4.1 或 2.5 或 3.0。但是如果我制作一个 3.0 版本,然后运行 2.4 的 msi,它仍然会添加它。
我的升级组件:
<Upgrade Id="PUT-GUID-HERE">
<UpgradeVersion Maximum="2.4" Property="PREVIOUSVERSIONSINSTALLED" />
<UpgradeVersion Minimum="1.0" Property="NEWERPRODUCTFOUND" OnlyDetect="yes" IncludeMinimum="no" />
</Upgrade>
跟进:
在遵循 Steins 的建议后,我收到类似
“重复符号 'WixAction:InstallExecuteSequence/RemoveExistingProducts' 找到”
的错误 在查看 Product.wxs 文件后,<InstallExecuteSequence>
我不得不删除<RemoveExistingProducts Sequence="6550" />
它,因为这是它所指的重复项。这样做之后,安装程序工作并且旧版本不能再安装在新版本之上。