无需重新编译,如何为Inno Setup的[Setup]段添加DisableProgramGroupPage=yes?
碰到8GB这种超大安装包,重新编译确实太折腾了——光是重新打包文件就要耗掉大把时间。下面给你两种不用全量编译,就能添加DisableProgramGroupPage=yes的实操方法:
方法1:用官方工具innounp快速修改脚本并复用原有文件
innounp是Inno Setup自带的解包工具,一般在你的Inno Setup安装目录里(比如C:\Program Files (x86)\Inno Setup\6\),步骤如下:
第一步:解包安装包的核心配置
打开命令提示符,切换到innounp所在文件夹,执行命令:innounp -x -y your_large_setup.exe这个命令会把安装包里的文件都解到当前目录,但你不用管那8GB的内容,我们只需要处理脚本相关的文件。
第二步:导出原始安装脚本
执行下面的命令,把安装包内嵌的原始脚本导出成可编辑的文件:innounp -s your_large_setup.exe > modified_setup.iss用记事本或任何文本编辑器打开
modified_setup.iss,找到[Setup]段,添加上DisableProgramGroupPage=yes这一行,保存修改。第三步:快速重新生成安装包(不重打包大文件)
这一步是关键——我们直接复用刚才解包出来的大文件,只重新生成安装程序的外壳。执行命令:iscc.exe modified_setup.iss /O"." /D"SourceDir=.\app"这里的
SourceDir要指向你解包出来的应用文件目录(一般是app文件夹),ISCC会直接用已有的文件,不用重新压缩打包,速度快到离谱。
方法2:用Resource Hacker直接修改EXE内嵌资源
如果不爱用命令行,图形化工具Resource Hacker也能搞定:
第一步:打开目标安装包
下载并启动Resource Hacker,点击File > Open选择你的8GB安装包EXE。第二步:导出脚本资源
在左侧的资源树里展开INNO类型,找到SETUP资源,右键选择Export Resource,把它保存成一个.bin文件。第三步:修改资源文件
用文本编辑器打开这个.bin文件,找到[Setup]段,添加DisableProgramGroupPage=yes,注意保持文件编码(一般是UTF-16LE),保存修改。第四步:替换资源并保存
回到Resource Hacker,右键点击INNO > SETUP,选择Replace Resource,选中你修改后的.bin文件点击Replace。最后点击File > Save,就能得到修改后的安装包了——这个过程只是替换了内嵌的脚本,完全不会碰那8GB的文件。
小提醒
- 操作前一定要备份原始安装包,避免手滑搞坏文件。
- 如果你的安装包之前做过数字签名,修改后需要重新签名,不然可能会被系统拦截提示不安全。
内容的提问来源于stack exchange,提问作者Tithen-Firion

