Windows安装包制作指南——Advanced Installer的使用

1. 前言

  最近需要制作windows的安装包,据说Advanced Installer比较强大,遂拿它来制作安装包。在网上少量资料以及官网简约文档中摸索前进,总算是制作出可用的安装包,在此记录,仅供参考。

     Advanced Installer版本: Advanced Installer 11.0, 目前的最新版是13.1,不过大同小异。

 

2. 安装包制作

2.1 新建工程

  由于希望能够自己定制一些安装界面,我们选择Professinal版本,语言选择中文,然后创建工程:

 

2.2 产品详情

  填写产品的基本信息,包括名称,版本,公司等:

 

2.3 安装参数

  产品详情填好后,在左侧选择安装参数。咱们主要看右侧面板中“安装文件夹”->“应用程序文件夹”里面的内容:“[ProgramFilesFolder][Manufacturer]\[ProductName]”, 这个内容表示安装时默认的安装路径:

    [ProgramFilesFolder] 表示 C:\Program Files(x86)

    [Manufacturer] 表示公司名称,也就是2.2中填写的TestCompany

    [ProductName] 表示产品名称,也就是2.2中填写的TestApp

  那么默认显示的安装路径就是“C:\Program Files(x86)\TestCompany\TestApp”。

 

2.4 运行环境

  左侧的数字签名、更新程序、升级和授权暂时不是关注的重点,先略过。Advanced Installer对运行环境提供了非常好的支持,我们可以选择任何需要的环境。待安装包制作完毕,运行安装包时会自动运行依赖的环境:

 

2.5 文件和文件夹

  左侧的启动条件和合并模块暂时不是关注的重点,先略过。文件和文件夹里面放的就是我们的项目文件,可以选择新建或添加:

  添加文件后,可能会是这样的:

 

2.6 对话框

  由于我们希望能够自制对话框,需要切换成开发版。点击“项目”->"选项",在弹出的界面中,选择“项目类型”->“开发版”

  假设我们要在选完安装路径后新增一个对话框,那么在右侧的FolderDlg右键,选择“新建对话框”:

  让我们在对话框上添加两个输入控件,一个希望是必填的,另一个希望是选填的。注意右侧的属性名称,它是实现“必填”功能所必须关注的变量:

  那么什么时候对输入框中是否有输入进行判断呢?应该是在用户点击“下一步”的时候。所以选择“下一步”,关注下方的“发布事件”:

  我们需要新建一个事件,这个事件的作用是:如果必填项没有内容,那么弹出一个对话框来提示用户需要输入。想要做到这一点,点击“新建”。在新弹出的界面中选择“显示特定子对话框”,勾选“显示整个条件”,然后再条件中填写“NOT EDIT_1_DROP”。EDIT_1_DROP这个变量就是之前必填输入控件,前面加NOT的意思就是,如果这个输入控件没填内容,就弹出子对话框。

  点击“确定”就可以了。

 

2.7 注册表

  我们已经限定了必填项和选填项,但是又有疑问了,用户填写的内容保存在哪呢?我们能从什么地方读到这些变量呢?

  这时候注册表就派上用场了,把用户输入的内容关联到注册表的相应变量中不就搞定了吗?Advanced Installer恰恰提供了这种机制。

  在左侧选择“注册表”,我们可以看到右侧的注册表中已经有了两个变量Path和Version,分别是安装路径和版本。

  然后在右侧的“[ProductName]”右键弹出菜单,点击“新建值”,

  在弹出的窗口中,“名称”填写一个希望在注册表中被看到的名称,比如“RequiredValue”。再点击“属性”,选择之前自定义的对话框中的控件名称(就是咱们)。

  创建好后如下:

 

2.8 自定义操作

  梳理下刚刚的流程,用户在输入框中输入了内容,点击下一步后,这些内容被保存到注册表的相应位置。然后这些变量要用起来了,一种可能的场景就是,在安装结束时,我希望去执行自定义的脚本,这个脚本会从注册表中读取这些变量,并基于这些变量对项目文件做初始化。

  那么执行自定义脚本就需要Advanced Installer的“自定义操作”来帮忙,在左侧选择自定义操作,然后在菜单栏单击“新建自定义操作向导”:

  在弹出的面板中点击“下一步”,然后根据自己要执行的脚本或文件选择不同类型:

  然后点击下一步,根据情况选择:

  然后点击如图按钮选择源文件:

  然后下一步,根据需要选择,再下一步,完成。完成后,在右侧界面中可以选择必要的选项,比如说隐藏窗口,或者是以管理员身份运行等。

 

2.9 构建和运行

  如图,点击1呢是构建安装包,构建的目录默认是在“我的文档\Advanced Installer\Projects\TestApp\setup-SetupFiles"中,其中TestApp是项目名称。

  点击2呢是构建并运行安装包,用作测试这个安装包是否可用。

 

3 总结

  至此我们打出了windows 32位的有自定义界面的并能调用特定脚本的包。Advanced Installer还提供了各种强大功能,比如说能打出x86\x64混合包等,有待进一步探索。

posted @ 2016-08-18 22:15  Prodesire  阅读(29638)  评论(9编辑  收藏  举报