找回密码
 加入
搜索
查看: 40974|回复: 106

[原创] 使用RAR做程序打包发布

 火... [复制链接]
发表于 2009-7-6 12:55:10 | 显示全部楼层 |阅读模式
本帖最后由 行者靖 于 2009-7-23 14:01 编辑

autoit做的程序一般都以绿色软件发布,但是对电脑新手来说,最好打包后发布给用户使用更傻瓜些,使用安装制作程序比较麻烦,使用rar的命令行生成自解压文件,自解压文件运行时自动解压出文件,并在解压后自动运行指定的程序,是制作自动安装程序的首选。
     一直在论坛找资料,也拿出点东西供大家分享,觉得有用就拿去看看,觉得没技术含量的直接跳过。嘴下留情,谢谢。。。。
a                 添加文件到压缩文件
-ep1:             表示不把路径%USERPROFILE%保存在压缩文件中
-IBCK             在后台运行 WinRAR
-SFX[名称]        创建自解压文件
-IICON<名称>    - 指定自解压图标
-IIMG<名称>     - 指定自解压图片
-R              - 连同子文件夹
-EP1            - 从名称中排除主文件夹
-Z<文件>        - 从文件读取压缩文件注释

注释文件详解:
    Delete        :解压前先彻底删除文件
    License       :显示程序(Procedures)(Procedures)的许可协议
    Overwrite     :选择(Choose)文件的覆盖模式
    Path          :设置默认目标路径
    Presetup      :指定解压前运行的程序
    SavePath      :存储目标路径
    Setup         :指定解压后运行的程序
    Shortcut      :创建解压文件的快捷方式
    Silent        :跳过开始时的对话框
    TempMode      :解压压缩文件到临时文件夹
    Text          :添加文本到自解压对话框文本窗口
    Title         :设置自解压对话框标题

    注意
    在自解压模块包含的 Windows 资源是允许修改成您所需要的样子的.比如说是,您可以在起始对话框中显示您希望的位图.自解压模块已经使用 UPX 工具压缩过,并且在Editor资源后他们是根本没有办法运行的,所以我们可以得出结论未压缩过的自解压模块在 http://www.rarlab.com 的压缩文件 UnpSFX.rar
    里.
    WinRAR解压软件(soft) 并不提供修改资源的工具或者是是文件,如果您要如此做的时候,您必须有资源Editor器,并知道要如何使用他们来工作(Work).但如果标准的自解压对话框就可以了满足您的话,您就不需要再修改资源了.
   
1、Delete=<文件名>
    在解压到目标文件夹之前彻底删除指定的文件,允许数个 Delete 系统命令.
    如果在此指定的文件被锁定而不能是根本没有办法彻底删除,自解压模块在解压前会试着将他临时重命名,并在 Windows 重新启动操作系统时彻底删除他,这能不能成功则取决于 Windows 版本的差异.
    示例:
            Delete=winrar9V.exe
            Delete=rarlng.dll
    当运行自解压文件时显示指定的作为软件(soft)许可协议文本.用户既可以接受他并继续解压或者是拒绝他并退出.
    许可可以包含HTML 或者是纯文本格式.在以后的处理过程当中,为了使字符串和对话框匹配,自解压模块将合并和重新格式化指定的字符串.所以如果您希望重新产生一个新的段落,您需要在他前面放一个空的字符串.
    您可以使用 HTML 来控制颜色,字体和显示的格式.HTML 语法的描述可以在 The World Wide Web Consortium 站点找到.也可以使用网页Editor程序(Procedures)(Procedures)来产生 HTML 文本.
    示例:
    License=最终用户许可协议书
    {
    所有版权于 RAR 均属于作者所专有.
    此程序(Procedures)(Procedures)是共享(Sharing)软件(soft),任何人在测试期限内均可以使用此软件(soft).
    在测试期限过后,您“必须”注册.
   }

2、Overwrite=[n]
     0,在覆盖文件之前用户将会被先询问,默认动作,可以不需要指定.
     1,文件将在没有确认的状况下全部覆盖.
     2,所有已存在的文件将不怎么会被覆盖.
    示例:
            Overwrite=1

3、Path=<路径>
    设置默认的目标路径.路径的绝对使用起始点在不更改的情况下为<驱动器号>:,如果 <路径>
    只包含了名称,他将会被附加到“Program Files”文件夹下,如果您希望关闭如此的作用,请从“.\
    ”字符开始定义起始 <路径>.
    示例:
    a) 设置“Calc III.05 beta”为文件夹名,位置在“Program Files”下,当成默认路径:
            Path=Calc III.05 beta
    b) 设置“C:\Calc”当作默认路径:
            Path=C:\Calc
    c) 设置“Calc”在根目录下当作默认路径:
            Path=.\Calc

