我可以使用 WiX 创建一个 MSI 来升级使用 Burn Bootstrapper 安装的应用程序吗?
Posted
技术标签:
【中文标题】我可以使用 WiX 创建一个 MSI 来升级使用 Burn Bootstrapper 安装的应用程序吗?【英文标题】:Can I create an MSI with WiX that upgrades an application installed using a Burn Bootstrapper? 【发布时间】:2013-09-11 10:42:56 【问题描述】:假设我有一个使用由 WiX Bootstrapper 项目创建的 Setup.exe 安装的应用程序。我现在有一个希望用户升级到的应用程序的新版本,但出于各种原因,我希望将此升级作为 MSI,而不是 .exe 分发。
当我对此进行测试时,我发现我最终在添加/删除程序中显示了 2 个应用程序实例,一个是 .exe 安装的版本,一个是 .msi 安装的版本。
我注意到 Setup 项目中的 Product 元素和 Bootstrapper 项目中的 Bundle 都具有不同的 UpgradeCode 属性。我确实尝试使用与要测试的 Bundle 相同的 UpgradeCode 创建一个 MSI,但这显示的行为与以前相同。
有没有办法使用 MSI 升级安装了 Setup.exe 的产品?
【问题讨论】:
这个问题是捆绑与 MSI 不同。它们没有在 Windows Installer 中注册,也不一定需要出现在 ARP 中。是否有一个具体的原因为什么您不只是让您的捆绑包安装这个 MSI? 你终于解决了这个问题吗?我遇到了完全相同的问题:/ 【参考方案1】:使用与您使用引导程序安装的 MSI 相同的升级代码创建新的 MSI。如果 MSI 升级代码相同,那么它会根据您在 MSI 中提到的内容知道它们是相关产品并执行(卸载旧版本、升级等)。
【讨论】:
这正是我所做的,但没有成功。我相信这是因为在 Windows Installer 基础结构中注册的升级代码实际上是引导程序以上是关于我可以使用 WiX 创建一个 MSI 来升级使用 Burn Bootstrapper 安装的应用程序吗?的主要内容,如果未能解决你的问题,请参考以下文章