Wix - 升级将旧安装并安装新安装

时间:2012-02-27 15:50:21

标签: wix install windows-installer

我想要我的安装程序,如果检测到旧安装程序,先卸载它,然后启动新安装程序的安装。

我有以下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,此时我得到了一个消息:“此产品的先前安装存在,请先将其删除......”。

如何修改此行为? 感谢

1 个答案:

答案 0 :(得分:4)

Product @ Id映射到Windows Installer ProductCode属性。此ID必须从构建更改为构建才能成为主要升级。您可以将其设置为“*”,让编译器为您处理。