Wix-升级将更新旧安装并安装新安装
我希望我的安装程序,如果检测到一个旧的,以前卸载它,然后启动新的安装 我有以下Wix XML:Wix-升级将更新旧安装并安装新安装,wix,installation,windows-installer,Wix,Installation,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-
<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),就可以了。
现在我将产品/@Version
更改为1.0.1.0,并再次单击MSI,此时我收到一条消息:“此产品存在以前的安装,请先将其删除…”
如何修改此行为?
谢谢Product@Id映射到Windows Installer ProductCode属性。此Id必须在不同版本之间更改,才能成为主要升级。您可以将其设置为“*”以让编译器为您处理此问题。Product@Id映射到Windows Installer ProductCode属性。此Id必须在不同版本之间更改,才能成为主要升级。您可以将其设置为“*”,让编译器为您处理此问题。这样做会卸载以前的安装并正确安装,还是只覆盖现有文件?(顺便说一句,谢谢)。这是一个复杂的问题,需要了解组件规则和默认文件版本规则。一般来说,是的,但YMMV基于这些规则。我将我的Wix版本更新为3.5,现在使用
MajorUpgrade
tag,这是自动完成的。谢谢:)这样做将卸载以前的安装并正确安装,还是只覆盖现有文件?(顺便说一句,谢谢)。这是一个复杂的问题,需要了解组件规则和默认文件版本规则。一般来说,是的,但YMMV基于这些规则。我将我的Wix版本更新为3.5,现在使用MajorUpgrade
tag,这是自动完成的。谢谢:)