原文:[程序安装包制作] Advanced Installer 备忘

Product Information - Product Details

这个重点是Product Version。讲这个之前,首先要知道Product Code和Upgrade Code这两个属性,同时大家不要被这两个英文词语的字面意思所以迷惑。

同一款产品,不同的版本的安装包,Product Code必须不同,但Upgrade Code必须相同。

例如,现在有一款软件叫"Hello World”,已经制作了1.0.0的安装包,现在要制作1.0.1安装包。1.0.0与1.0.1的Upgrade Code是相同的,否则就会视为不同产品的安装包,安装时就会产生两个卸载项目。而同时1.0.0与1.0.1的Product Code是不一样的,否则系统会误认为同一版本的安装包,到时候就无法正确安装了。

了解了上述的含义就好理解Product Version。只要改变Product Version的版本号,就会自动改变Product Code,方便我们制作完全升级包。

注意的是,Product Version有效版本位支持到第三位即1.0.0,当你输入1.0.0.1保存项目时,会提示如下信息:

Windows Installer是不认第四位版本号的,第四位的变化并不会使这个安装包变成新版本的安装包(即不会改变安装包的Product Code),所以如果制作完全升级包,新版本号必须从第三位开始更改


P.S.:笔者一般以发布日期作为第四版本号,例如,10月25日发布的版本号就为2.5.3.1025

User Interface - Dialogs
在Dialogs树形菜单点击ExitDialog,预览窗体下方就会出现配置信息,如下图

这里可以让你配置安装完成后的选择是否阅读ReadMe或是否立刻启动应用程序。

User Interface - Translations
如果你的安装包有多国语言安装的需要,在这里勾选安装包的语言,十分方便,如下图

要注意下面三个选项

Create separate packge 生成多个语言的安装包
Create separate packge and a multilingual packge 生成多个语言的安装包和一个混合包
Create only a multilingual packge 只生成混合包(混合包就是多个语言在一个安装包内)

Custom Behavior - Search
笔者觉得这款工具十分容易使用,其中一个原因就是Custom Behavior相当好用。
在Search你可以添加你想要搜索的信息,注册表,安装文件,配置文件等等,这些搜索信息会提供给Custom Actions使用,后面会讲到
例如,这里我要安装程序搜索一下PL2303的USB驱动的版本号

   

Custom Behavior - Custom Actions
这里是设置安装的自选行为,例如安装文件后执行一些应用或批处理,就可以在这里设置。
例如,这里我要在安装文件后执行安装USB驱动

这里顺便讲讲里面的Excution Condition设置

Excution Condition故名思议就是执行条件,前面定义的Search在这里就派上用场了
打开编辑框,琳琅满目的button和combobox……我们之前定义的Search就在Property里可以找到,如图

然后在textbox里填写好逻辑表达式就OK了,例如,这里的意思是,USB驱动的版本号不等于"1.3.0"。

注意:Vista以上的安装程序,有可能由于UAC的原因使得运行程序的Action执行不成功,导致安装失败。
笔者也是在这里纠结了很久,最后在官方FAQ里,了解到,只要在Excution Options里,选择Deferred with no impersonation,就可以解决UAC的干扰问题。

最新文章

  1. IOS UITableView移除底部空白行
  2. Codeforces Round #356 (Div. 2)
  3. windows查看端口占用
  4. 学习AJAX(二)
  5. ORM框架Hibernate (四) 一对一单向、双向关联映射
  6. SQL Server 2008性能故障排查(二)——CPU
  7. js导入的注意.txt
  8. 2017年最受欢迎的UI框架
  9. java Mybatis框架动态SQL
  10. .net 图片无损压缩
  11. [Swift]LeetCode204. 计数质数 | Count Primes
  12. Spring Boot 数据库连接池 HikariCP
  13. SharePoint开启错误提示
  14. Sql入门学习——基本语法函数
  15. 《精通CSS层叠样式表》
  16. WEB 服务器 加速缓存比较
  17. WebService安全性的几种实现方法【身份识别】
  18. centos6.9安装oracle11g
  19. 跨域(三)——JSONP
  20. 使用VSCode调试单个PHP文件

热门文章

  1. NET MVC异常处理模块
  2. Asp.net MVC4之 一个简单的小例子
  3. netperf 而网络性能测量
  4. ROM签名脚本[原创]
  5. WinCE CAB Manager 3.0学习
  6. SQLSERVER2014的内存优化表
  7. Canvas翻转方法
  8. 在C#主线程和子线程将数据传递给对方如何实现
  9. 左右10g DG中间ORA-19527和ORA-00312错误解决演示示例
  10. OCP-1Z0-051-题目解析-第14题