我有一个旧的安装程序是使用InstallShield 2015制作的,它的非基于MSI(我尝试用7zip打开它,但不能 - >非基于MSI,我是对的吗?)。 通常,我需要停止使用InstallShield并迁移到Wix。
谢谢: - )
答案 0 :(得分:1)
我会添加一个快速回答供参考,但问题似乎已经解决了。
如果旧的Installshield设置是MSI,您可以使用WiX工具包中的dark.exe
将“反汇编”MSI转换为WiX源代码(dark.exe
也可以反编译WiX setup.exe包 - 这里有一个有点凌乱的描述:How can I compare the content of two (or more) MSI files?)。
经过一些清理后,您可以将WiX源编译为新的WiX构建的MSI。清理成功需要一些知识和经验(消除GUI部分,添加WiX GUI,重新调整源路径,清理二进制流表等等...... - 不是微不足道的,但不是火箭科学:-)。
如果旧设置是旧版安装程序(不是MSI),则可以使用重新打包工具将其转换为MSI,以捕获安装期间对系统所做的更改并将其转换为MSI。清理这样的捕获需要很多知识。如果您了解产品,通常最好“手动”编写新设置。或者如果你在一家大公司,你可能会有一个“重新包装团队”可以在某个地方找到专业知识来为你完成这项工作。
是的,旧的设置可以作为新MSI的一部分卸载。
如果您发现旧的设置是MSI,您可以在新的WiX安装过程中使用主要升级来删除它。
如果旧版本是旧版设置,则可能会涉及更多内容,通常需要您“记录”对话框响应文件以提供给旧setup.exe文件的卸载程序功能。一点也不琐碎,而且非常容易出错。顺便提一下,MSI的主要优点之一就是完全可以抑制的GUI。
作为参考,这是一个旧答案,其中包含有关处理我们经常需要卸载和升级的臭名昭着的setup.exe
文件的信息:
How can I use powershell to run through an installer? setup.exe可以有很多不同的东西:Installshield设置,高级安装程序设置,Inno设置,自解压Zip-Archive,专有设置格式,列表继续...