一个完整的Installshield安装程序实例—---基本设置一

一个完整的IS安装程序实例,皆来自海洋女神博客

 

正文

需求:公司做了一个软件产品,

1.         该软件运行需要JDK环境(不是JRE,因为该软件要向windows注册一个服务,用到了JavaServiceJDK才支持这个功能;不过这里侧重于判断是否安装了某软件是否安装,而不是纠缠于该装JDK还是该装JRE);

2.         由于是Server-Client形式的,需要允许用户选择安装组件,比如A机只装Server端,B机只装Client端;

3.         文档不打包在安装程序里,直接存放在光盘文件夹下方便用户查看,同时允许用户指定是否安装文档到计算机上(为什么这样做,后面说明详细原因);

4.         该软件会以授权形式发放给用户,不同的用户,软件本身可能相同,而不同的只是授权文件和一些配置,因此希望授权文件和配置文件不打包在安装程序里,而直接存放在光盘里,以减少可能的重复打包安装程序的劳动;

5.         在安装完毕后,希望能自启动程序(因为该软件需要在安装完毕后启动一个程序,该程序实现向Windows注册服务的功能,该程序最好由安装程序启动,而不是由客户手动启动)。

6.         希望有反安装程序

本文提到的“外部”指不打包在安装程序里的,与安装程序一起存放在光盘里的一些文件夹,这些文件夹包含了安装中所需要的文件,同时也可能有其他用途,因此不适合直接压缩打包在安装程序里。

该实例实现了如下功能:

1.         显示软件许可协议

2.         判断是否安装了本软件所需要的先决软件JKD1.6.0_04,如无,则启动外部安装程序进行安装(同样原理可以用来判断是否安装了其他软件,只要该软件在注册表中有键值)

3.         安装允许用户选择需要安装的组件

4.         用户的输入信息、所选安装路径、所选安装组件将显示在安装界面上(Installshield虽然自带了此界面,但是默认是显示为空的,需要写脚本来显示信息)

5.         根据用户选择的组件,在开始菜单显示程序的快捷方式(同样适用于桌面快捷方式,后面做详细说明)

6.         根据用户选择的组件,从外部文件夹拷贝相应的文件到安装目标路径的文件夹中

7.         根据从外部拷贝进来的文件,创建快捷方式(这里主要是拷贝文档,并在开始菜单中创建快捷方式)

8.         在安装结束时,显示readme.txt文件

9.         在安装结束后,启动指定的程序

10.     完美卸载

笔者所用的环境为Installshield 12 Premier EditionWindows XP with SP2, 该环境下建立的工程可以直接使用在Installshield 2008 Premier Edition下,Installshield 2008在打开Installshield 12所建的工程时会提示你是否需要进行Upgrade,确认即可,软件会自动为你进行升级,很方便。

下面我们一步一步来建立一个基本的工程,并且使用脚本来完善和丰富所需功能

 

第一部分:基本设置

 

1.         打开Installshield 12 Premier Edition,新建一个Installscript MSI Project,这种被称之为半脚本程序,因为兼具Basic Project基本类型和Installscript Project全脚本类型两者的优点,我比较喜欢用。像我这样需求的,既要用到Wizard的便利,又想写一点脚本来实现一点自定义操作的,就比较适合用这种类型啦。

选择类型为Windows Installer | InstallScript MSI Projcet,输入工程名,指定工程所在的文件夹。

 

2.         界面会切换到Project Assistant,我们先从这里开始把工程的基本组件和基本文件建立好。

 

3.      Project Assistant界面的底部,会有一个引导动作条,在建立该工程的基本结构和文件时,我们都将在此界面进行操作,下文都将以“引导条”来指代这个引导动作条。

 

 

4.         点击引导条上的Application Information

这里输入:

公司名,公司名将会出现在Setup.exe的注解中

软件名,将会出现在安装过程的左上角标题栏上

版本号,没看到在哪,不过自己比较方便地知道自己在编译哪个版本的软件

公司网址,没看到在哪,而且如果该公司没有网址呢?而且这里有点bug,好像默认的值总是会报一个String_ID1为空的错误,自己输入一个网址就不会报错。

是否在你创建了更新时自动通知最终用户,没用过,我都选了No

选择一个图标,这个图标会出现在“添加或删除程序”里,我一般用默认的,当然你可以替换成自己想要的图标。

 

5.         点击引导条上的Installation Requirement

这里选择对操作系统和一些软件的需求。根据自己需要来选择是否要求操作系统的版本,已经是否要求安装了某些软件。

 

6.         点击引导条上的Installation Architecture

这是个十分有用的设置,对于本文所用的分布式软件来说非常合适,分布式软件的每个组件可以设置为一个Feature,用户可以自由选择安装某些功能。

将选项Do you want to customize your Installation选择为Yes

点击选中根节点Installation Architecture,点击New创建新的Feature,可以为每个Feature指定新名称。

还可以在Feature下创建子Feature,比如如果文档Feature下包括软件本身文档,和软件所需的运行环境的文档,那么可以创建两个子Feature,分别包含两种文档,用户在安装时就可以选择安装部分或者全部文档了。这里我们没有用到子Feature,用途和普通Feature一样。

 

这里,建立好所有Feature后,我们将切换到Installation Designer做一个设置

 

 

找到Installation Designer页面上左边导航树Organization | Features分支,你会看到这里Features都显示为原始的名称,而非我们改过的名字,因为FeatureNameDisplay Name两种名称,我们刚才改的不过是Display Name,为了便于查看和使用,我们在这里把Name也改一下

 

 

注意Name不可以有空格,可以使用下划线

 

 

继续切换回Project Assistant

海洋女神博客http://www.cnblogs.com/Cindy_weiwei/archive/2009/05/18/1459542.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值