使用7-zip制作自解压安装包

时间:2022-11-15 05:42:42

7-zip制作自解压包很方便,只要在压缩时选择”创建自释放程序”选项。

而自解压安装包有点麻烦,不如WinRAR方便。

准备工具:
下载 LZMA SDK 这里面有 7zSD.sfx  (16.04版7zS2.sfx在Win7中不弹出对话框,下载9.20版7zS.sfx与16.04版7zSD.sfx)。
下载 ResourceHacker 用于修改 图标与属性
已经压缩好的7Z文件
制作UTF-8无BOM的config.txt文件

自解压模板说明
SFX_Module    Description
7z.sfx        Windows version.
7zCon.sfx    Console version.
7zS.sfx        Windows version for installers.
7zSD.sfx    Windows version for installers (uses MSVCRT.dll).

config.txt说明
首行    ;!@Install@!UTF-8!
未行    ;!@InstallEnd@!.

ID_String="Value"

ID_String   Description
Title      对话框标题
BeginPrompt   对话框提示
Progress   对话框按钮,可以是"yes" or "no",默认为"yes"
RunProgram   7z文件内可执行文件名,默认为"setup.exe"。%%T 可替代临时解压路径。
Directory   "RunProgram"的路径,默认为".\\"
ExecuteFile   7z文件内或Windows系统中可执行文件名
ExecuteParameters   "ExecuteFile" 的参数。

三个官方范例
;!@Install@!UTF-8!
Title="7-Zip 4.00"
BeginPrompt="Do you want to install the 7-Zip 4.00?"
RunProgram="setup.exe"
;!@InstallEnd@!

;!@Install@!UTF-8!
Title="7-Zip 4.00"
BeginPrompt="Do you want to install the 7-Zip 4.00?"
ExecuteFile="7zip.msi"
;!@InstallEnd@!

;!@Install@!UTF-8!
Title="7-Zip 4.01 Update"
BeginPrompt="Do you want to install the 7-Zip 4.01 Update?"
ExecuteFile="msiexec.exe"
ExecuteParameters="/i 7zip.msi REINSTALL=ALL REINSTALLMODE=vomus"
;!@InstallEnd@!

生成安装包:copy /b 7zS.sfx+config.txt+archive.7z archive.exe

二个制作安装包的工具,各有特点。
7z SFX Builder 2.1
7-Zip SFX Maker 3.3 [ResourceHacker 改名 ResHacker.exe 后放入]