我有一个msi安装文件,它是为Windows安装程序创建的。现在我想用Wix工具集创建这个安装程序的新版本。问题是,安装程序检测到以前安装的(明智创建的)版本,但无法升级它。我收到以下错误消息:
“已安装此产品的另一个版本。此版本的安装无法继续。要配置或删除此产品的现有版本,请使用”控制面板“上的”添加/删除程序“
我在两个安装程序中设置了相同的升级代码,并在wix项目中修改了产品代码和包代码。我按如下方式设置升级信息:
<!-- Upgrade information -->
<Upgrade Id="$(var.UpgradeCode)">
<UpgradeVersion Property="NEWPRODUCTFOUND"
IncludeMinimum="no"
Minimum="$(var.ProductVersion)"
OnlyDetect="yes"/>
<UpgradeVersion Property="OLDPRODUCTFOUND"
IncludeMinimum="yes"
Minimum="0.5.0"
IncludeMaximum="no"
Maximum="$(var.ProductVersion)"/>
<UpgradeVersion Property="NEWERVERSIONINSTALLED"
IncludeMinimum="yes"
Minimum="$(var.ProductVersion)"
OnlyDetect="yes" />
</Upgrade>
我还尝试通过将InstallScope设置为“perMachine”来确保为所有用户安装产品
<Package InstallerVersion="200"
InstallScope="perMachine"
Compressed="yes" />
我有其他安装程序项目,其中所有版本都是使用wix创建的,对于它们,升级工作正常。
答案 0 :(得分:1)
确保增加产品版本。只有较新的产品版本才能自动升级原始包。
另请注意,Windows Installer会忽略第四个版本字段(如果您使用它)。