8

我有一个 WIX_bundle (V1.0.0.0),它安装了 4 个第三方 MSI 的版本 (5.0.0.0)。现在我的第三方 MSI 的新版本已经更新(6.0.0.0)。我使用 (v2.0.0.0) 创建了 WIX_Bundle 的新版本,并且两个 WIX 捆绑包具有相同的升级代码。我想要发生的是新版本的 WIX_Bundle 应该卸载以前的版本(v1.0.0.0 和 4 个 MSI)并安装新版本(v2.0.0.0 和新的 4 个 MSI)。

但是当我尝试安装 WIX_BUndle V2.0.0.0 时,它会尝试安装新版本,而不是卸载以前的版本。我在这里错过了什么吗?

我也添加了 RelatedBundle Action="Upgrade" Id="$(var.UpgradeCode)" 。但什么都没有做的伎俩?

我的预期是否正确,卸载应该在新版本安装之前发生?我希望卸载之前的 4 个 MSI,无论它们是否有升级,然后在新的 WIX_Bundle (v2.0.0.0) 中安装新版本。我可以强迫这发生吗?

4

1 回答 1

6

我错了。WIX 捆绑包在捆绑包级别和内部 MSI 级别处理升级。所以一切都很好。当我从 v1.0.0.0 升级到 v2.0.0.0 时,它将卸载所有 4 个 MSI 的 5.0.0.0 并正确安装 6.0.0.0 版本(前提是您的 MSI 应该升级)。

于 2012-11-19T18:53:13.153 回答