【问题标题】:Switching from InstallShield to WiX从 InstallShield 切换到 WiX
【发布时间】:2010-10-10 02:57:36
【问题描述】:

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

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

【问题讨论】:

    标签: wix installshield


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          【解决方案4】:

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

          请参阅 patching and upgradesWiX Tutorial 上的 MSDN 文章

          【讨论】:

          • 如果您打算不中断组件引用计数,您还应该使用相同的组件 guid(前提是您没有更改组件的安装位置)。只需使用 dark.exe 将现有的 MSI 反汇编为 wix 格式,清理 wix 源(我会从 Installshield 中删除 UI 垃圾并在默认的 WIX GUI 中编译),重新提取源路径并编译,你就差不多了。
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-01-13
          • 1970-01-01
          相关资源
          最近更新 更多