如何创建自解压档案
创建自解压压缩文件。 SFX 模块
指定将合并到压缩文件中的 SFX 模块,该模块必须与 7z.exe 位于同一目录中。如果未指定 SFX 模块 ,7-Zip 将使用默认的命令行 SFX 模块 7zCon.sfx 。 SFX_模块 7z.sfx 7zS.sfx 7zSD.sfx
窗口界面版本。
用于安装程序的窗口版本。
用于安装程序的窗口版本 (需要 MSVCRT.dll)。
7zCon.sfx 命令行版本。
说明
所有的 SFX 模块都未被压缩,您可以使用 UPX 程序 (http://upx.sourceforge.net) 来压缩它们。经 UPX 压缩后,它们的体积能减少为原来的40-50% 。 用于安装程序的 SFX 模块
用于安装程序的 SFX 模块 (7zS.sfx 和 7zSD.sfx) 在另外的压缩包 (7z_extra) 中,您可以从 www.7-zip.org 下载,并使用它们创建您自己的安装程序。这些 SFX 模块在运行时先解压档案到用户的临时文件夹中,再运行指定的程序,并程序关闭后删除提取的临时文件。创建一个自解压安装程序必须包含三部分文件:SFX_模块、配置文件、7z_压缩文件,也就是可以使用一个配置文件 安装配置。您可以使用下面的命令来创建一个自解压安装程序:
copy /b 7zS.sfx + config.txt + archive.7z archive.exe
copy /b 7zS.sfx + config.txt + \压缩文件.7z\自解压程序.exe\(译者注:如果文件名中包含空格,则必须用英文双引号(\将文件名包括 )
如果安装所需文件在添加到 7z 压缩文件之前未被压缩,则可以进一步减少安装程序的体积。 指定 -y 开关将使用安静模式解压文件。 配置文件 格式
该配置文件包含了安装程序的相关命令,文件以字串 ;!@Install@!UTF-8! 开头,并
以 ;!@InstallEnd@! 字串结尾,文件必须为 UTF-8 编码格式。文件可包含下列字串的部分或全部:
ID_String=\
ID_字串 Title
BeginPrompt Progress RunProgram Directory ExecuteFile
消息标题 开始提示信息
值可以为 yes 或 no ,默认值是 yes 。
设置要运行的程序,默认为 setup.exe 。 当指定的路径为存放提取文件的临时文件夹时,子字串 %%T 会被代替。 RunProgram 的路径前缀,默认为 .\\\\ 。 设置要打开的文档名称。
说明
ExecuteParameters ExecuteFile 的附带参数。 您可以忽略其中的任何部分。
共有两种方法来运行一个安装程序:RunProgram 与 ExecuteFile 。如果您想运行档案 .7z 中的某个程序,用 RunProgram ;若您想打开档案 .7z 中的某个文档,或者执行一个 Windows 系统命令,则用 ExecuteFile 。
如果您用的是 RunProgram ,且指定空路径前缀:Directory=\,系统将按照下列顺序依次搜索指定的应用程序(exe)名:
1. 加载的(安装)程序所在的目录。 2. 提取文件所在的临时文件夹。 3. Windows 系统目录。
配置文件样例
;!@Install@!UTF-8!
Title=\自解压文件\
BeginPrompt=\即将执行 7-Zip 自解压文件,是否继续?\RunProgram=\;!@InstallEnd@!
;!@Install@!UTF-8!
Title=\自解压文件\
BeginPrompt=\即将执行 7-Zip 自解压文件,是否继续?\ExecuteFile=\;!@InstallEnd@!
;!@Install@!UTF-8!
Title=\自解压文件\
BeginPrompt=\即将执行 7-Zip 自解压文件,是否继续?\ExecuteFile=\
ExecuteParameters=\;!@InstallEnd@! 样例
7z a -sfx a.exe *.txt
添加所有 *.txt 文件到自解压档案 a.exe 中,使用默认的命令行 SFX 模块。
7z a -sfx7z.sfx a.exe *
添加所有文件到自解压档案 a.exe 中,使用窗口界面版本的 SFX 模块 7z.sfx 。
创建7-zip 自解压档案 详细说明
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)