首页 文章

如何在Wix工具集中卸载非msi InstallShield设置

提问于
浏览
1

我有一个旧的安装程序,使用InstallShield 2015,它的非基于MSI(我尝试用7zip打开它,但不能 - >非基于MSI,我是对的吗?) . 通常,我需要停止使用InstallShield并迁移到Wix .

  • 是否有可能将InstallShield转换为Wix?

  • 使用Wix,我需要检测当前是否安装了以前的版本(InstallShield版本)并自动卸载它,然后继续正常的Wix进程 . 这样的事情可能吗?

谢谢 :-)

1 回答

  • 1

    我将添加一个快速回答供参考,尽管问题已经解决了 .

    • 如果旧Installshield的设置是一个MSI,您可以使用 dark.exe 从维克斯工具包“ disassemble ”的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 . 清理这样的捕获需要很多知识 . 如果您了解产品,通常最好“手动”编写新设置 . 或者,如果您在一家大公司,您可能会在某个地方拥有一个“重新包装团队”,他们将拥有为您完成此项工作的专业知识 .

    • Yes, old setups can be uninstalled as part of your new MSI .

    • 如果您发现旧的设置是MSI,您可以在新的WiX安装期间使用主要升级来删除它 .

    • 如果旧版本是遗留设置,则可能会涉及更多内容,通常需要您“记录”对话框响应文件以提供给旧setup.exe文件的卸载程序功能 . 一点也不琐碎,而且非常容易出错 . 顺便提一下,MSI的主要优点之一是可完全抑制的GUI .

    • 作为参考,在这里是一个古老的答案与对付臭名昭著 setup.exe 文件的信息,我们经常要卸载和升级: How can I use powershell to run through an installer? 的setup.exe可以是许多不同的事情:Installshield的安装,高级安装程序安装,Inno Setup的,自我提取Zip-Archive,一种专有的设置格式,列表继续...

相关问题