嗨,下面是我为版本 1 和版本 2 设置的设置。但是当我安装 MSI 包进行升级时,会弹出消息框并要求从添加/删除程序中删除以前的安装版本,而不是自动删除旧版本并安装较新的版本。
请让我知道任何需要修改的设置。
版本 1 设置如下:
<Product Id="*" Name="CBUDirectMSI" Language="1033" Version="1.0.0.0" Manufacturer="" UpgradeCode="5fa35d9d-5b5a-40f0-9607-e381e728a146">
<Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine"/>
<Upgrade Id="5fa35d9d-5b5a-40f0-9607-e381e728a146">
<UpgradeVersion Property="OLD_VERSION_FOUND"
Minimum="1.0.0.0"
Maximum="2.0.0.0"
IncludeMinimum="yes"
IncludeMaximum="no"
OnlyDetect="no"
IgnoreRemoveFailure="no"
MigrateFeatures="yes"
Language="1033" />
<UpgradeVersion
Property="NEWER_VERSION_FOUND"
Minimum="2.0.0.0"
IncludeMinimum="no"
OnlyDetect="yes"
Language="1033" />
</Upgrade>
<Condition Message="A newer version of [ProductName] is already installed. Exiting installation.">
</Condition>
<InstallExecuteSequence>
<InstallExecute Before="RemoveExistingProducts" />
<RemoveExistingProducts Before="InstallFinalize" />
</InstallExecuteSequence>
</Product>
版本 2 设置
<Product Id="B55596A8-93E3-47EB-84C4-D7FE07D0CAF4" Name="CBUDirectMSI" Language="1033" Version="2.0.0.0" Manufacturer="" UpgradeCode="5fa35d9d-5b5a-40f0-9607-e381e728a146">
<Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine"/>
<Upgrade Id="5fa35d9d-5b5a-40f0-9607-e381e728a146">
<UpgradeVersion Property="OLD_VERSION_FOUND"
Minimum="1.0.0.0"
Maximum="2.0.0.0"
IncludeMinimum="yes"
IncludeMaximum="no"
OnlyDetect="no"
IgnoreRemoveFailure="no"
MigrateFeatures="yes"
Language="1033" />
<UpgradeVersion
Property="NEWER_VERSION_FOUND"
Minimum="2.0.0.0"
IncludeMinimum="no"
OnlyDetect="yes"
Language="1033" />
</Upgrade>
<Condition Message="A newer version of [ProductName] is already installed. Exiting installation.">
</Condition>
<InstallExecuteSequence>
<InstallExecute Before="RemoveExistingProducts" />
<RemoveExistingProducts Before="InstallFinalize" />
</InstallExecuteSequence>
</Product>
Wix Installer 可以识别较新版本,但不会删除旧版本并安装较新版本;并给出下面的消息框“但我仍然收到错误消息框,上面写着“已经安装了该产品的另一个版本。无法继续安装此版本。要配置或删除此产品的现有版本,请使用“控制面板”上的“添加/删除程序”。
任何人都可以建议我哪里出错了。