lei*_*ren 22 installer installshield
我试图提取InstallShield setup.exe文件的文件内容.(我的计划是在后台工具中使用它,因此必须以编程方式完成,而无需任何用户交互.)
这可能吗?
(初步研究似乎表明它会失败.)
如果可以使用通用解决方案,那么最适合所有最新版本的InstallShield.
否则,如果解决方案仅适用于某些版本的InstallShield,那么这将是一个步骤.(setup.exe通过查看exe文件的版本资源,可能会推断出哪个InstallShield版本是a .
我发现一些InstallShield版本支持/b 或/extract_all.然而,没有好的方法可以知道,只需启动exe并希望它将有序地提取和终止,而不是显示GUI对话框似乎不是一个好的解决方案.因此,我正在寻找一种更稳定的方式.
想法欢迎.
Mic*_*man 35
没有支持的方法可以执行此操作,但是您不必检查与每个安装程序相关的文件,以确定如何在提取它们之后实际安装它们吗?假设您可以花时间确定应用哪个命令行,这里有一些通常允许您提取安装的候选参数.
基于MSI(可能不会导致InstallScript MSI安装的可用映像):
setup.exe /a /s /v"/qn TARGETDIR=\"choose-a-location\""
或者,还提取先决条件(对于其工作的版本),
setup.exe /a"choose-another-location" /s /v"/qn TARGETDIR=\"choose-a-location\""基于InstallScript:
setup.exe /s /extract_all基于套件(可能不明显如何安装生成的文件):
setup.exe /silent /stage_only ISRootStagePath="choose-a-location"Mot*_*tes 11
http://www.compdigitec.com/labs/files/isxunpack.exe
用法:isxunpack.exe yourinstallshield.exe
它将在同一文件夹中提取.
在Linux上有unshield,它对我来说效果很好(即使GUI包含自定义的威慑力量,如许可证密钥提示)。它包含在所有主要发行版(基于arch,suse,基于debian和fedora的版本)的存储库中,其来源可从https://github.com/twogood/unshield获得。