2

我有一个旧的安装程序,它是一个基本的 Visual Studio 设置项目,但一段时间后我们意识到它远没有我们需要的那么复杂。所以我花了几天时间用 WiX 进行替换。

现在我当前的问题是从以前的安装升级。如果有人安装了随 VS 项目一起安装的版本之一,他们是否可以使用新的 WiX 项目?我尝试将升级代码设置为相同,但没有任何不同,它似乎认为它是一个全新的产品并尝试再次安装。

是否可以?

4

2 回答 2

4

请参阅帮助主题:如何:在安装程序中实施重大升级

主要升级只能在相同的安装上下文中执行升级。(每用户 -> 每用户或每台机器 -> 每台机器)。如果您的 VDPROJ 是按用户意外安装的,则用户必须卸载/重新安装才能成为按机器。

您的新安装程序不必具有与旧安装程序相同的 UpgradeCode,但它必须使用旧安装程序中的 UpgradeCode 编写 MajorUpgrade。

于 2013-02-26T15:41:48.490 回答
2

这应该是可能的,但有几件事需要正确设置。也许你在.vdproj 项目中看到的和.msi 安装中写的不一样。使用 Orca 作为 .msi 阅读器,并提取所有需要的信息。升级代码必须相同,产品代码必须不同,安装版本必须更大,第一个、第二个或第三个数字。第四个数字不算。

WiX 对我来说也像是一个不起眼的黑匣子,所以我可能会遗漏一些东西,但据我所知,如果一切都按照上述设置,那么当您开始新安装时,旧安装应该会自动卸载。有一篇博客文章解释了其中的一些内容。

编辑:升级代码不必相同,但你必须做额外的工作,希望如本文所述

于 2013-02-26T08:21:43.747 回答