Installshield使用1说明(适用范围)1.1IS各工程介绍IS将安装工程根据工程的特点分了几大类:InstallScript;WindowsInstaller;Universalinstaller。其中,Universal这个比较好理解,大概就是用来做跨平台的安装程序。InstallScript和WindowsInstaller的区别,我到是一直不是很清楚,大概意思就是如果你使用InstallScript模式是使用脚本来驱动安装界面,使用WindowsInstaller则主要是使用操作系统自带的安装服务来驱动安装。在每个大类里面有划分了不同的小类。这里请参考IS帮助中的说明。2COMMON篇之InstallScriptPorject2.1使用向导做一个简单的安装包2.1.1了解你要安装的程序首先你要清楚,你的程序所需要的运行环境要求。这个安装包例子中,我们要打包这样一个系统:主程序是LearnQClient.exe,rtcdll.dll,ImageOle.dll,dxmrtp.dll,dsoframer.ocx,config.ini,许可协议.txt;它运行时需要读取当前目录下的config.ini,由于这个程序是用VC开发的,所以还需要运行的机器上有vc的运行库。具备了这个环境,LearnQClient.exe程序才能正常运行起来。这就要求我们做好的安装程序安装时要将LearnQClient.exe,rtcdll.dll,ImageOle.dll,dxmrtp.dll,dsoframer.ocx,config.ini拷贝到指定的安装目录,也可将ImageOle.dll,dsoframer.ocx拷贝到当前系统的系统目录(windows9x中系统目录是windows/system;windows2000/xp的系统目录是system32)。同时要实现安装的时候将VC6的运行库安装到目标机器上;其中帮助文件是可选择安装的。下面我们来试着做这个安装包。2.1.2建立一个InstallScript工程启动IS,在主窗体中选择“CreateanewProject”点击OK后,进入IS的工程向导。在IS的向导中,向导会引导你依次设置工程的各项属性值,下面我们就一步一步的来解释每一步的内容。执行向导,你只需点击界面右下脚的即可。以下的描述就是按照步骤进行解释的。2.1.3程序信息这个界面不太重要,也没有什么具体注意事项,大家只要看里面的参数及提示信息填这里输入工程名字这里选择这个工程保存的路径写就可以。2.1.4安装包结构这一步是设置我们的安装包的主体结构的。主要设置安装包中有多少安装项目。在这个界面中,我们选择要定制我们的安装包,点击“yes”单选框后,InstallstionArchitecture列表框激活,在这里,我们可以通过“New”按钮来创建一个新的安装项目(也就是我们在后面会经常说的Features),通过“Rename”按钮来改变这个Features的名字。通过“SetDefault”按钮来设置某一个Features是默认选择安装的(不过这个功能这里一般不用去注意它,到后面我们还要重新选择)。这里解释一下Features:可以这样简单的理解,大家都安装过程序,在安装过程中,如果你选择了定制安装,一般的安装程序都有这样如图的提示:我们设置的Features就是在安装时这里出现的选项。也就是可选择的安装项目。在这个例子中,我们根据原来的设想,按照整个安装包的文件组成创建三个Features:Programfiles,HelpFiles,SysFiles。(尽管这样的分有个小问题,后面我们会来提出并解决)2.1.5指定安装的文件已经目标路径在这一步中,我们通过界面来指定我们要安装的文件,并且设置这些文件将要安装到的目标路径。具体的操作步骤如下:在AllApplicationData下拉列表中选择前面确定的类别,确定该类别中所有的文件默认的安装路径。这里我们定为默认的安装路径为c:\Programfiles,所以,在路径窗口中,选择“ProgramFils”项,在该项上单击右键。然后,点击界面右测的“AddFiles”按钮,添加LearnQClient.exe,rtcdll.dll,ImageOle.dll,dxmrtp.dll,dsoframer.ocx,config.ini六个文件。同样,我们在AllApplicationData下拉列表中可以选择“HelpFiles”项,在路径窗口中,添加帮助文件。我们没有帮助文件,在这里就不做此操作了。或者在AllApplicationData下拉列表中选择“SysFiles”项,在路径窗口中选择Windows下面的“Windowssystem”目录,添加ImageOle.dll,dsoframer.ocx文件。这样,通过以上设置,确定了如下的默认安装结构:第一:我们分别给三个Features指定的默认的安装路径,“Programfiles”“HelpFiles”的默认安装目录是c:\ProgramFiles\Setup(假设目标机器的操作系统在C盘);“SysFiles”的默认安装路径是c:\windows\system32(假设目标机器的操作系统在C盘,且系统路径是windows,如果操作系统是9X的话,system32会自动替换为System)。路径窗口Features选择列表文件添加窗口第二:我们分别给三个Features指定了关联的文件在添加文件过程中,会出现一个提示对话框,询问你是否对当前添加的文件进行扫描,来发现这些文件运行时是否依赖于一些标准的类库文件,如果你确定的话,之后会弹出一个向导来协助你完成对你添加文件的扫描。这个问题我们会在后续的文档进行专门的交流。这里全部点击NO.第一:我们的项目需要安装Pictures,res两个图片文件夹。则选择点击ApplicationTargetFolder项,在其右侧的文件添加窗口中选择Addfolders按钮,添加两文件夹,如果文件夹中还有子文件夹,则在增加过程中将Includesubfolders及Self-Registerallfiles两个复选框构上。填加后的结果是:2.1.6添加第三方组件由于我们这个例子程序假设了我们的程序正确运行时需要VC6的动态库文件,所以要添加这一组件。添加这个组件的操作我们不在这里完成,这一步先暂时跳过。点击下一步。2.1.7创建程序启动的快捷方式进入这一步后,IS会自动为我们创建一个快捷方式。这个快捷方式将被创建在开始菜单中,如果想要在桌面上也创建一个,那么把“CreateshortcutonDesktop”的复选框也选上即可。关于更详细的快捷方式的创建,我们在后面的修改步骤中介绍,这里也不进一步解释了。2.1.8注册表操作某些程序会要求在注册表中进行某些修改或添加某些关键的值,可以在这里进行一些简单的加添工作。我们这个例子中,暂时不涉及注册表部分,请关注论坛中相关讨论。2.1.9简单的对话框选择这一步骤可以选择几个安装过程中出现的对话框,如下图。其中需要解释的就是第一个,安装许可协议对话框。这个对话框允许你的协议内容存放在一个txt文件中,然后只要关联这个协议文件就可以了,如下图中红色线所标注。在这里,我们暂时默认选择给出的全部对话框。具体的修改,添加,删除我们在后面进行详细解释。2.1.10安装包界面语言的选择在安装IS时,就有一个选择,让你安装什么语言包。如果你选择了中文的话,这里就会出现Chinese(Simplified),把这项选中即可。需要安装的语言在左侧的列表中选择。2.1.11选择安装包的格式IS可以提供安装包发布的多种格式:简单的可以这样说IS可以根据你发行的要求将你的安装文件打包成不同的形式。单文件形式就是把所有的安装文件做成一个可执行文件,适合于安装包比较小,并且经常在局域网内共享。WEB形式就是IS不但将安装文件打包成一个单一的文件,而且还形成一个下载页面,这种形式也是适合于小的安装包。CD-ROM形式是我们最常用的形式,IS将我们的安装文件按照光盘的大小进行分包,如果你的安装包很大,超过了一张光盘的容量,你就会发现IS已经为你进行了按光盘打包,这样的安装文件在安装时会提示你插入下一张安装光盘。IS还可以按照你自己指定的大小进行分包制作。这些我们在后面进行讲述。在这里,我们选择单一。然后点击编译按钮,进行全部编译。当看到编译日志中显示0个错误,那么我们这个简单的安装包基本上就制作完成了。再经过简单的修改就可以发布了。生成后,点击Openreleasefolder来查找所生成的文件。2.2修改这个安装包通过上面的操作,也就是通过IS的“ProjectAssistant”,我们可以完成一个简单的安装包,或者说可以完成安装包的大体结构。下面我们通过修改这个安装包来进一步熟悉一下IS的大体功能。紧接上面的操作,点击下图中红色标记出的标签页。实际上,前面我们做的这个例子是通过IS提供的向导一步步引导我们将要安装的文件,以及安装信息添加到IS指定的部分,如果我们对IS熟悉了以后,我们也可以不通过向导而直接进入这个界面进行操作。通过下面的操作,大家可以看到我们前面做的工作所对应的IS实际的位置。2.2.1修改文件部分前面的例子安装包中,我们通过向导将整个安装文件分为了三部分:ProgramFiles;HelpFiles;sysFiles。原本考虑这样的分法比较清楚:程序主文件,帮助文件,还有要拷贝到系统目录的文件,其中ProgramFiles和HelpFiles是安装在同一目录下的。但是这样的分法在安装时就出现了问题。如安装时,选择定制安装,问题如下图:在定制安装时,出现的选择画面中,我们定义的三个部分(Features)出现了。这样,我们就可以选择只安装其中的个别部分,例如,我们可以选择不安装Sysfiles部分的文件,但是这个部分文件是程序正常运行所必须的。所以,这样的分法有问题,会造成程序无法正常运行。这就要求我们安装时的选择画面中只能出现两个:主程序文件和帮助文件,而且在主程序文件中,有两部分的文件要在安装时拷贝到不同的目录:用户选择的路径和系统路径。在IS中,安装的最新单位是Components,安装文件是归属于Components的。而Componets又归属于Features。我们点击Organization--SetupDesign,可以在右侧窗口看到我们原来创建的Features下,IS自动为我们创建了Components,这些Components里连接了我们指定的安装文件。Components有一个很重要的属性,就是目的地(Destination)。所以相同安装路径的文件可以在不同的Components中,但是,不同安装路径的文件决不能放在同一个Components中。我们点击SetupDesign下的任意一个Components(比如HelpFiles下的Files1),来看一下Components的具体属性设置。这里面最关键的两个属性一个就是Destination,设置这些文件的安装路径,另外一个就是Overwrite,设置当目的地存在相同文件时的覆盖规则。点击Destination项后面的值一栏,出现下拉按钮,从中选择这个Components的默认安装路径。这里系统默认为PROGRAMFILES\Issample,这个路径是我们在前面通过向导时指定的(参考3.1.5)。PROGRAMFILES表示IS的系统变量,指目标操作系统的ProgramFiles目录,后面的“\Issample”是要在安装时创建的子目录。如果用户在安装时没有选择定制安装,那么安装路径就被默认为c:\programfiles\issample(加入目标机器的系统在C盘)。了解完这些后,我们要做我们的修改,就是要删除Sysfiles这个Features,把它原来关联的文件移动到ProgramFiles这个Features下面,但安装路径却是系统路径。我们