我有一个这样的 MSI 设置:
<Product Id="*" ... UpgradeCode="4207FF3B-5E0D-4311-9DFC-B41AA8DE2965" />
<MajorUpgrade DowngradeErrorMessage="Can't downgrade" />
它按预期工作:
- 安装产品
- 重新编译(有效生成新的Id)
- 启动新的 msi 文件会显示更改视图,我可以修复或卸载产品。
好的。但随之而来的是燃烧。
我已经创建了最简单的捆绑包。我使用标准的引导程序并只添加一个 MsiPackage:
<MsiPackage SourceFile="$(var.Setup.TargetPath)" />
问题是每次重新编译后,我都可以在已经安装的产品旁边再次安装该产品,而无需更改任何东西!这会导致重复的 ARP 条目!
如果我不重新编译并运行捆绑 exe 文件两次,我将按预期获得修改设置屏幕。我可以做些什么来获得与仅使用 MSI 时相同的刻录行为?