这里红色圈出来的一行代码明确地告诉我们:如果为反安装状态,那么卸载所有组件!OK,代码只要添在这里就可以了。
这里就运用了一个函数LaunchAppAndWait来达到目的。其实一开始我还在想是不是要写批处理文件来执行呢,结果是不需要,直接写在这个函数里就可以了。 LaunchAppAndWait ( szProgram, szCmdLine, nOptions );
参数一:szProgram,要运行的程序。在Help里有这样一句解释:想在命令行里指定要运行的程
序,那么可以对这个参数传空值
参数二: szCmdLine,命令行参数;很奇妙的参数,这里我们就可以写入我们想要的批处理语句了。
参数三:静态变量,操作类型,这里LAAW_OPTION_HIDDEN可以使批处理窗口隐藏掉,如果
使用了LAAW_OPTION_WAIT,就会看到一个命令行窗口一闪而过,让人十分不爽。
于是,折腾了一下午的问题,就靠这短短的两分钟就解决了…
第三部分:其他
1. 修改显示界面的风格
Installshield 原始安装界面我始终觉得很丑,幸好Installscript 是可以不用写代码就可以改界面风格的。
在 Installation Designer 的左边导航树上找到User Interface | Dialogs
在中间的导航树上找到 Dialogs | Skins
Skins 选项下面显示了不同的界面风格,默认是None,选择一个喜好的风格即可,笔者一般使用Blue 或BlueTC,适用于一般商业软件的稳
重风格;Midnight 比较酷,要是做电脑游戏的安装程序,我一定会选这个风格。 2. 编译打包
一切都准备就绪之后,就差一个编译打包成实际的安装程序的过程了。 编译
编译可以使用工具栏上的,检查一下有无定义错误,编译错误等。 打包
打包可以使用工具栏上的。
1. 第一步,指定一个打包的配置版本,如果使用同一个安装程序源来打包成不同的配置,就可以选择新的配置版本。这里的配置指的
是安装程序本身的配置,包括是否压缩文件、打包成网络安装程序或光盘安装程序、安装程序的客户信息、是否加密等等。
2. 同一配置下允许多个版本的存在;一般笔者习惯于当安装源文件升级的时候,就打包一个新版本出来以示区别,同时也可以保留老 版本的安装程序备用不时之需。
3. 过滤设置,笔者从来没用过。貌似是对feature 的一些设置参数,大概是针对某些版本,如果某些feature 不需要的话,就直接过滤掉
了,安装时候无法选择安装了。不过参数具体怎么设置,包括下面的语言过滤,笔者尚未使用过。但是回想起以前安装的一些大型
软件比如Oracle 之类的,会有一些选项是灰色无法选择安装的,大概就是类似这种功能。
4. 安装程序的语言和被安装的应用程序的语言没有必然联系,因此这里还需要设置一下安装时所用的语言。选择列表里显示的语言取
决于在做安装程序时选择的语言,刚才我们只选择了English,因此这里只显示English 了。如果选择了多项语言,那么在安装时出
现的第一个界面会是让你选择安装时所用语言的界面,非常智能。这种功能针对需要发布到多个语种国家的软件是非常有用的。不
过这样的话,在写脚本的时候,只要是显示在界面上的语言,除了系统可以默认显示的,都要多加一个语言判断,并且显示不同的 内容了。
5. 选择介质类型,一般笔者都会把安装程序刻录到光盘上,因此选择 CD-ROM
6. 光盘选项,第一个选项 Automatic 会自动为你检测所需光盘的规格数量,以及制作出光盘之间的断点。我一般都是选第一项,免去
不少啰嗦事,第二个选项应该是高人才会选的吧。
7. 这个选项指定了打包时的形态: Compress all files:所有的文件都压缩打包(这里不包括脚本里所写的安装时候从外部拷贝的文件,只包括在Project Assistant 里指定 到各个feature 下的文件)
Leave files uncompressed and separate from the installation package:所有的文件都不打包,以原始形态存在
Custom:定制,允许你指定一部分压缩打包,一部分散放。 笔者喜欢把所有的文件都打包,看上干净并且专业。
8. 对操作系统的要求,一般都默认即可
9. 这个是 Windows 安装引擎,对此没有研究过,凭着上面的解释选了第二个,会帮你打包进安装程序,这样就高枕无忧了。