压缩与解压缩 与多个安装文件的合并问题
压缩与解压缩6—WinRAR 的基本使用
一个 SFX (SelF-eXtracting)自解压文件是压缩文件的一种,它结合了可执行文件模块,一种用以运行从压缩文件解压文件的模块。这样的压缩文件不需要外部程序来解压自解压文件的内容,它自己便可以运行该项操作。然而 WinRAR 仍然可将自解压文件当成是任何其它的压缩文件处理。所以如果你不愿意运行所收到的自解压文件 (比如说,它可能含有病毒时),你可以使用 WinRAR 来查看或是解压它的内容。
自解压文件通常与其它的可执行文件一样都有 .exe 的扩展名。
WinRAR SWinCon.SFX myarchive.rar
在 WinRAR 图形界面下,你可在菜单中选择你想要用的自解压模块,在当你运行“转换到自解压文件”命令时,它就会出现让你选择。
㈠、图形界面 RAR 和 ZIP 自解压模块(Default.SFX 和 Zip.SFX)
使用这两种模块你可以创建 GUI (图形模式) 自解压文件 的 32 位 Windows 版本(Windows 95,98,NT 等等 ),这些模块无法在 Windows 3.1 或 DOS 下运行。使用 Default.SFX 模块于 RAR 压缩文件 以及 Zip.SFX 给 ZIP 压缩文件。
在自解压模块包含的 Windows 资源是允许修改成你所需要的样子的。例如,你可以在起始对话框中显示你希望的位图。WinRAR 并不提供修改资源的工具或文档。这是个很复杂的过程,如果你要如此做,你必须有资源编辑器,并知道要怎样使用它们。但如果标准的自解压对话框即可满足你的话,你就不需要再修改资源了。
在自解压模块包含的 Windows 资源是允许修改成你所需要的样子的。例如,你可以在起始对话框中显示你希望的位图。WinRAR 并不提供修改资源的工具或文档。这是个很复杂的过程,如果你要如此做,你必须有资源编辑器,并知道要怎样使用它们。但如果标准的自解压对话框即可满足你的话,你就不需要再修改资源了。如果你仅仅要改变自解压的位图或图标,你可以使用高级自解压选项对话框中的“文本和图标”。
说明:WinRAR 默认创建的是 RAR 自解压文件,所以在“模块”中只能看到 RAR 自解压模块。如果要创建 ZIP 自解压文件,则需要在“压缩文件格式”中选择为 ZIP 。然后,在“模块”中就可以看到 ZIP 自解压模块了。
1,图形界面自解压模块: 命令行选项
选项 | 描述 |
-d<路径> | 设置解压文件的目标路径。 |
-p<密码> | 指定加密的自解压压缩文件的密码。 |
-s, -s1, -s2 |
缄默模式。开关 -s 是 -s1 的简明形式。-s 和 -s1 都隐藏 SFX 对话框和解压进程。-s2 隐藏启动对话框,但是显示解压进程。 |
-sp<par> | 定义传递给在 Setup 命令中指定的应用程序的参数。 |
2,图形界面自解压模块: 安装命令(自解压脚本命令)
Setup 命令命令 |
语法 |
叙述 |
Delete | Delete=<文件名> | 解压前先删除文件 |
License | License=<许可协议对话框标题 > | 显示程序的许可协议 |
Overwrite | Overwrite=[n] | 选择文件的覆盖模式 |
Path | Path | 设置默认目标路径 |
Presetup | Presetup=<程序> | 指定解压前运行的程序 |
SavePath | SavePath | 存储目标路径 |
Setup | Setup=<程序> | 指定解压后运行的程序 |
Shortcut | shortcut=<目标类型 >,<源名>,<目标文件夹 >,<描述>,<快捷方式名 > | 创建解压文件的快捷方式 |
Silent | Silent[=参数] | 跳过开始时的对话框 |
TempMode | TempMode=[问题叙述 ][@窗口标题文本 ] | 解压压缩文件到临时文件夹 |
Text | Text=<字符串> | 添加文本到自解压对话框文本窗口 |
Title | Title=<标题> | 设置自解压对话框标题 |
3,“高级自解压选项”对话框
对话框可通过从把压缩文件转换成自解压格式命令,然后单击“高级自解压选项”按钮启动。它允许指定一些自解压压缩文件的参数,如默认目标路径,窗口标题和文本。它会使用在 Windows 自解压模块专门主题所描述的自解压脚本命令,自动生成脚本。因此你不需要学习脚本语言和自己输入命令,只需要设置想要的选项即可。
请注意这些自解压参数仅能够应用在 Windows 图形界面模块,而不支持控制台或非 Windows 自解压程序。
此对话框的自解压参数被结合成一个子对话框,描述如下 :
⑴,自解压选项: 常规
解压路径
设置要解压文件的默认目标路径。你可以选择要将它创建在用户的“Program Files”文件夹,或当前文件夹,或在此指定一个绝对路径。前两种情况不需要包含驱动器号或前缀的“/”反斜线字符,而第三个则必须要有。
相应的 自解压脚本 命令 - Path
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 |
解压路径/保存并恢复路径
这个选项允许自解压程序在注册表中存储用户输入的目标路径,并在自解压文件下一次运行时恢复相同的解压路径。原来的路径值被放在输入目标路径区域的列表下拉菜单中,所以用户可以在以前输入的和原始路径中选择。
当安装新版本或更新一些软件到同样的目录时,这个功能可能很便利。它允许只改变一次目标路径,而不需要每次都输入。
这只可以用在非空的解压路径区域的组合框中。
相应的 SFX 脚本 命令 - SavePath
SavePath 这个命令允许自解压程序在注册表中存储用户输入的目标路径,并在自解压文件下一次运行时恢复相同的 Path。原来的 Path 命令内容被放在输入目标路径区域的列表下拉菜单中,所以用户可以在以前输入的和原始路径中选择。 当安装新版本或更新一些软件到同样的目录时,这个功能可能很便利。它允许只改变一次目标路径,而不需要每次都输入。 SavePath 命令只能和 Path 命令一起使用一次。 例子: Path=Calc 3.05 SavePath |
安装程序/解压后运行
自解压程序在成功解压之后,将试着运行指定的程序。含有解压文件的文件夹,在运行程序之前会被设为当前文件夹。如果程序名包含空格,则它必须使用引号。
相应的 自解压脚本 命令 - Setup
Setup=<程序> 在成功解压之后自解压将会试着运行 <程序>。在运行 <程序> 之前,包含已解压文件的文件夹将会设为当前文件夹 例子: Setup=setup.exe 注意 1) 如果你在使用自解压运行 InstallShield setup.exe 有问题的话,请试着运行 “Setup.exe /SMS”来代替简洁的“Setup.exe”。此开关允许自解压检测安装程序的退出。 2) 你可以使用 -sp<参数> 自解压命令行开关 传递可选的参数到 Setup=<程序> 命令指定的程序。 3) 自解压模块在启动安装程序前设置 sfxname 和 sfxcmd 环境变量。sfxname 变量包含自解压模块的名字,sfxcmd 变量包含自解压模块接收的完整命令行。所以安装程序可以在需要这样的信息时读取它。安装程序如果需要这些信息可以读取它们。 |
安装程序/解压前运行
在开始解压之前,自解压程序会试着运行指定的程序,在运行程序前,目标目录会被设为当前文件夹。如果程序名包含空格,则它必须使用引号。例如,当安装新版要覆盖旧版时,要删除旧版程序的时候,你便可以指定该命令。
相应的 自解压脚本 命令 - Presetup
Presetup=<程序> 自解压在解压之前将试着运行 <程序>,在运行 <程序> 之前必须先指定目标文件夹。你可以使用此命令,比如说,当安装新版本于旧版本上面时,用以删除先前的程序版本。如果程序名包含空格,它必须包含在引号之内。 例子: Presetup=uninstall.exe /clean |
保存当前设置当成默认值
保存所有在 “高级自解压选项”对话框 内所做的和当前的设置,并在以后每次创建 自解压 压缩文件时,以它们当作默认值。
⑵,自解压选项: 高级
-目标文件夹中要删除的文件
解压前,自解压程序会试着删除所指定的文件或在目标文件夹内的文件。你可以在此输入超过一个以上的文件,要如此做时,文件名之间必须以空格分隔。
如果在此指定的文件被锁定而无法删除,自解压模块在解压前会试着将它临时重命名,并在 Windows 重新启动时删除它,这能不能成功则取决于 Windows 版本的差异。
相应的 自解压脚本 命令 - Delete
Delete=<文件名> 在解压到目标文件夹之前删除指定的文件,允许数个 Delete 命令。 如果在此指定的文件被锁定而无法删除,自解压模块在解压前会试着将它临时重命名,并在 Windows 重新启动时删除它,这能不能成功则取决于 Windows 版本的差异。 例子: Delete=winrar95.exe Delete=rarlng.dll |
- 快捷方式
允许解压后为被压缩文件创建快捷方式。按下“添加快捷方式”按钮来描述一个新的快捷方式。已经输入的快捷方式参数被存储在和快捷方式脚本命令格式相同的列表下。如果你愿意的话,你可以手动编辑它。
相应的 自解压脚本 命令 - Shortcut
shortcut=<目标类型 >,<源名>,<目标文件夹 >,<描述>,<快捷方式名 > 为解压的文件常见一个快捷方式。 目标类型 是一个一个字符宽的区域,可以有下列值:
源名 是压缩文件名。 目标文件夹是创建快捷方式的文件夹,如果它不存在,它将被自解压文件创建。 描述 是描述快捷方式的字符串。 快捷方式名 是由自解压创建的 .lnk (快捷方式 )文件的文件名。 所有参数用逗号分隔。如果你需要添加逗号字符在参数内,镶入整个参数引用。如果你需要在字符串中插入一个引用标记,要输入两次引号。只有 目标类型和 源名是必需的,其它参数可选。 例子 在桌面创建在 WinRAR 文件夹中连接到 winrar.exe 的快捷方式,带有“WinRAR 可执行文件”的描述和“WinRAR 压缩文件管理器”的名称: Shortcut=D,winrar.exe,WinRAR,“WinRAR 可执行文件”,“WinRAR 压缩文件管理器” |
⑶,自解压选项: 模式
-临时模式/解压文件到临时文件夹
此选项强制自解压程序创建一个临时文件夹,然后将所有文件解压缩到这个文件夹中,开始运行在 安装程序/解压后运行 区域所指定的程序,并在 安装 程序完成后删除临时文件夹中的所有内容。当运行这些操作时,自解压程序会自动设置为缄默模式 (下面说明)。如果设置“解压压缩文件到临时文件夹”,你也可同时指定 安装 程序且不使用 解压路径 区域。你还可以设置两种可选的字符串参数,即定义问题和解压缩前显示问题的标题。此类型的例子下仅在用户选择“是”按钮时才会开始解压缩。
相应的 自解压脚本 命令 - TempMode
TempMode=[问题叙述 ][@窗口标题文本 ] 此命令强制自解压创建一个临时目录,将全部文件解压至此,然后开始运行 Setup 命令所指定的程序,并在完成 Setup 程序之后将临时目录中的内容全部清除。当运行这些操作时,自解压会自动设置为 缄默模式。如果 TempMode 命令存在的话,叙述中将有 Setup 命令且不得使用 path 命令。 TempMode 命令可以有字符串参数的选项,在解压之前可用以定义问题和问题的标题。这样的例子,仅在当用户选择了“是” 按钮时才会开始解压。 例子: a) TempMode b) TempMode=你希望继续安装 Calculator 3.05 吗? Calculator 安装程序 |
-缄默模式
默认自解压在开始解压缩前会先询问确认,并允许用户更改目标文件夹。如果你设置“缄默模式”的“隐藏启动时的对话框”,这时会跳过确认画面。如果你也希望隐藏解压缩过程的话,请选择“全部隐藏”。
相应的 自解压脚本 命令 - Silent
Silent[=参数] 开始解压时不显示开始对话框。 参数 可以是 1 或 2。如果 参数 是 1,开始解压对话框会完全隐藏,包含进程指示和文件名。如果 参数 被忽略或是 2,则跳过开始解压的确认,但用户仍然可以看到压缩文件的解压进程。 例子: Silent=2 |
-覆盖模式
在此你可以选择让自解压程序如何操作你已存在的文件 : 覆盖之前询问 (默认值 )、永远覆盖或永远跳过。
相应的 自解压脚本 命令 - Overwrite
Overwrite=[n] 如果[n]为 0,在覆盖文件之前用户将会被先询问。这是 覆盖命令的默认动作,可以不需要指定。如果 [n]不存在或是等于[1],文件将在没有确认的状况下全部覆盖。如果 [n]等于[2],所有已存在的文件将不会被覆盖。 例子: Overwrite=1 |
⑷,自解压选项: 文本和图标
-自解压窗口标题
设置指定的文本作为自解压窗口的标题。
相应的 自解压脚本 命令 - Title
Title=<标题> 设置自解压的窗口标题。 例子: Title==Calculator,版本 3.05 |
-自解压窗口显示的文本
添加在自解压模块的文本输出窗口中指定的纯文本或 HTML 字符串。
对于纯文本,为了使字符串和对话框匹配,自解压模块将合并和重新格式化指定的字符串。所以如果你希望重新生成一个新的段落,你需要在它前面放一个空的字符串。
你可以使用 HTML 来控制颜色,字体和显示的格式。 HTML 语法的描述可以在 The World Wide Web Consortium 站点找到。也可以使用网页编辑程序来产生 HTML 文本。
相应的 自解压脚本 命令 - Text
此命令支持两种语法版本: a) Text=<字符串> b) Text { 字符串 1 字符串 2 ... } 它在自解压模块的输出窗口添加指定纯文本或 HTML字符串。当自解压模块第一次遇到 Text 命令,在添加<字符串 >前,它重设这个窗口默认内容。其后的命令追加 <字符串>到已经存在的文本后。 依赖于使用的语法,这个命令可以一次添加一个或者数个字符串。 对于纯文本的过程中,为了使字符串和对话框匹配,自解压模块将合并和重新格式化指定的字符串。所以如果你希望重新产生一个新的段落,你需要在它前面放一个空的字符串。 你可以使用 HTML 来控制颜色,字体和显示的格式。 HTML 语法的描述可以在 The World Wide Web Consortium 站点找到。也可以使用网页编辑程序来产生 HTML 文本。 如果文本由数个字符串组成,自解压模块把‘ }’字符作为文本的结束标记,所以你在你的文本的字符串的首个位置不应该使用此字符。如果你需要在字符串的开头使用‘ }’字符,在它前面插入空格。 例子: a) 添加单个字符串到对话框窗口 Text=这是我的新程序 b) 添加指定文本到对话框窗口“Text { 此程序最有趣的特性是: - 支持 Windows 剪贴板; - 每一个处理的文件大小最大为 10KB; } |
从文件加载文本
加载选择文件的内容作为子解压窗口文本。
从文件加载自解压图片
指定位图图像 (*.bmp) 文件用于创建或更新自解压压缩文件。
- 从文件加载自解压文件图标
使用目标 .ico 文件替换默认的自解压文件包含的图标。这个文件必须至少包含一个 32x32 图标,16 或 256 色(或全有)图标。推荐不需要包含16x16图标。大小超过 32x32 和颜色数超过 256 色的图标仅被基于 NT 的 Windows (NT, 2000, XP, 2003 等)支持,Windows 95, 98 和 Me 不支持。如果你要使用大的图标大小和压缩深度,则你不能使用任何第三方可执行文件压缩程序压缩自解压模块。
⑸,自解压选项: 许可
- 许可窗口标题
设置指定的文本作为许可窗口标题。
-许可文本
当运行自解压文件时显示指定的作为软件许可协议的文本。用户可以接受它并继续解压或者拒绝它并退出。
许可文本可以包含 HTML 或纯文本格式。在以后的处理过程中,为了使字符串和对话框匹配,自解压模块将合并和重新格式化指定的字符串。所以如果你希望重新生成一个新的段落,你需要在它前面放一个空的字符串。
你可以使用 HTML 标签来控制颜色,字体和显示的格式。 HTML 语法的描述可以在 The World Wide Web Consortium 站点找到。也可以使用网页编辑程序来产生 HTML 文本。
相应的 自解压脚本 命令 - License
License=<许可协议对话框标题 > { 许可协议文本 1 许可协议文本 2 ... } 当运行自解压文件时显示指定的作为软件许可协议文本。用户既可以接受它并继续解压或者拒绝它并退出。 许可可以包含HTML 或者纯文本格式。在以后的处理过程中,为了使字符串和对话框匹配,自解压模块将合并和重新格式化指定的字符串。所以如果你希望重新产生一个新的段落,你需要在它前面放一个空的字符串。 你可以使用 HTML 来控制颜色,字体和显示的格式。 HTML 语法的描述可以在 The World Wide Web Consortium 站点找到。也可以使用网页编辑程序来产生 HTML 文本。 如果文本由数个字符串组成,自解压模块把‘ }’字符作为文本的结束标记,所以你在你的文本的字符串的首个位置不应该使用此字符。如果你需要在字符串的开头使用‘ }’字符,在它前面插入空格。 例子: License=最终用户许可协议书 { 所有版权于 RAR 均属于作者所专有。 此程序是共享软件,任何人在测试期限内均可以使用此软件。 在测试期限过后,你“必须”注册。 |
从文件加载文本
加载选择文件的内容作为许可文本。
⑹,自解压选项: 模块
允许选择 自解压 模块。 注意并不是所有的模块都支持高级自解压选项。它只被 图形界面 RAR 和 ZIP 模块( Default.SFX 和 Zip.SFX ) 支持,而不被 控制台 RAR 模块 ( WinCon.SFX ) 和 DOS RAR 自解压模块 ( Dos.SFX ) 支持。
4,把压缩文件转换成自解压格式
此命令使用于当 WinRAR 是用在文件管理和压缩文件管理模式时。它将会转换压缩文件成为自解压。如果你在压缩文件内部,你不需要选择任何要运行该命令的文件,只要使用工具菜单、工具栏上的“自解压文件”按钮或键盘快捷键 Alt+X 运行“把压缩文件转换成自解压格式”命令,并从列表中选择需要的自解压模块。如果你在文件管理模式浏览未被压缩的文件,首先选择要搜索来转换的文件和文件夹。
如果压缩已经是自解压文件,使用该命令可让你从压缩文件删除已存在的自解压压缩模块。这类例子时, WinRAR 不会改变原有的压缩文件,只创建内容相同,但没有自解压模块的新压缩文件。
如果你选定了 Windows 图形界面自解压模块,会有些推荐的默认值,你也可以单击“高级自解压选项”按钮设置例如默认目标路径、标题和窗口文本等的自解压参数设置。读取高级自解压选项主题可获得更多关于它们的信息。
举例如下:
选择安装程序(所有文件包括子文件夹),如
Setup.exe
Setup.msi
dotnetfx/dotnetfx.exe
......
右键,(WinRAR的)添加到压缩文件
在常规里,选择 创建自解压格式压缩文件
然后再注释 选项卡里, 添加如下内容
Title=安装程序,版本 3.05
License=最终用户许可协议书
{
所有版权于 RAR 均属于作者所专有。
此程序是共享软件,任何人在测试期限内均可以使用此软件。
在测试期限过后,你“必须”注册。
}
'预安装,可以执行一些清理工作
'Presetup=setup.exe
'安装程序
Setup=setup.exe
'设置这个后将看不到解压缩画面
'Silent=2
'指定自动解压到临时文件夹
TempMode
'TempMode=你希望继续安装 Calculator 3.05 吗? Calculator 安装程序
之后,压缩就可以了,
你可以双击那个EXE试试,就可以看到自动安装了
楼主,可以把那个注释内容修改一下,然后保存成一个文件,留着备用
另外,楼主也可以试着做成批处理文件
rar.exe a 文件名 -m0 -o+ -sfx -z注释文件 -r
把这个 语句 放到生成的文件下运行,就可以了自动生成了
压缩与解压缩 与多个安装文件的合并问题相关推荐
- java文件压缩与解压缩
文件压缩与解压缩 在Java中,文件的压缩与解压缩,主要依赖三个类来完成,ZipInputStream.ZipOutputStream.ZipEntry import java.io.*; impor ...
- Linux中压缩、解压缩(tar/zip/bzip2/gz/gzip/zip)
源码包一般都是以压缩形式存储的,所以,在获得软件包之后,要进行解压缩. 压缩包也有两种形式,一种是tar.gz包(.tgz包也是这种),一种是tar.bz2包. tar.gz包的解压方法:tar ...
- php如何解压 .bz2文件,Linux_备份压缩--bzip2,功能说明:.bz2文件的压缩程序 - phpStudy...
备份压缩--bzip2 功能说明:.bz2文件的压缩程序. 语 法:bzip2 [-cdfhkLstvVz][--repetitive-best][--repetitive-fast][- 压缩等级] ...
- linux的文件压缩与解压缩,linux(文件压缩与解压缩)
压缩解压 linux下怎么解后缀名是gzip的文件? 1.以.a为扩展名的文件: #tar xv file.a 2.以.z为扩展名的文件: #uncompress file.Z 3.以.gz为扩展名的 ...
- sudo mysql压缩备份解压操作_高效管理文件之压缩及解压缩 .bz2 文件
对文件进行压缩,可以通过使用较少的字节对文件中的数据进行编码来显著地减小文件的大小,并且在跨网络的文件的备份和传送时很有用. 另一方面,解压文件意味着将文件中的数据恢复到初始状态.Linux 中有几个 ...
- Linux的文件压缩与解压缩
文章目录 1.tar 1.1 tar命令详解 1.2压缩 1.3查看 1.4解压 2.zip 2.1.zip压缩 2.2.unzip解压缩 3rar 3.1.下载安装rarlinux 3.2.压缩文件 ...
- _如何在各种Linux发行版中安装zip压缩与解压缩程序
请关注本头条号,每天坚持更新原创干货技术文章. 如需学习视频,请在微信搜索公众号"智传网优"直接开始自助视频学习 1. 前言 本文主要讲解如何在Linux系统上安装zip压缩与解压 ...
- Linux分卷压缩zip文件命令,Linux分卷压缩与解压缩
Linux分卷压缩与解压缩 1.rar rar a -m5 -v12m myarchive myfiles # 最大限制为 12M rar e myarchive.part1.rar #解压 分卷压缩 ...
- 如何把一个文件压缩成几个固定大小的文件及解压缩
简述: 本文简单介绍了WinRAR如何把一个文件压缩成几个固定大小的文件以及如何解压这几个文件. 1.压缩 1 > 鼠标选中待压缩文件-右键-添加到压缩文件. 2 > 在弹出的" ...
最新文章
- 铅笔线的阻抗有多大?
- VC对话框最小化到托盘
- Day 3: Flask —— 使用Python和OpenShift进行即时Web开发
- miui11禁止更新方法
- UITableViewController
- swagger-bootstrap-ui 1.9.3 发布,i18n及自定义文档支持
- 【局部敏感度的问题代码实现】差分隐私代码实现系列(八)
- HDU 5752 Sqrt Bo【枚举,大水题】
- 依赖注入(Dependency Injection)框架是如何实现的?
- PlayMaker 不支持过渡条件
- linux socket 模式,pythonsockets:如何在linux中启用混杂模式
- JAVA→异常、异常类体系结构、try→catch→finally处理异常、throw new Exception(“重构异常“);、throws Exception{ }、自定义异常
- 更多编译器对C++11的支持比较
- webmax的剪切面和正对相机设置 图例
- 要做飞思卡尔智能车要学哪些知识?
- pmu2008终端服务器,基于PMU的电网实时监测系统主站设计
- 解决使用css元素放大动画导致的文字抖动模糊问题
- android 备份 通信录,如何简单备份手机通讯录?
- 红豆 2022年3月16日
- android安卓远程协助控制电脑PC端
热门文章
- 用ghost备份和还原Linux系统(一)
- centos 安装mysql5.7
- kafka 的pom文件_Flink的sink实战之二:kafka
- jsp获取连接池的实时连接数_数据库连接池原理分析及模拟实现
- vue可编辑div_Vue实现MakeDown编辑器
- html form中多个div,在react里最多只能有几个div
- 练习题︱基于今日头条开源数据(二)——两款Apriori算法实践
- R学习笔记(4): 使用外部数据
- tensorflow一步一步实现一个线性回归预测模型
- 关于搭建wiki镜像和数据库的一些东西