我们已经推出了WiX定制BA安装程序的第1版 . 我们确实包含了任何升级支持 . 现在在版本2中,我们希望以这样的方式启用升级:当我们执行新安装程序时,它应该卸载旧产品并将其替换为v2 .

我能够在v2安装程序中使用OnDetectRelatedBundle检测旧包 . 但是当安装操作执行时,它会显示我的BA的另一个实例(我认为是v1实例)并且它要求我卸载它(我们在v1中的检测逻辑处理这个) .

  • 考虑到我们以前没有处理过任何升级机制,有没有办法在这个场景中静默调用v1的卸载?

  • 是否可以卸载旧版本(没有显示v1 's UI) and subsequently install v2 using v2' s BA?我该如何实现?

我在v2的Product.wxs中添加了这个块:

<MajorUpgrade AllowDowngrades="no" DowngradeErrorMessage="A newer version of [ProductName] is already installed." AllowSameVersionUpgrades="yes" Schedule="afterInstallInitialize" />