目 录
1、Application Information:程序信息
2、Installation Architecture: 安装包结构
3、Application Files;指定安装的文件默认目标路径
4、Application Redistributables: 加入第三方组件
5、Application ShortCuts: 创建程序启动的快捷方式
7、Installation Interview: 简单的对话框选择
8、Installation Localization: 安装包界面语言的选择
InstallShield安装与制作
1、 点击[InstallShield.12.豪华全然版].installshield12.Premier.Edition.exe进行安装
2、 到安装过程中的组件步骤时选择 自己定义/定制
3、 在语言中选择 简体中方(制作了的安装包才干是中文的,否则是英文)
1、 在安装的最后一步选择激活,点击下一步
2、 随便输入一串激活码,如(1111111111……),点击下一步.
3、 提示出错,不用管,选择电子邮件激活,下一步
4、 出现一串的序列码,拷贝它。
5、 打开[InstallShield.12.豪华全然版].keygen.exe;粘上那串序列码,点create^,会生成一串非常长的序列码,拷贝它。
6、 回到第四步的对话框,粘上序列码,ok.
注:在激活的过程中,把网络断开
点击Create a new Project来创建一个project。
IS将安装project依据project的特点分了几大类:InstallScript ;Windows Installer;Universal installer。当中,Universal这个比較好理解,大概就是用来做跨平台的安装程序。InstallScript和Windows Installer的差别,我到是一直不是非常清楚,大概意思就是假设你使用InstallScript模式是使用脚本来驱动安装界面,使用Windows Installer则主要是使用操作系统自带的安装服务来驱动安装。在每一个大类里面有划分了不同的小类。这里请參考IS帮助中的说明。
注:
Project Name: 你的project名
Location: 这个打包程序存放的路径,一般在安装的过程中自己主动创建这个文件夹
利用project助手就可完毕应用程序的制作且能满足要求(除了附加数据库等操作)。project助手的应用从图中的:应用程序信息,从左往右一步步设计就能够了。
注:
Program files:在Installshield称作Feature。Feature是InstallShield是基本单元。能够建多个Feature。这样在安装的过程中就能够选择安装哪些Feature。
如我们把某一些独立的模块放一个Feature里,把帮助文件等放一个Feature.这样就能够定制应用程序。
注:
在最顶的下拉列表框中显示的是All Application Data,这时在路径窗体中进行配置,就是将全部的数据的默认安装路径设为一样的。
能够下拉选择对应的Feature进行单独的设置。
单击Objects进入界面,例如以下图
这里能够指定应用程序的快捷方式,点击上面的exe,右边的两个选择框就能够用。
能够点击new一个快捷方式。例如以下图:
点击open就回到了上一页中。能够用Rename为应用程序取名
在这一步中能够加入注冊表信息,非常easy不在介绍
注:许可文件:就是在安装应用程序中出现一个 接受/不接受(允许/不允许)的对话框。那个对话框里有一个框框显示的那个条款就是许可条款。能够把那些条款写到一个txt的文本文件里,然后通过Application Files加到应用程序中来,在这里选择它就能够了。
IS能够提供安装包公布的多种格式:简单的能够这样说IS能够依据你发行的要求将你的安装文件打包成不同的形式。单文件形式就是把全部的安装文件做成一个可运行文件,适合于安装包比較小,并且经常在局域网内共享。WEB形式就是IS不但将安装文件打包成一个单一的文件,并且还形成一个下载页面,这种形式也是适合于小的安装包。CD-ROM形式是我们最经常使用的形式,IS将我们的安装文件依照光盘的大小进行分包,假设你的安装包非常大,超过了一张光盘的容量,你就会发现IS已经为你进行了按光盘打包,这种安装文件在安装时会提示你插入下一张安装光盘。IS还能够依照你自己指定的大小进行分包制作。
单击Build Installations就完毕的应用程序的制作过程。
通过上面的操作,也就是通过IS的“Project Assistant”,我们能够完毕一个简单的安装包,或者说能够完毕安装包的大体结构。以下我们通过改动这个安装包来进一步熟悉一下IS的大体功能。紧接上面的操作,点击下图中红色标记出的标签页。
实际上,前面我们做的这个样例是通过IS 提供的向导一步步引导我们将要安装的文件,以及安装信息加入到IS指定的部分,假设我们对IS熟悉了以后,我们也能够不通过向导而直接进入这个界面进行操作。在这里能够进行更具体的设计。
这里能够设置安装的序列号等信息和升级信息
这里设置试软件的试用等信息
在IS中,安装的最新单位是Components,安装文件是归属于Components的。而Componets又归属于Features。我们点击 Organization-->Setup Design,能够在右側窗体看到我们原来创建的Features下,IS自己主动为我们创建了Components,这些Components里连接了我们指定的安装文件。
Components有一个非常重要的属性,就是目的地(Destination)。所以同样安装路径的文件能够在不同的Components中,可是,不同安装路径的文件决不能放在同一个Components中。我们点击Setup Design下的随意一个Components(比方Help Files下的Files1),来看一下Components的详细属性设置。这里面最关键的两个属性一个就是
Destination,设置这些文件的安装路径,另外一个就是Overwrite,设置当目的地存在同样文件时的覆盖规则。
点击Destination项后面的值一栏,出现下拉button,从中选择这个Components的默认安装路径。<PROGRAMFILES>表示IS的系统变量,指目标操作系统的Program Files文件夹,后面的“/XXXXX”是要在安装时创建的子文件夹。假设用户在安装时没有选择定制安装,那么安装路径就被默觉得c:/program files/XXXX(增加目标机器的系统在C盘)。
这里是设置几种安装类型的默认安装组件。如全然安装时,安六装全部的组件。
这时包含两个部分,在上面已经说过了,不要介绍
假设要附加数据库操作,能够把数据脚本文件导到project中来。
(1)、方法一:右击SQL Scripts选择 Database import wizard…,通过向导来完毕。依据向导一步步完毕,这里就不再介绍。
(2)、方法二:右击SQL Scripts选择 New SQL Connection 新建一个连接。然后右击NewSQLConnection1选择Insert Script File…选择数据库脚本文件(这个脚本文件在前面一起增加到project中来)。
载入完毕后就会在NewSQLConnection1下多了一个文件,即我们加进来的文件。如上图。点击那个文件,右边窗体出现对应的信息,选择第二个选项卡Script就可能显示出这个文件的内容,也能够在这里改动。
关于IS的脚本,我们假设仅仅是普通的安装的话,并非非常复杂。我们选择的是InstallScript project这中安装工程,IS的script起的是主线的作用。也就是说,IS是依据内部的脚本一次运行各个环节进行安装。那么IS的脚本顺序究竟是怎么运行的呢?我们选择Behavior and Logic-->InstallScript,在中间窗体,我们看到了脚本文件Setup.rul,我们点击这个文件,发如今右側的窗体中差点儿没有不论什么脚本。这不是说明眼下没有脚本,而是IS通常情况下并不显示脚本出来,怎样显示脚本的问题我们先暂缓,先来了解一下IS是依照什么顺序来运行脚本的。
安装阶段 |
这时候,假设你 选择最初的阶段“initialization”的第一个函数“OnSetTARGETDIR”,那么你会发如今OnFirstUIBefore的函数体以下,出现了OnSetTARGETDIR的函数体,这并非说先运行OnFirstUIBefore,后运行OnSetTARGETDIR,函数的运行顺序和显示的顺序无关,对于初次接触IS的人来说,这点千万分清楚。函数的运行顺序是已经固定的。
这里我们解决的问题是去掉安装时须要输入用户和公司信息的界面。
上面的安装样例中,执行时须要输入用户和公司信息,在这个样例中是多余的。我们来把这个界面去掉。当然当中一个方法就是回到向导中去掉这个界面的选择,这里我们主要是讲怎样在脚本中去掉它。
在3.2.3中,我们把OnFirstUIBefore的代码显示出来了。这个函数里主要完毕的就是在正式移动文件前,依次显示的那些对话窗体。
调用指定的窗口 |
假设点击“返回”button,则退到Dlg_sdregisterUser处。 |
在OnFirstUIBefore函数中,我们找到例如以下脚本:Dlg_SdregisterUser这段脚本就是实现调用SdRegisterUser对话框,并把用户在界面输入的username和公司名放在了szName和szCompany变量中。我们要去掉这个对话框,在确保这个对话框所保存的变量值没有被其它函数调用后,首先直接凝视掉Dlg_SdregisterUser这段代码,就能够实现去掉这个对话框;其次,特别强调的是,它的下一个对话框中有一个返回上一步button,见上图中的标记,这里,我们要把调转语句(goto)后面所指定的Dlg_SdregisterUser,改为上一个对话框Dlg_SdLicense2。