从InstallShield切换到WiX

从InstallShield切换到WiX,wix,installshield,Wix,Installshield,我正在寻找InstallShield的替代品。不幸的是,我们只有一个InstallShield许可证,它安装在开发人员的机器上。我正在考虑切换到WiX,但是在阅读文档之后,有一个产品ID GUID、升级代码GUID和包GUID 我还知道GUID是由InstallShield创建的。如果我切换到WiX,我可以开始使用新的GUID吗?或者我可以使用InstallShield创建的一些GUID吗?如果发布了对产品的升级,安装程序是否会与拥有旧安装程序的客户保持联系?为了能够升级旧软件包,您需要使用(并

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


我还知道GUID是由InstallShield创建的。如果我切换到WiX,我可以开始使用新的GUID吗?或者我可以使用InstallShield创建的一些GUID吗?如果发布了对产品的升级,安装程序是否会与拥有旧安装程序的客户保持联系?

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


请参阅上的MSDN文章以及

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

您还可以使用dark.exe工具(包含在WiX中)反编译Installshield生成的msi。这将恢复升级代码和其他功能。

我知道您已经接受了答案,但如果您还没有接受答案,请与好友联系

奥卡帮我了解了MSI和WiX在幕后的所作所为。在您的情况下,这将使查找升级(或任何)GUID变得非常容易


这还可以为您节省一些时间和麻烦:)

如果您计划不中断组件引用计数,还应该使用相同的组件GUID(前提是您没有更改组件的安装位置)。只需使用dark.exe将现有的MSI反汇编为wix格式,清理wix源代码(我会从Installshield中删除UI垃圾并在默认的wix GUI中编译),重新导出源路径并编译,您就快到了。