14

我正在寻找 InstallShield 的替代品。不幸的是,我们只有 1 个 InstallShield 许可证,并且它安装在开发人员的机器上。我正在考虑切换到 WiX,但在阅读文档后,有一个产品 ID GUID、升级代码 GUID 和一个包 GUID。

我也知道 GUID 是由 InstallShield 创建的。如果我切换到 WiX,我可以开始使用新的 GUID 还是使用 InstallShield 创建的一些 GUID?如果发布了对产品的升级,更换安装程序是否会影响使用旧安装程序的客户?

4

4 回答 4

18

为了能够升级您的旧软件包,您需要使用(并找出)您的旧升级代码。
对于每个不同的 MSI,包代码应该不同(即自动生成)(MSI 可以使用 guid 作为缓存键进行缓存)。
产品代码在主要升级之间应该不同,但对于次要升级和补丁很重要。我现在除了主要升级外没有使用 wix 做任何其他事情,所以我不知道确切的细节

请参阅有关修补和升级的 MSDN 文章以及WiX 教程

于 2009-02-26T16:09:17.027 回答
11

知道您可以使用 dark.exe 工具(包含在 wix 中)反编译由 Installshield 生成的 msi 可能也很有趣。这将恢复升级代码等。

于 2009-02-26T23:56:17.760 回答
5

我还建议获得一份The Definitive Guide to Windows Installer的副本,我强烈推荐这本书,如果没有它,我不知道如何迁移到 WiX。这是对 Windows Installer 的一个非常低级的概述,如果您理解这本书,那么 WiX 就变得非常简单。

于 2009-02-26T21:42:53.917 回答
2

我知道您已经接受了答案,但如果您还没有这样做,请与Orca成为朋友。

Orca 帮助我了解了 MSI 以及 WiX 在幕后所做的事情。在您的情况下,它会使查找升级(或任何)GUID 变得非常容易。

这个问题也可以为您节省一些时间和头痛:)

于 2009-07-03T06:46:07.953 回答