Install shield X 10.0
Premier Edition
安装程序制作指南
中科软件集团企业信息化事业部
2004年12月9日 桂双林
中 科 软 件 集 团
SINOSOFT GROUP
http://www.Sinosoftgroup.com
目 录
1. Install shield X 10.0 Premier Edition介绍... 3
2. 新建一个项目... 4
3. 用Project Assistant方式快速建立一个安装... 5
3.1. 下面是Project Assistant 首页介面... 5
3.2. Project Assistant方式第一步... 6
3.3. Project Assistant方式第二步... 7
3.4. Project Assistant方式第三步... 8
3.5. Project Assistant方式第四步... 9
3.6. Project Assistant方式第五步... 10
3.7. Project Assistant方式第六步... 11
3.8. Project Assistant方式第七步... 12
3.9. Project Assistant方式第八步... 13
4. Installation Designer方式... 15
4.1. Installation Designer方式首页... 15
4.2. Installation Designer方式项目总介面... 16
4.3. Installation Designer方式第一部分... 17
4.4. Installation Designer方式第二部分... 19
4.5. Installation Designer方式第三部分... 22
4.6. Installation Designer方式第四部分... 23
4.7. Installation Designer方式第五部分... 25
4.8. Installation Designer方式第六部分... 26
4.9. Installation Designer方式第七部分... 28
4.10. Installation Designer方式第八部分... 29
4.11. Installation Designer方式第九部分... 30
2004年,InstallShield将DevStudio 、MultiPlatform 和Update Service 集成到了一起,形成了InstallShield X
Install shield X分两个版本,一个是InstallShield X Express和InstallShield X Premier Edition 。前面的是为快速简单打包一个程序而设计的,如果你的应用程序只是简单安装,写写注册表,做做快捷方式不要写程序那种,用这个最快,又看起来专业;而如果要制作和定制强大,有特别要求的,如:写数库,运行SQL,EXE,等等要求,那求需要Premier Edition版的了。
当然他们都可以制作任何平台任何系统下的安装程序,如Mac OS X, OS/400, Windows, AIX, Solaris, Linux, HP-UX或是各种类型的Unix系统。支持64位应用程序。
下面是Install shield X 10.0 Premier Edition 版的介面,
我们新建一个项目,不同的项目,可能出现的选项不同,但基本都是差别不大,在使用时根据项目的要求选择其中一种类型,Web项目要建IIS这个,其他类型里可能没有这项目。
下面选择项目类型对话框:
新建完成项目后,Installshield 10会进入Project Assistant界面,这是从DevStudio 9开始出现的安装助手,它将一些最常用的操作按照“上一步”、“下一步”的方式组织成为一个向导,你可以利用此向导快速的完成安装程序制作的全过程。
不过此方式过于简单,他同Express版一样是一个快速向导,只能进行一些超级简单的工作,如:公司名称啊等,如果你想进行复杂一些的操作就做不到了。所以,我建议那些需要制作专业的安装程序的朋友们还是使用Installation Designer方式来制作安装程序,
Project Assistant方式和Installation Designer方式,我们选择Project Assistant,快速建立一个安装程序,其实我平常一般用Project Assistant方式建立好一个其本安装程序后,看看能不能正常安装,然后,再选择Installation Designe方式做更详细的工作。
现在开始使用这种方式一步一步的建产安装程序。
在图片的下面有七个步骤的图标,底下两头都有一个‘上一步’‘下一步’的箭头,之于做什么用的,不用我说了吧,到了这里了你就看着办吧。
二话不用说,点‘下一步’,因为上面那步好象没有东西要填,事实上你的想法是对的,确实不要填什么,这才叫傻瓜化!
介面还算漂亮吧?更让人兴的是,这些介面都可以改的,而且还可以换主题,上图是默认主题,他有五,六种可选,如可选Windows XP主题等,如果你要特别的,到网上下吧,这里我就不多说了
好了,现在点‘下一步’出来一个介面,图片如下:
这里左边是改变默认参数的打开链接,还有帮助链接等,右边才是我们要填的内容。分别是:公司名称,应用程序名称,应用程序版本号,公司的网站地址,最后一个有个小电脑图标那里,是要你选择一个图标,这个图标就是你以后做成安装程序的图标哦,有空自己做一个,不过这里我就用默认的图标算了。
对了,在选择安装图标上面还有个Yes/No的项,好象是说,当版本更新了,是不是通知最终用户更新。
傻瓜化也要填公司名,软件名啊,总比默认的My Project Name-3要强吧,当然既然用了专业的工具我们还是用点专业精神吧,填好后,接下来点‘下一步’,
看下面的图片:
这里是让你选择你的应用所支持的操作系统和一般系统上要满足的基本条件,如果你安装.net应用,当然要目标计算机上有.net的运行环境啊;要是必需IE6才安装软件,就得选上IE6。
不过我刚用不久,还不清楚是不是可以加项目,如:有没有超星阅读器啊等等。反正我也不清楚,这里说说而已,看了后自己搞,这里就当抛砖引玉吧。
在图片里是用默认的,没有选择。如果你的软件一次编写可以在所有WIN平台上用的话,当然你也可以这样选择。不过有时如果你只想要用户把软件安装要Server2000,Server2003服务器上,那就只选择这两个就行。
选择好后,继续点‘下一步’,图片如下:
这里是要我们把软件里面的文件,按类型分类,放到几个目录里面,以后在定制安装类型时时,要选择这里的内容的,如:假如我把软件文件放在A,B两个目录(正确说应叫Features)里,到时我在典型安装里只选A(Features),以后在做成安装程序后,只要用户选择典型就只安装A目录(Features)里的文件,不会安装B(Features)里面的。
如果你要改动,先选择YES就可以改了。
我们看‘下一步’,这里是选择真正的文件了。介面如下图。
这个介面内容有点多,左边的我就不说了,傻瓜也明白,呵呵。我们看看右边,图片上有个bmp1文件夹,那是我用‘Add Folders’这个按扭加进去的。(提示:在加目录时会有一个对话框,请记得选中‘包括子目录和文件’这个选项),最右边列表框里的*.jpg,*gif这些图片是bmp1这个电脑文件夹中的文件。其它的我都没动。’All application Data’这是上一步我们建的目录,在这里可以选了,也就是说,这里我们可以把要安装的文件归到我们定好的类型下面去,如果以后选中这个目录,那就意味着包括了这里为他分配的所有文件了。
因为上步我没建目录,所以这里我没有其它可选,那默认所有文件就归类于’All application Data’这个目录里了。
中间的列表框,都是目录,但名字有点怪,呵呵,但一看就明白,InstallShield用变量代替了实际路经,[]这种号里的都是变量。要看更多已定义的变量,方法是在他们身上点右健弹出菜单就看见了。这个介面里的ProgramFilesFolder,等就是代表电脑里Program Files文件夹,CommonFileFolde也一样,就是代表电脑中Common File 夹,至于这些变量在那定义,我一下没找到,当然如果你有空就去找找看,应在一张对应表里的。不详细介绍了,我点‘下一步’了。
点‘下一步’图片如下:
这个介面里只有一个大的列表框,那里放的是你想放在开始菜单里所要给用户看到的东西,
Installshield看已会从你选择你文件夹里找exe可执行文件,找到会列出来,你可以增加,册除。
如果一个都没有,那你就点‘NEW’自己加。注意: 如果你选中列表中的一个,对应在列表的右边有几项,默认第一项是选中的(就是说创建一个开始菜单)。第二个是在桌面也创建一个快捷方式,第三个是为这个快捷方式选择一个图标,还有一个简单,就不用我说了吧。
我们往走,‘下一步’,(图片在下面)这里是要我们填注册表,你可以把写好的注册表复制进来,也可以手工加,如果你的软件不要写注册表,那也可以不动,这种叫绿色软件。老是要写注册表的软件用户看到就烦。如果不是十分必要,就不要加。(图片里我加了一个SINO键,但没有数据)
接下来就是选择语言(图片如下:),InstallShield X 10.0 已经包括了大部分语言,不用再象以前那样,要下载语言包,才能用中文,现在好了,选上简体中文就OK了。
如果你选择了两种以上的语言,安装里一启动就问你选择那中语言安装。要是你的程序只要中文那就把英文删了。如果你在做软件时,提供了几种语言,并在做安装程序时也分类好了,那么你可以同时选择几种语言,以供用户选择安装。
这里需要说明一点的是,你可以在语言框上面的下拉控件里选择你已分类好的不同语言的文件目录,就是说,你可以把不同语言版本的文件放在不同的目录里,到这里你就可以选择某个目录为他选择相应的安装语言。
Project Assistant方式的最后一步(图片在下面)选择一种安装类型,然后点‘build installations’就行了。如果是选择第一种它会自动生成一个.exe文件。
这里实际就是开发模式,你可以做你想做的事,还可以用类似C++语言的脚本编写程序,调用API建立数据库,写注册表,检查目标系统完整性等。
这里基本上是上面那种方式的文本介面,如果不合适,你可以修改。
共分为九个部分,下面会一一介绍。
Organization是IS X中负责安装内容组织的部分。
下面有三个子项目,Setup Design,Features,Components。Features是所有的安装子项目,并没有该子项目下的文件和文件的相关设置;Components是所有的文件(组件),它只是将整个安装项目中所有的文件按照目录顺序进行罗列和管理,Setup Design则是集成了Features和Components两部分功能,它是按照Features的组织结构来罗列和管理某个Feature下的所有Components。
在这里,我们可以添加新的Features,Features就是安装中可以选择不同的安装部分,比如Whidbey中的64位支持的Feature我就没有装,呵呵。不过我做过的安装例子都是缺一不可的,所以也没有分过,只有一个Default的feature,所有的都装在Default下面,连界面上的选择自定义安装方式的界面都跳过去了,也许是我的例子太小了。Features是可以树状组织的,只要你的代码作的好,你可以尽量去分。
Components的含义:一般的文件(.aspx和CSS、图像等等文件)是一个目录作为一个Component,有一个全局Component(默认名称为AllOtherFiles),然后每个有文件的目录就是一个Component;而每一个EXE和DLL是作为一个独立的Component的。这样的好处是:我们一般不会针对页面和图像文件做什么设置,所以将一个目录作为一个Component易于管理。
Component的设置可以在Components中进行,也可以在Setup Design中进行,
Destination Permissions:权限,有时候我们的某个Web目录是上传文件所用的目录,那么该目录应该是ASPNET帐户可写的,那么最好在此Component上来设置ASPNET的权限,这样可以保证上传功能的正常
Permanent:持久内容,有些内容需要卸载时继续保留在计算机上,比如使用信息、Access数据库文件等等,那么我们就可以将它的Permanent设为“Yes”。
其他的还有一些关于COM和.Net 的相关设置,这里就不再赘述了。
将Component展开后会出现如下图所示的界面:
File是该Component所包括的文件;Registry Data 是为了添加注册表信息的;Shortcuts是添加快捷方式到开始菜单和桌面;
Advanced Settings则是一些高级设置,如:Application Paths是向注册表写入应用程序路径来使程序在没有改变PATH环境变量的情况下找到其所需的DLL的;Assembly是注册私有或全局的Assembly的;
Com Registration是注册Com使用的,如果你的.Net程序使用了Com组件,可以从这里进行注册,即Regsvr32的作用;File Types是定义文件类型和打开方式的;
Control NT Service和Install NT Service则是供安装和控制NT服务使用的,如果你的程序中包括NT服务,那么可以通过在该Exe或Dll上设置Install NT Service来安装,NT Service的各个属性均可以在这里设置。
这一部分主要的内容有两个:Files and Folders和Redistributables,Mobile Devices是IS X新增的内容,是为了安装项目中有某个手机使用的程序安装所用的,现阶段用此功能用的很少。
Files and Folders是管理本地和目标机的目录和文件所使用的,你可以拖动本地的文件到目标机的某个目录中。在这里,目标机上的一些特定的系统目录均会在这里列出来(如下图所示),如果你需要将某些文件放到IIS的根目录、System目录、桌面上等都可以轻易实现。
看下图:
再添加文件夹时,可以使用动态链接方式添加,如果你在添加完成之后又向该目录中添加文件或者删除文件,那么IS在编译时会自动地修改文件列表,如果不使用动态链接的方式,如果你向此目录中添加了文件,那么将不会一起打包,如果删除了文件,IS在编译时将会报错。
Redistributables:此视图中包括本地目前所有的InstallShield Objects和第三方的Merge Modules(.msm文件)。如果你需要安装MDAC2.8、OLE DB、MSDE等等,都可以直接在这里将该组件选中,那么安装程序中将自动安装该组件。使用IS之前,我安装Web项目到Windows 2000 Server上时,由于有的Windows 2000 Server上没有MDAC2.7,而.Net 程序又需要该组件,我又需要手工安装MDAC2.7,使用了IS后,我就可以直接选中MDAC2.7,在安装程序安装时会自动侦测有无MDAC2.7,如果没有就会自动安装并重新启动,然后再继续安装。
IS X又多了若干组件,比较常用的是:JRE1.4.2和IE6,这两个都是Setup Prerequisites组件,我们不用为安装程序无法安装JRE而烦恼了(至少我以前都是采用其他方式安装的)。这些组件需要说明是在哪个Feature中使用的。
下面是组件图:
看下图:
这里共有五项:快捷方式(Shortcuts)、注册表项(Registry)、ODBC Resources、INI File Changes、环境变量(Environment Variables )。
Shortcuts:这里的Shortcuts是指设置全局性的快捷方式(这些功能在Organization部分也有,只不过那里是在某一component上设置)。你可以将快捷方式添加到开始菜单(Start Menu)、发送到(Send To)和桌面(Desktop)。这里设置都比较简单,在此就不再详细说明了。
有一个设置方式需要在此说明一下:我们在安装Web服务器项目时,有时候需要添加一个访问我们Web项目的快捷方式,而不是做一个安装目录中静态页面的快捷方式。这样做的好处是我们点击快捷方式之后系统会打开一个IE窗口,URL指向http://localhost/MyWebSite。而这一功能我没有在IS的图形操作中找到,我实现的方式是:先在这里添加一个指向web目录的某一页面的快捷方式(如指向.htm或者.aspx.jsp),
然后到Additional Tools中的Direct Editor中找到Shortcut表,
Arguments的内容改为需要访问的URL,如localhost/site/default.aspx,你也可以写成你的个人网站或者公司网站,这样可以从菜单直接访问你的主页了。
还有一个添加卸载本程序的快捷方式也是如此制作,只不过他的Target是[SystemFolder]msiexec.exe,Arguments是/x [ProductCode]。
Registry:管理注册表项使用的,这里添加的基本都是静态信息,如果要添加安装日期等动态信息,那么还是通过InstallScript来编程实现吧。
ODBC Resources:管理ODBC Drivers和DSN的,偶很少用,就不说了。
INI File Changes:大家都用.Config或者Xml了。
Environment Variables:添加环境变量用的,可能做Java程序的安装用的更多些。这个大家都知道了,我们在开发GX时都用到,现在你可以在这里写了标准的classpath把JDK,jdbc等路经加进去,还有GX本身自带的。
这里共有三项:IIS、Component Services(Com+服务)、SQL Server服务。
IIS:这时我们制作WebForm应用程序必用的项目,IS X比IS 9(DevStudio)多了添加多个Web站点的功能,而在IS 9 之前,设置一个IIS虚拟目录要修改手工多个Direct才能实现。
在这里添加站点和虚拟目录都很简单,各种属性的设置请注意看右边的属性表,基本上所有在IIS里边设置的属性这里都可以设置。
Component Services:COM+的安装从来没用过,不说。
SQL Servers:这也是IS 新增的功能,IS X之前我都是自己做一个WinForm程序来执行安装数据库、配置Web.Config和License等工作。IS X提供了一个Database Import Wizard来将本地的某个数据库导入到IS中(其实就是导成Scirpt文件),导入过程很简单。导入的Script文件会存储在安装包中,在安装时,安装程序会帮助你安装SQL数据库。在这里你还可以设置对目标机上数据库的限制,如SQL Server的版本、是否可以安装在MSDE等。
其实这种方法,我们都没有用,因为我们用jsp,部署到应用server里,我们只要在安装时选择应用服务的特定目录下就行,后然再写几行程序,在安装完后自动运行应用服务器不就行了,呵呵,
其实这里上一部分的,我把他拿下来了,这里是配置安装MS SQLl Server,以及创建表的脚本。
上面是一个创建表的SQL,在安装进他会要你连接数据库来创建表,他会问你登录的用户名和密码的,这里我还insert 了几行数据。要问怎样连数据库,只要你右健建一个New SQL Connection 连接,他会有向导的。
只是遗憾的是没有Oracle数据库的直接支持,没办法,谁要Installation是MS的合作伙伴啊。我们这些用Oracle的,只能手工写介面搞了。。。。,有一种方法就是,自己做一个EXE专门来连数据库,比如用Delphi做一个,然后在安装过程中,或者完成之前后,调用运行这个EXE不就OK ,呵呵。要么干脆把它一起当作软件的一部分,安装到开始菜单里,以后自己想配置就配置。
这一部分应该属于高级功能,它不像上面几部分一样只要你清楚功能就可以很方便的完成设置。这一部分主要包括使用InstallScript编程实现所需功能和自定义某些安装设置、流程和一些特殊操作。InstallScript:这是Installshield的脚本语言,利用InstallScript你可以完成很多的操作,从文件操作、Xml操作、注册表操作等等。InstallScript的语法与C++类似,并且提供了大量的函数,可以比较简单的完成程序编写。
编写InstallScript是从新建Script文件(.rul)开始的,我们在Script文件中建立的每一个函数都会在Custom Actions下备选,这样我们就可以很好的控制我们编写InstallScript函数的运行顺序了,此功能主要是将自己定制的各种功能加入Install的安装过程中,定制的功能可以是在上面编写的Installscript函数,也可以是独立运行的EXE、DLL中的某个函数、VBScript,JScript等等,可以直接添加或者使用向导(Custom Actions Wizard)添加
添加过程中或添加结束后有很多的属性可以设置,这些属性包括自定义功能运行的方式(是否等待运行完成自定义功能再向下执行)、运行的条件、运行失败的操作、在各个安装序列中的安装次序等,各部分请大家对照属性设置表和使用帮助来详细了解。
也可以自己写了一个WinFrom来执行Sql Server或Oracle数据库安装、License输入、修改Web.Config中数据库连接串和License等工作,我添加了一个指向DataBaseSetup.exe的Custom Action,让他在结束安装前调用,这样在所有的Web程序安装结束后我就调用此EXE进行配置,配置完成退出此程序就结束整个安装。
但是现在用SQL不用这样了,它已经集成到这里来了,如果把ORACLE也搞进来多好啊。如果你是用ORACLE,不好意思,你手工写WinFrom来搞吧。
Sequences:此功能为设置全部动作的安装顺序,可设置的元素包括:用户界面、标准的安装动作、自定义的功能等,你可以通过Move Up、Move Down或者更改Sequence Number来调整安装顺序或者直接将某些Sequence删除。你也可以在这里加入一些自定义功能或者系统功能。
如果你需要你的安装程序完成后重新启动电脑,那么只需在Sequence的最后插入一个IS的标准工作(Standard Action)ScheduleReboot,此动作的功能是在安装结束时提示用户重新启动计算机。
其它功能:
Support Files使用此功能,安装程序制作人员可以添加一些只有在安装过程中才会使用的文件,比如语言文件、Splash的位图文件等等。
System Searches在安装过程中搜索目标机系统中的文件、文件夹路经、注册表项目并以此决定系统文件夹(IIS)的位置、系统的版本等信息来确定安装中所需的某些参数。
Property Manager在此视图中编辑属性表,很多属性都是上面的各个视图中出现的
User Interface
此视图中可以管理所有的用户界面。Dialogs中包括系统中所有的对话框,在这里我们可以简单的更改每一个对话框中的对象的行为,更改对话框中的文字和图片,如果你在Project properties中的安装语言项目中选择了多种语言,那么每种语言对应的对话框都会列出来,就可以分别修改了。
在此我们也可以导入、导出对话框。大家要注意有一个LicenseAgreement对话框,即许可证协议对话框,在这里我们需要选择一个.rtf文件,在安装过程中rtf文件中的内容就会显示在协议文本框中。所有的正规的安装程序都需要设置此项(要好好的写你的License啊,呵呵)。
IS支持定制用户界面,不过在Web项目中并不支持此项,如果是安装一个WinForm程序则可以使用其它的Skin来美化你的安装程序。这里本身就有六种介面可选,看书选个喜欢的介面吧。
Media 在此视图中定义你的安装程序的文件组织等信息。我都是使用Release Wizard,所以没用过此项目,还是Release Wizard比较方便直观,如果你喜欢这样那就用吧!
这是Designer方式的最后一个,所有系统里的语言啊,文子啊,都在这些表里,要做什么就看你的了。不过,要知道的是有些是很难改动的,比如,安装介面的一些图片、左下角的Installation标志等好像改了没用,可能是我不熟,请看下图。
Additional Tools就是附加工具视图。
Dependency Scanners
此工具可以扫描安装项目中的执行文件和库文件,这样可以发现你的程序都需要哪些系统环境和Dll支持,这样可以保证你的程序在部署到客户计算机时尽量包括所需要的各种库,而不是要客户再去查找、安装。
MSI Debugger
MSI安装项目的调试功能,在这里你可以对于每一个自定义功能和对话框的执行进行调试。InstallScript安装项目没有此功能。
其实你选择不同的类型,这份说明指南里并不能面面具到,所有没有也是正常的,只是你选择类型不正确,我一般用MSI类型,建立WEB项目当然用WEB类型,但是你要选择其它类型也可以的。要正确选择类型,请看帮助吧,在这里不再细说了。
Direct Editor
在此编辑所有的MSI Tables。我们在前边设置的各种信息,如产品信息、快捷方式等等内容全部都存在MSI Tables中,就是上面这部分开头所说的,要改动的你就改吧。
这份简单说明书里只是帮助你使用Installshield这个软件,丰富经验是不断实践中得到的,如果要精通Installshield,你需要经常使用。
(结束)
此文一式两份,.doc和.html。
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=211593