我想要我的安装程序,如果检测到旧安装程序,先卸载它,然后启动新安装程序的安装。
我有以下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,此时我得到了一个消息:“此产品的先前安装存在,请先将其删除......”。
如何修改此行为? 感谢
答案 0 :(得分:4)
Product @ Id映射到Windows Installer ProductCode属性。此ID必须从构建更改为构建才能成为主要升级。您可以将其设置为“*”,让编译器为您处理。