[程序安装包制作] Advanced Installer 备忘
原文:[程序安装包制作] 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的干扰问题。

[程序安装包制作] Advanced Installer 备忘的更多相关文章
- Mac OS平台下应用程序安装包制作工具Packages的使用介绍(补充)
上一篇:Mac OS平台下应用程序安装包制作工具Packages的使用介绍 补充说明 上一篇文章中介绍了如何使用Packages如何创建mac下的安装包.但是这样制作出来的安装包只能安装到系统的文件路 ...
- Mac OS平台下应用程序安装包制作工具Packages的使用介绍
一.介绍 Windows下面开发好的应用程序要进行分发时有很多打包工具可供选择,如Inno Setup, InstallShield, NSIS, Advanced Installer, Qt Ins ...
- C#软件winform程序安装包制作及卸载程序制作
使用vs2010 winform程序开发的软件的人比较多,程序的开发是为了在不同的人不同的机器使用,为了使不同的机器能使用该软件就需要在制作程序安装包,安装包里必须包含该软件运行所选的所有环境,下面就 ...
- NSIS程序安装包制作
nsis下载地址:http://www.pc6.com/softview/SoftView_14342.html nsis使用: 启动NSIS程序主界面,选择"可视化脚本编辑器(VNISEd ...
- Windows安装包制作指南——Advanced Installer的使用
1. 前言 最近需要制作windows的安装包,据说Advanced Installer比较强大,遂拿它来制作安装包.在网上少量资料以及官网简约文档中摸索前进,总算是制作出可用的安装包,在此记录,仅供 ...
- 使用InstallAnywhere7.1制作Java exe程序安装包
[转[使用InstallAnywhere7.1制作Java exe程序安装包 使用InstallAnywhere7.1制作Java exe程序安装包 对于已经完成的Java应用程序开发项目,从商业化角 ...
- 利用InstallShiled 10.5制作AE应用程序安装包
[转]利用InstallShiled 10.5制作AE应用程序安装包 作者:3SNEWS 社区ESRI(ArcGIS)版版主:zhaoxiang_whuhttp://www.3snews.net/bb ...
- 基于DevExpress的Winform程序安装包的制作
在我们做系统开发的时候,都会面临一个安装包制作的问题,如何把我们做好的系统,通过安装包工具整合成一个安装包给客户进行安装.安装包的优势就是一步步安装就可以了,不用复制一大堆文件给客户,还怕缺少那个文件 ...
- 使用WinRar软件制作程序安装包
之前我写过使用好压软件打包程序,见随笔: 使用好压(HaoZip)软件打包EverEdit制作安装程序 - Fetty - 博客园http://www.cnblogs.com/fetty/p/4907 ...
随机推荐
- windows phone (26) ApplicationBar应用程序栏
原文:windows phone (26) ApplicationBar应用程序栏 在应用程序中,如果需要几个按钮或者菜单来执行一些普通的命令,就应该考虑使用ApplicationBar,因为silv ...
- DevExpress控件中LayoutControl的使用
原文:DevExpress控件中LayoutControl的使用 C#开发中,软件布局设计,主要用TableLayoutPanel能很好地支持缩放功能,对自身的Label.TextBox等控件支持的很 ...
- android studio学习
http://blog.csdn.net/ryantang03/article/details/8948037 http://www.it165.net/pro/html/201109/676.htm ...
- [Python]How to handle the exception in Python?
This post demonstrates how to use try clause to handle the exceptions def test_exception(case=None): ...
- linux经常使用解压缩命令
1.tar.gz 解压 tar -zxvf source.tar.gz 压缩 tar -zcvf target.tar.gz source1 source2 2.bz2 解压 tar -jxvf so ...
- 泛泰A860 Andorid4.4.3 KTU84M (Omni) 图赏
Omni4.4.3 For Pantech A860L/K/S watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc3lob3N0/font/5a6L5L2T/ ...
- Android异步任务
本文主要探讨Android平台提供的各种异步载入机制,包括它们的适用场景.用法等. 1. AsynTask AsynTask适用于最长能够持续几秒钟的短时间的操作,对于长时间的操作,建议使用java. ...
- JAVA Socket超时浅析(转)
套接字或插座(socket)是一种软件形式的抽象,用于表达两台机器间一个连接的“终端”.针对一个特定的连接,每台机器上都有一个“套接字”,可以想象它们之间有一条虚拟的“线缆”.JAVA有两个基于数据流 ...
- OutputCache说明
当用户访问该页面,整个页面会server存储在内存中,因此,该页面缓存.当用户再次访问该页面,页面不会再次运行数据操作,页面首先检查server中是否存在缓存.假设缓存存在,则直接从缓存中获取页面信息 ...
- Android - 用Fragments实现动态UI - 使用Android Support Library
Android Support Library提供了一个带有API库的JAR文件来让你可以在使用最新的Android API的同时也也已在早期版本的Android上运行.例如,Support Libr ...