4、Presetup=<程序名>
    自解压在解压之前将试着运行 <程序>,在运行 <程序> 之前必须先指定目标文件夹.您可以使用此系统命令,譬如说,当安装新版本于旧版本上面时,用以彻底删除先前的程序版本.如果程序名包含空格,他必须包含在引号之内.
    示例:
            Presetup=uninstall.exe /clean

5、SavePath
    这一个系统命令允许自解压程序在注册表中存储用户输入的目标路径,并在自解压文件下一次运行时恢复相同的 Path.原来的 Path 系统命令内容被放在输入目标路径区域的列表下拉菜单中,所以用户可以在以前输入的和原始路径中选择(Choose).
    当安装新版本或者是更新一些软件(soft)到同样的目录时,这一个功能可能很便利.他允许只改变一次目标路径,而不能是不需要每次都输入.
    SavePath 系统命令只能和 Path 系统命令一起使用一次.
    示例:
            Path=Calc III.05
            SavePath

6、Setup=<程序>
    在成功解压之后自解压将会试着运行 <程序>.在运行 <程序> 之前,包含已解压文件的文件夹将会设为当前文件夹
    示例:
            Setup=setup.exe
注意
    1) 如果您可以在使用自解压运行 InstallShield setup.exe 有问题的话,请试着运行 “setup.exe /SMS”
    来代替简洁的 “setup.exe”.此开关允许自解压检测安装程序的退出.
    2) 全部在自解压系统命令行所指定的参数都会从 Setup=<程序> 系统命令提交给程序,自解压他自己则只认得 -s 开关,也就是强制缄默安装模式而不能是不显示开始对话框.
    3) 自解压模块在启动操作系统安装程序前设置 sfxname 环境变量.这一个变量包含自解压模块的名字,所以安装程序可以在需要这样的信息时读取他.

7、shortcut=<目标类型>,<源名>,<目标文件夹>,<描述>,<快捷方式名>
   为解压的文件常见一个快捷方式.
    目标类型 是一个一个字符宽的区域,可以有下列值:
    D 在电脑的桌面创建快捷方式
    S 在开始菜单创建快捷方式
    P 在开始菜单/程序(Procedures)(Procedures)中创建快捷方式
    T 在启动操作系统菜单中创建快捷方式
    源名 是压缩文件名.
    目标文件夹 是创建快捷方式的文件夹,如果他不存在,他将被自解压文件创建.
    描述 是描述快捷方式的字符串.
    快捷方式名是由自解压创建的 .lnk(快捷方式)文件的文件名.
    所有参数用逗号分隔.如果您需要添加逗号字符在参数内,镶入整个参数引用.如果您需要在字符串中插入一个引用标记,要输入两次引号.只有"目标类型"和"源名"是必需的,其他参数可选。
    例子
    在电脑的桌面创建在 WinRAR解压软件文件夹中连接到 winrar.exe 的快捷方式,带有“WinRAR解压软件可执行文件”的描述和“WinRAR解压软件压缩文件管理器”的名称:
    Shortcut=D,winrar.exe,WinRAR解压软件,“WinRAR解压软件可执行文件”,“WinRAR解压软件压缩文件管理器”。

8、Silent[=参数]
    开始解压时是否显示开始对话框。
    参数
    1,开始解压对话框会完全隐藏(Hide),包含进程指示和文件名。
    2,则跳过开始解压的确认,但用户仍然可以看到压缩文件的解压进程.
    示例:
            Silent=2

9、TempMode=[问题叙述][@窗口标题文本]
    此系统命令强制自解压创建一个临时目录,将全部文件解压至此,然后开始运行 Setup 系统命令所指定的程序,并在完成 Setup 程序之后将临时目录中的内容全部清除.当运行这些操作时,自解压会自动设置为 缄默模式.如果 TempMode 系统命令存在的话,叙述中将有 Setup 系统命令且不得使用 path 系统命令.
    TempMode 系统命令可以有字符串参数的选项,在解压之前可以用以定义问题和问题的标题.这样的例子,仅在当用户选择了“是” 按钮时才会开始解压.
    示例:
    a) TempMode
    b) TempMode=您希望继续安装浩云商业管理程序 V2.0吗?, 浩云商业管理程序 V2.0安装程序

