- 一、选项 -sfx 介绍
- 二、自释放安装模块
- 三、创建自释放档案(创建安装程序)
- (一)安装程序配置文件格式
- (二)配置文件示例
- 四、创建自释放档案示例
- (一)添加 *.txt 文件到自释放档案 a.exe 并使用默认的命令行自释放模块
- (二)添加所有文件到自释放档案 a.exe 并使用 7zC.sfx Windows 版本的自释放模块
选项 -sfx
用于创建自释放档案时指定自释放模块。可以和此选项结合使用的命令有:a (添加), d (删除), u (更新) 。
语法格式: -sfx[{SFX_Module}]
{SFX_Module}
指定将被添加到压缩档案的自释放(SFX)模块。然而被指定的模块必须和 7z.exe 文件在同一目录。如果 {SFX_Module}
未指定,7-Zip 将使用命令行自释放模块 7zCon.sfx。
除 7zC.sfx 之外,大多数的自释放模块都是未压缩的。 您可以使用 UPX 程序 (http://upx.sourceforge.net) 来压缩这些模块。在使用 UPX 程序压缩之后,自释放模块的大小将比压缩之前减小 40-50%。
自释放安装模块(7zS.sfx 和 7zSD.sfx)可让您创建软件的安装程序。这类模块将释放文件到一临时文件夹,然后运行指定的程序来进行安装。安装完后再自动删除临时文件。
三、创建自释放档案(创建安装程序)要创建自释放档案必须有三个文件:自释放模块、安装程序配置、7z 压缩档案。其中安装程序配置文件是可选的。您可以使用下列命令来创建安装程序:
copy /b 7zS.sfx + config.txt + archive.7z archive.exe
请注意上述文件的输入顺序:*.sfx
、*.txt
、*.7z
。最后的 archive.exe 即为生成的安装程序。选项 -y 可设置释放时是否为安静模式。
配置文件包括安装程序的命令行。文件要以字串 ;!@Install@!UTF-8!
开头,以 ;!@InstallEnd@!
结尾。且文件必须使用 UTF-8 编码。文件中还需包含下列变量(ID_String=“Value”):
%%T
则会把文件释放到系统的临时目录。
您可以省略上述任何一部分。
(二)配置文件示例;!@Install@!UTF-8!
Title="7-Zip 1.00"
BeginPrompt="应用程序将安装 7-Zip 1.00,是否继续?"
RunProgram="Setup.exe /T:%%T"
;!@InstallEnd@!
程序将以 BeginPrompt 中的信息提示用户,再执行 RunProgram 中的命令。然后程序将使用 .inf
文件的内容并调用压缩包中的 advpack.dll
文件进行安装。
7z a -sfx a.exe *.txt
(二)添加所有文件到自释放档案 a.exe 并使用 7zC.sfx Windows 版本的自释放模块
7z a -sfx7zC.sfx a.exe * -r