0
我希望我的安装程序,如果检测到一个旧的,先前卸载它,然后启动新的安装。Wix - 升级将旧安装,并安装新的
我有以下维克斯XML:
<Product Id="16bf910b-3b0f-4240-914a-81526bce35f4"
Name="MyProduct"
Language="1033"
Version="1.0.0.0"
Manufacturer="MyCompany"
UpgradeCode="6ba28d97-41de-4371-a236-b757b7840f7b">
<Package InstallerVersion="200" Compressed="yes" />
<Upgrade Id="6ba28d97-41de-4371-a236-b757b7840f7b">
<UpgradeVersion Minimum="0.0.0.0"
IncludeMinimum="yes"
OnlyDetect="no"
Maximum="1.0.0.0"
IncludeMaximum="yes"
Property="PREVIOUSFOUND" />
</Upgrade>
<InstallExecuteSequence>
<RemoveExistingProducts After="InstallValidate"/>
</InstallExecuteSequence>
在生成MSI文件,安装它(1.0.0.0版本),它的确定。 现在我将Product/@Version
更改为1.0.1.0,然后再次点击MSI,此时我收到一个问题:“此产品的以前安装存在,请先将其删除...”。
我该如何修改此行为? 谢谢
这样做会卸载以前的安装并正确地安装它,或者只是覆盖现有的文件? (顺便说一下,谢谢)。 – 2012-02-28 07:51:07
这是一个复杂的问题,需要了解组件规则和默认文件版本规则。一般来说,是的,但YMMV基于这些规则。 – 2012-02-28 14:55:13
我将我的Wix版本更新到了3.5版,现在使用'MajorUpgrade'标签,这是自动完成的。谢谢 :) – 2012-02-28 15:08:20