基本上我需要改变这种行为:
安装具有相同版本和升级代码的产品(但是 MSI允许和处理不同的产品代码作为两种产品。
我需要将其作为重大升级进行威胁。因此,在v 1.0.1(旧版本,不同的ProductCode)上安装v 1.0.1将卸载旧版本。 这是因为除非我们要公开发布,否则我对改变版本不感兴趣。
我有:
<Product Id="*" UpgradeCode="2067109E-DCDA-4639-B4FC-B95E0A239E1A" Version="1.0.1"...
....
<MajorUpgrade AllowSameVersionUpgrades="yes" ...
我现在拥有的是添加/删除程序下的两个条目,这不是我想要的。
答案 0 :(得分:0)
只需添加第四个版本号(Major.Minor.Patch.Build)并为每个新版本增加内部版本号。
使用相同的UpgradeCode
但不同的ProductCode
,将允许任何具有相同(Major.Minor.Patch)的安装程序作为升级安装,但至少您将知道构建版本已安装。
确保使用
<MajorUpgrade AllowSameVersionUpgrades="yes"
请注意,这不会阻止在以后的版本存在时安装早期版本。