我在我的部署版本之间更改了 UIRef 标记。
从 1.0 版: <UIRef ID="WixUI_FeatureTree" />
到 2.0 版: <UIRef ID="WixUI_Advanced" />
蜡 3.6 版
现在,当我运行 2.0 版安装程序时,它不会检测到以前的版本,因此它不会在升级过程中卸载它,而是在现有版本旁边安装一个新版本。
中间版本升级正常(1.0->1.1->1.2)。
2.0 的主要变化是:
- 主要功能下的新子功能
- 将 UIRef 从 WixUI_FeatureTree 更改为 WixUI_Advanced 以允许部署从“AllUsers”和“Single User”中进行选择
删除现有产品定义为:
<InstallExecuteSequence>
<RemoveExistingProducts After='InstallInitialize' />
<Custom Action=...
...
我的产品定义为:
#UpgradeCode# is consistent between versions
#ProductId# is changed between versions
<Product Id="#ProductId"
UpgradeCode="#UpgradeCode#"
Name="!(loc.ApplicationName)"
Language="1033"
Codepage="1252"
Version="2.0.0"
Manufacturer="!(loc.Manufacturer)">
<Package
Id="*"
InstallerVersion="300"
InstallPrivileges="elevated"
Languages="1033"
Compressed="yes"
InstallScope="perMachine"
Manufacturer="!(loc.Manufacturer)"
SummaryCodepage="1252"
Platform="x86"
Description="!(loc.ApplicationName)"/>
<Upgrade Id="#UpgradeCode#">
<UpgradeVersion OnlyDetect="no" Property="PREVIOUSFOUND"
Minimum="1.0.0" IncludeMinimum="yes"
Maximum="2.0.0" IncludeMaximum="no"/>
</Upgrade>
我想知道是否可以采取措施强制安装程序检查升级并删除在我的更改后不再处理的先前版本。