图形界面 RAR 和 ZIP 自解压模块(Default.SFX 和 Zip.SFX)
使用这两种模块你可以创建 GUI (图形模式) 自解压文件 的 32 位 Windows 版本(Windows 95
,98,NT 等等),这些模块无法在 Windows 3.1 或 DOS 下运行。
使用 Default.SFX 模块于 RAR 压缩文件 以及 Zip.SFX 给 ZIP 压缩文件。
这些模块均支持简易的 Setup 命令,你可以将 Setup 命令叙述添加到自解压 压缩文件注释
中。下面是 Setup 命令的叙述,在命令上单击可获得详细描述。
Delete 解压前先删除文件
License 显示程序的许可协议
Overwrite 选择文件的覆盖模式
Path 设置默认目标路径
Presetup 指定解压前运行的程序
SavePath 存储目标路径
Setup 指定解压后运行的程序
Shortcut 创建解压文件的快捷方式
Silent 跳过开始时的对话框
TempMode 解压压缩文件到临时文件夹
Text 添加文本到自解压对话框文本窗口
Title 设置自解压对话框标题
这里你可以查看 完整安装脚本的简易示例。
注意
在自解压模块包含的 Windows 资源是允许修改成你所需要的样子的。例如,你可以在起始对话框中显示你希望的位图。自解压模块已经使用 UPX 工具压缩过,并且在编辑资源后它们是无法运行的,因此未压缩过的自解压模块在 [url]http://www.rarlab.com[/url] 的压缩文件 UnpSFX.rar
里。
WinRAR 并不提供修改资源的工具或是文件,如果你要如此做的时候,你必须有资源编辑器,并知道要如何使用它们来工作。但如果标准的自解压对话框即可满足你的话,你就不需要再修改资源了。
Delete=<文件名>
在解压到目标文件夹之前删除指定的文件,允许数个 Delete 命令。
如果在此指定的文件被锁定而无法删除,自解压模块在解压前会试着将它临时重命名,并在 Windows 重新启动时删除它,这能不能成功则取决于 Windows 版本的差异。
示例:
Delete=winrar95.exe
Delete=rarlng.dll
当运行自解压文件时显示指定的作为软件许可协议文本。用户既可以接受它并继续解压或者拒绝它并退出。
许可可以包含HTML 或者纯文本格式。在以后的处理过程中,为了使字符串和对话框匹配,自解压模块将合并和重新格式化指定的字符串。所以如果你希望重新产生一个新的段落,你需要在它前面放一个空的字符串。
你可以使用 HTML 来控制颜色,字体和显示的格式。HTML 语法的描述可以在 The World Wide Web Consortium 站点找到。也可以使用网页编辑程序来产生 HTML 文本。
示例:
License=最终用户许可协议书
{
所有版权于 RAR 均属于作者所专有。
此程序是共享软件,任何人在测试期限内均可以使用此软件。
在测试期限过后,你“必须”注册。
}
Overwrite=[n]
如果[n]为 0,在覆盖文件之前用户将会被先询问。这是 覆盖 命令的默认动作,可以不需要指定。如果[n]不存在或是等于[1],文件将在没有确认的状况下全部覆盖。如果[n]等于[2],所有已存在的文件将不会被覆盖。
示例:
Overwrite=1
Path=<路径>
设置默认的目标路径。路径的绝对使用起始点在不更改的情况下为<驱动器号>:,如果 <路径>
只包含了名称,它将会被附加到“Program Files”文件夹下,如果你希望关闭如此的作用,请从“.\
”字符开始定义起始 <路径>。
示例:
a) 设置“Calc 3.05 beta”为文件夹名,位置在“Program Files”下,当成默认路径:
Path=Calc 3.05 beta
b) 设置“C:\Calc”当作默认路径:
Path=C:\Calc
c) 设置“Calc”在根目录下当作默认路径:
Path=.\Calc
Presetup=<程序>
自解压在解压之前将试着运行 <程序>,在运行 <程序> 之前必须先指定目标文件夹。你可以使用此命令,比如说,当安装新版本于旧版本上面时,用以删除先前的程序版本。如果程序名包含空格,它必须包含在引号之内。
示例:
Presetup=uninstall.exe /clean
SavePath
这个命令允许自解压程序在注册表中存储用户输入的目标路径,并在自解压文件下一次运行时恢复相同的 Path。原来的 Path 命令内容被放在输入目标路径区域的列表下拉菜单中,所以用户可以在以前输入的和原始路径中选择。
当安装新版本或更新一些软件到同样的目录时,这个功能可能很便利。它允许只改变一次目标路径,而不需要每次都输入。
SavePath 命令只能和 Path 命令一起使用一次。
示例:
Path=Calc 3.05
SavePath
Setup=<程序>
在成功解压之后自解压将会试着运行 <程序>。在运行 <程序> 之前,包含已解压文件的文件夹将会设为当前文件夹
示例:
Setup=setup.exe
注意
1) 如果你在使用自解压运行 InstallShield setup.exe 有问题的话,请试着运行 “setup.exe /SMS”
来代替简洁的 “setup.exe”。此开关允许自解压检测安装程序的退出。
2) 全部在自解压命令行所指定的参数都会从 Setup=<程序> 命令提交给程序,自解压它自己则只认得 -s 开关,也就是强制缄默安装模式而不显示开始对话框。
3) 自解压模块在启动安装程序前设置 sfxname 环境变量。这个变量包含自解压模块的名字,所以安装程序可以在需要这样的信息时读取它。
shortcut=<目标类型>,<源名>,<目标文件夹>,<描述>,<快捷方式名>
为解压的文件常见一个快捷方式。
目标类型 是一个一个字符宽的区域,可以有下列值:
D 在桌面创建快捷方式
S 在开始菜单创建快捷方式
P 在开始菜单/程序中创建快捷方式
T 在启动菜单中创建快捷方式
源名 是压缩文件名。
目标文件夹 是创建快捷方式的文件夹,如果它不存在,它将被自解压文件创建。
描述 是描述快捷方式的字符串。
快捷方式名是由自解压创建的 .lnk(快捷方式)文件的文件名。
所有参数用逗号分隔。如果你需要添加逗号字符在参数内,镶入整个参数引用。如果你需要在字符串中插入一个引用标记,要输入两次引号。只有 目标类型 和 源名 是必需的,其它参数可眩
例子
在桌面创建在 WinRAR 文件夹中连接到 winrar.exe 的快捷方式,带有“WinRAR 可执行文件”的描述和“WinRAR 压缩文件管理器”的名称:
Shortcut=D,winrar.exe,WinRAR,“WinRAR 可执行文件”,“WinRAR 压缩文件管理器”
Silent[=参数]
开始解压时不显示开始对话框。
参数 可以是 1 或 2。如果 参数 是 1,开始解压对话框会完全隐藏,包含进程指示和文件名。如果
参数 是 2,则跳过开始解压的确认,但用户仍然可以看到压缩文件的解压进程。
示例:
Silent=2
TempMode=[问题叙述][@窗口标题文本]
此命令强制自解压创建一个临时目录,将全部文件解压至此,然后开始运行 Setup 命令所指定的程序,并在完成 Setup 程序之后将临时目录中的内容全部清除。当运行这些操作时,自解压会自动设置为 缄默模式。如果 TempMode 命令存在的话,叙述中将有 Setup 命令且不得使用 path 命令。
TempMode 命令可以有字符串参数的选项,在解压之前可用以定义问题和问题的标题。这样的例子,仅在当用户选择了“是” 按钮时才会开始解压。
示例:
a) TempMode
b) TempMode=你希望继续安装 Calculator 3.05 吗?, Calculator 安装程序
此命令支持两种语法版本:
a)
Text=<字符串>
b)
Text
{
字符串 1
字符串 2
...
}
它在自解压模块的输出窗口添加指定纯文本或HTML字符串。当自解压模块第一次遇到 Text 命令,在添加<字符串>前,它重设这个窗口默认内容。其后的命令追加<字符串>到已经存在的文本后。
依赖于使用的语法,这个命令可以一次添加一个或者数个字符串。
对于纯文本的过程中,为了使字符串和对话框匹配,自解压模块将合并和重新格式化指定的字符串。所以如果你希望重新产生一个新的段落,你需要在它前面放一个空的字符串。
你可以使用 HTML 来控制颜色,字体和显示的格式。HTML 语法的描述可以在 The World Wide Web Consortium 站点找到。也可以使用网页编辑程序来产生 HTML 文本。
示例:
a) 添加单个字符串到对话框窗口
Text=这是我的新程序
b) 添加指定文本到对话框窗口“Text
{
此程序最有趣的特性是:
- 支持 Windows 剪贴板;
- 每一个处理的文件大小最大为 10KB;
}
Title=<标题>
设置自解压的窗口标题。
示例:
Title==Calculator,版本 3.05
自解压命令: 脚本范例
下面脚本设置对话框标题为“Calculator 3.05”,更改对话框的显示文本,设置默认的解压路路径为“Program Files\Calculator”,启用覆盖现有文件并在解压所有文件后运行 Setup.exe。
Title=Calculator 3.05
Text
{
Calculator 是共享软件,任何人都可在 40 天
的评估试用期间内使用此软件。
在超过测试期限之后,如果你希望继续使用
Calculator 的话,你“必须”注册。
}
Path=Calculator
Overwrite=1
Setup=setup.exe
使用这两种模块你可以创建 GUI (图形模式) 自解压文件 的 32 位 Windows 版本(Windows 95
,98,NT 等等),这些模块无法在 Windows 3.1 或 DOS 下运行。
使用 Default.SFX 模块于 RAR 压缩文件 以及 Zip.SFX 给 ZIP 压缩文件。
这些模块均支持简易的 Setup 命令,你可以将 Setup 命令叙述添加到自解压 压缩文件注释
中。下面是 Setup 命令的叙述,在命令上单击可获得详细描述。
Delete 解压前先删除文件
License 显示程序的许可协议
Overwrite 选择文件的覆盖模式
Path 设置默认目标路径
Presetup 指定解压前运行的程序
SavePath 存储目标路径
Setup 指定解压后运行的程序
Shortcut 创建解压文件的快捷方式
Silent 跳过开始时的对话框
TempMode 解压压缩文件到临时文件夹
Text 添加文本到自解压对话框文本窗口
Title 设置自解压对话框标题
这里你可以查看 完整安装脚本的简易示例。
注意
在自解压模块包含的 Windows 资源是允许修改成你所需要的样子的。例如,你可以在起始对话框中显示你希望的位图。自解压模块已经使用 UPX 工具压缩过,并且在编辑资源后它们是无法运行的,因此未压缩过的自解压模块在 [url]http://www.rarlab.com[/url] 的压缩文件 UnpSFX.rar
里。
WinRAR 并不提供修改资源的工具或是文件,如果你要如此做的时候,你必须有资源编辑器,并知道要如何使用它们来工作。但如果标准的自解压对话框即可满足你的话,你就不需要再修改资源了。
Delete=<文件名>
在解压到目标文件夹之前删除指定的文件,允许数个 Delete 命令。
如果在此指定的文件被锁定而无法删除,自解压模块在解压前会试着将它临时重命名,并在 Windows 重新启动时删除它,这能不能成功则取决于 Windows 版本的差异。
示例:
Delete=winrar95.exe
Delete=rarlng.dll
当运行自解压文件时显示指定的作为软件许可协议文本。用户既可以接受它并继续解压或者拒绝它并退出。
许可可以包含HTML 或者纯文本格式。在以后的处理过程中,为了使字符串和对话框匹配,自解压模块将合并和重新格式化指定的字符串。所以如果你希望重新产生一个新的段落,你需要在它前面放一个空的字符串。
你可以使用 HTML 来控制颜色,字体和显示的格式。HTML 语法的描述可以在 The World Wide Web Consortium 站点找到。也可以使用网页编辑程序来产生 HTML 文本。
示例:
License=最终用户许可协议书
{
所有版权于 RAR 均属于作者所专有。
此程序是共享软件,任何人在测试期限内均可以使用此软件。
在测试期限过后,你“必须”注册。
}
Overwrite=[n]
如果[n]为 0,在覆盖文件之前用户将会被先询问。这是 覆盖 命令的默认动作,可以不需要指定。如果[n]不存在或是等于[1],文件将在没有确认的状况下全部覆盖。如果[n]等于[2],所有已存在的文件将不会被覆盖。
示例:
Overwrite=1
Path=<路径>
设置默认的目标路径。路径的绝对使用起始点在不更改的情况下为<驱动器号>:,如果 <路径>
只包含了名称,它将会被附加到“Program Files”文件夹下,如果你希望关闭如此的作用,请从“.\
”字符开始定义起始 <路径>。
示例:
a) 设置“Calc 3.05 beta”为文件夹名,位置在“Program Files”下,当成默认路径:
Path=Calc 3.05 beta
b) 设置“C:\Calc”当作默认路径:
Path=C:\Calc
c) 设置“Calc”在根目录下当作默认路径:
Path=.\Calc
Presetup=<程序>
自解压在解压之前将试着运行 <程序>,在运行 <程序> 之前必须先指定目标文件夹。你可以使用此命令,比如说,当安装新版本于旧版本上面时,用以删除先前的程序版本。如果程序名包含空格,它必须包含在引号之内。
示例:
Presetup=uninstall.exe /clean
SavePath
这个命令允许自解压程序在注册表中存储用户输入的目标路径,并在自解压文件下一次运行时恢复相同的 Path。原来的 Path 命令内容被放在输入目标路径区域的列表下拉菜单中,所以用户可以在以前输入的和原始路径中选择。
当安装新版本或更新一些软件到同样的目录时,这个功能可能很便利。它允许只改变一次目标路径,而不需要每次都输入。
SavePath 命令只能和 Path 命令一起使用一次。
示例:
Path=Calc 3.05
SavePath
Setup=<程序>
在成功解压之后自解压将会试着运行 <程序>。在运行 <程序> 之前,包含已解压文件的文件夹将会设为当前文件夹
示例:
Setup=setup.exe
注意
1) 如果你在使用自解压运行 InstallShield setup.exe 有问题的话,请试着运行 “setup.exe /SMS”
来代替简洁的 “setup.exe”。此开关允许自解压检测安装程序的退出。
2) 全部在自解压命令行所指定的参数都会从 Setup=<程序> 命令提交给程序,自解压它自己则只认得 -s 开关,也就是强制缄默安装模式而不显示开始对话框。
3) 自解压模块在启动安装程序前设置 sfxname 环境变量。这个变量包含自解压模块的名字,所以安装程序可以在需要这样的信息时读取它。
shortcut=<目标类型>,<源名>,<目标文件夹>,<描述>,<快捷方式名>
为解压的文件常见一个快捷方式。
目标类型 是一个一个字符宽的区域,可以有下列值:
D 在桌面创建快捷方式
S 在开始菜单创建快捷方式
P 在开始菜单/程序中创建快捷方式
T 在启动菜单中创建快捷方式
源名 是压缩文件名。
目标文件夹 是创建快捷方式的文件夹,如果它不存在,它将被自解压文件创建。
描述 是描述快捷方式的字符串。
快捷方式名是由自解压创建的 .lnk(快捷方式)文件的文件名。
所有参数用逗号分隔。如果你需要添加逗号字符在参数内,镶入整个参数引用。如果你需要在字符串中插入一个引用标记,要输入两次引号。只有 目标类型 和 源名 是必需的,其它参数可眩
例子
在桌面创建在 WinRAR 文件夹中连接到 winrar.exe 的快捷方式,带有“WinRAR 可执行文件”的描述和“WinRAR 压缩文件管理器”的名称:
Shortcut=D,winrar.exe,WinRAR,“WinRAR 可执行文件”,“WinRAR 压缩文件管理器”
Silent[=参数]
开始解压时不显示开始对话框。
参数 可以是 1 或 2。如果 参数 是 1,开始解压对话框会完全隐藏,包含进程指示和文件名。如果
参数 是 2,则跳过开始解压的确认,但用户仍然可以看到压缩文件的解压进程。
示例:
Silent=2
TempMode=[问题叙述][@窗口标题文本]
此命令强制自解压创建一个临时目录,将全部文件解压至此,然后开始运行 Setup 命令所指定的程序,并在完成 Setup 程序之后将临时目录中的内容全部清除。当运行这些操作时,自解压会自动设置为 缄默模式。如果 TempMode 命令存在的话,叙述中将有 Setup 命令且不得使用 path 命令。
TempMode 命令可以有字符串参数的选项,在解压之前可用以定义问题和问题的标题。这样的例子,仅在当用户选择了“是” 按钮时才会开始解压。
示例:
a) TempMode
b) TempMode=你希望继续安装 Calculator 3.05 吗?, Calculator 安装程序
此命令支持两种语法版本:
a)
Text=<字符串>
b)
Text
{
字符串 1
字符串 2
...
}
它在自解压模块的输出窗口添加指定纯文本或HTML字符串。当自解压模块第一次遇到 Text 命令,在添加<字符串>前,它重设这个窗口默认内容。其后的命令追加<字符串>到已经存在的文本后。
依赖于使用的语法,这个命令可以一次添加一个或者数个字符串。
对于纯文本的过程中,为了使字符串和对话框匹配,自解压模块将合并和重新格式化指定的字符串。所以如果你希望重新产生一个新的段落,你需要在它前面放一个空的字符串。
你可以使用 HTML 来控制颜色,字体和显示的格式。HTML 语法的描述可以在 The World Wide Web Consortium 站点找到。也可以使用网页编辑程序来产生 HTML 文本。
示例:
a) 添加单个字符串到对话框窗口
Text=这是我的新程序
b) 添加指定文本到对话框窗口“Text
{
此程序最有趣的特性是:
- 支持 Windows 剪贴板;
- 每一个处理的文件大小最大为 10KB;
}
Title=<标题>
设置自解压的窗口标题。
示例:
Title==Calculator,版本 3.05
自解压命令: 脚本范例
下面脚本设置对话框标题为“Calculator 3.05”,更改对话框的显示文本,设置默认的解压路路径为“Program Files\Calculator”,启用覆盖现有文件并在解压所有文件后运行 Setup.exe。
Title=Calculator 3.05
Text
{
Calculator 是共享软件,任何人都可在 40 天
的评估试用期间内使用此软件。
在超过测试期限之后,如果你希望继续使用
Calculator 的话,你“必须”注册。
}
Path=Calculator
Overwrite=1
Setup=setup.exe