10、Text=<字符串>
    此系统命令支持两种语法版本:
    A) Text=<字符串>
    B) Text
         {
          字符串 1
          字符串 2
          ...
         }
    他在自解压模块的输出窗口添加指定纯文本或者是HTML字符串.当自解压模块第一次碰到 Text 系统命令,在添加<字符串>前,他重设这一个窗口默认内容.其后的系统命令追加<字符串>到已经存在的文本后.
    依赖于使用的语法,这一个系统命令可以一次添加一个或者是数个字符串.
    对于纯文本的过程当中,为了使字符串和对话框匹配,自解压模块将合并和重新格式化指定的字符串.所以如果您希望重新产生一个新的段落,您需要在他前面放一个空的字符串.
    您可以使用 HTML 来控制颜色,字体和显示的格式.HTML 语法的描述可以在 The World Wide Web Consortium 站点找到.也可以使用网页Editor程序来产生 HTML 文本.
    示例:
    a) 添加单个单个字符串到对话框窗口
    Text=这是我的新程序
    b) 添加指定文本到对话框窗口“Text
    {
    此程序最有趣的特性是:
    - 支持 Windows 剪贴板;
    - 每一个处理的文件大小最大为 10KB;
    }

11、Title=<标题>
    设置自解压的窗口标题.
  示例:
    Title=浩云商业管理程序 V2.0
    自解压系统命令: 脚本范例
    A.设置对话框标题为“浩云商业管理程序 V2.0",
    B.更改对话框的显示文本,
    C.设置默认的解压路路径为“Program Files\Calculator”,
    D.启用覆盖现有文件
    E.并在解压所有文件后运行 Setup.exe.
  ---------------------------------------------------------
    Title=浩云商业管理程序 V2.0
    Text
    {
    浩云商业管理程序是共享软件,任何人都可在 40 天
    的评估试用期间内使用此软件.
    在超过测试期限之后,如果您希望继续使用
    浩云商业管理程序的话,您“必须”注册.
   }
    Path=Calculator
    Overwrite=1
    Setup=setup.exe
  ----------------------------------------------------------
RAR -IBCK a -sfx setup.exe -zico\info.txt -iimgico\logo.bmp  -iiconico\20.ico   -r soft\ -EP1
DOS方式压缩.BAT
WINRAR -IBCK a -sfx setup.exe -zico\info.txt -iimgico\logo.bmp  -iiconico\20.ico   -r soft\ -EP1
win方式压缩脚本

区别:win方式 可指定压缩后文件的图标和和解压界面的图片,而DOS方式无法指定,想要制定需要修改界面文件Default.SFX,可以使用资源修改工具修改(如REsource)。本例中的Default.SFX文件已经修改过了。新界面如图:


用户协议界面


安装(解压)进度界面--选择安装路径界面。


文件详解----

打包文件,包括详细注释。
没钱的可以到俺网站上下载,呵呵
http://hy2009.net/bbs/thread-2785-1-1.html

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×

评分

参与人数 1金钱 +20 贡献 +19 收起 理由
kn007 + 20 + 19 精品文章

查看全部评分

发表于 2009-7-6 21:55:55 | 显示全部楼层
感恩樓主的分享
 楼主| 发表于 2009-7-6 23:13:19 | 显示全部楼层
重新编辑了下,本来想低调点,让大家自己下了附件回去看去, 都没人注意到。稍微修改了下。把大部分参数拿出来供大家参考 是否值得下载附件回去看看。呵呵。
   
    好像现在附件下载要收 5金币, 还好我金币多(我总潜水不知道怎么会有这么多金币)。估计是注册时间比较早。哇哈哈哈,也算是潜水元老。呵呵
发表于 2009-7-7 01:13:30 | 显示全部楼层
学习一下。多谢!
发表于 2009-7-8 19:09:56 | 显示全部楼层
感谢提供经验,下载看看!
发表于 2009-7-8 21:41:03 | 显示全部楼层
学习一下..............................
发表于 2009-7-9 11:31:25 | 显示全部楼层
谢谢楼主,教程很不错
发表于 2009-7-10 16:50:26 | 显示全部楼层
KAN KAN !!!!!!!!!!!!!!!!!!!!!!!!!
发表于 2009-7-19 22:29:11 | 显示全部楼层
终于找到了哪么全的。
发表于 2009-7-20 21:32:38 | 显示全部楼层
这个也不错,收藏备用!
发表于 2009-7-21 16:28:06 | 显示全部楼层
谢谢楼主分享啊啊!
发表于 2009-7-21 21:00:54 | 显示全部楼层
学习学习学习
发表于 2009-7-22 08:26:10 | 显示全部楼层
下载这个看看
发表于 2009-7-22 08:26:23 | 显示全部楼层
顶顶顶顶顶顶
发表于 2009-7-22 08:26:29 | 显示全部楼层
发发发发发法
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-21 21:45 , Processed in 0.100833 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表