Installshield 12 中文系列教程 之 Basic Msi项目(二)
2008-11-18 13:00
585 查看
Installshield 12 中文系列教程 之 Basic Msi项目(二)
×××××××××××××××××××××××××××××××××××××××××××××××声明:本文为《打包技术网》原创,转载请保留此声明并注明出处,仅供网友学习使用,勿用于商业用途。
作者:棒槌_007
联系方式:QQ 113984419 MAIL:bangchui_007@126.com
说明:本人E文实在一般,文中有翻译不准确的地方,请各位见谅。
×××××××××××××××××××××××××××××××××××××××××××××××
第二步:快捷方式和注册表数据
这一步解释了如何使用IDE:
创建程序快捷方式
创建注册表信息
这个步骤与在系统中创建其它类型数据的过程类似。要察看更多的信息,下面的主题。
创建快捷方式
你可以在Shortcuts视图中建立修改快捷方式。快捷方式的属性包括它显示得名,它的目标执行文件和参数,和它显示的图标。
在这个步骤中你将在开始菜单的程序文件夹中为Tutorial App创建一个快捷方式。
1.打开Shortcuts视图。Shortcuts视图位于System Configuration区的视图列表中。2.右键单击Programs Menu文件夹图标,选择NewAdvertised Shortcut ,这时会弹出一个Browse for aComponent 对话框。
3.在对话框中,从Feature 下拉菜单中选择Tutorial_Files,并从文件列表中选择Tutorial.exe,单击Open 关闭对话框。4.用内部名字为快捷方式重命名,象Tutorial
5.设置快捷方式的下列属性:
特性 | 值 | 备注 |
Display Name (显示名称) | Tutorial Application | 为了适应目标系统不支持长文件名,IDE将创建一个包含短文件名的表达式,象“TUTORI~1|Tutorial App”。如果你想,你可以改变表达式的短文件名部分,比如“TUTORIAL|Tutorial App” |
Description (描述) | Launch the Tutorial application(执行Tutorial应用程序) | 在Windows2000或以后的系统中显示为一个工具提示。 |
Advertised (建议,通知,广告) | YES | 在运行时,如果用户宣传这个产品或者功能部件包括这个快捷方式,但是直到用户运行快捷方式,构件中的文件才会安装。 |
Target(目标) | 宣传的快捷方式目标[INSTALLDIR]Tutorial.exe | 自动的为一个构件的关键文件设置一个宣传的快捷方式 |
Icon File(图标文件) | <TutorialSource>/Tutorial.exe | 在源位置浏览Tutorial.exe,并选择它的惟一图标 |
Icon Index(图标索引) | 0 | 如果一个可执行文件的资源中包含多个图标,这个图标索引确定一个特殊的图标作为默认使用的。 |
Working Directory(工作目录) | [INSTALLDIR] | 工作目录应该设置为你另存为和打开对话框的默认目录。 |
![](http://pack.bangchui.net/images/GreenPark/attachimg.gif)
![](http://pack.bangchui.net/attachments/month_0711/20071114_4d67823a4949fa0caff48cOredx97vBj.png)
![](http://pack.bangchui.net/images/attachicons/image.gif)
38.png (46 KB)
2007-11-14 14:19
技巧:要为一个用户机器上已有的文件创建快捷方式,输入文件的路径即可,可以使用系统变量来表示文件的路径。比如,要使用用户Windows或着WinNT目录的Windows Notepad程序,输入快捷方式的目标为 <WINDIR>/ Notepad.exe 。
创建注册表数据
应用程序的另一个公共需求就是要向目标系统的注册表中写入信息。要为一个构件添加注册表数据,你可以使用Registry(注册表)视图。
例如,要在HKEY_LOCAL_MACHINE/Software/TutorialCo/Tutorial/1.00.0000下面添加一个注册表项叫做TutorialData :
要建立这个注册表项:
1.切换到Registry视图,Registry视图位于SystemConfiguration区域的View List2.从视图顶部的View Filter中选择Tutorial.exe
3.在Destinationcomputer's Registry视图面板中的HKEY_LOCAL_MACHINE处单击右键,选择New指向Key4.重名这个键为SOFTWARE
5.重复这个过程建立相应的子键Tutorial Co, Tutorial, and 1.00.0000
6.在Destinationcomputer's Registry数据面板中,单击右键选择New String Value7.重名这个值为TutorialData
8.双击这个TutorialData值,然后在取值区域内输入[INSTALLDIR]
注册表视图应该象下图:
![](http://pack.bangchui.net/images/GreenPark/attachimg.gif)
![](http://pack.bangchui.net/attachments/month_0711/20071114_38f8f44514b0a406b82d7kYHqvLjFPcS.png)
![](http://pack.bangchui.net/images/attachicons/image.gif)
39.png (49.44 KB)
2007-11-14 14:19
技巧:要把一个Windows Installer" onclick="tagshow(event)" class="t_tag">Installer 特性值写入到注册表中,你可以使用[PropertyName]。在本例中,创建一个数据为[INSTALLDIR]的注册表数据把INSTALLDIR的值写入到注册表中。
在运行时,如果最终用户选择一个安装类型或者自定义的功能部件中包含Tutorial.exe文件,这个注册表值就会添加到目标系统中。
验证创建的快捷方式
要验证你的安装程序创建的快捷方式:
1、重新编译你的项目,使用工具栏Build按钮或者按F7键2、运行项目,使用Run按钮或者按Ctrl+F5(首先需要从你的系统中卸载已经存在的版本)。这时在你的Start(开始)菜单中的Programs程序目录中将会出现一个Tutorial App的快捷方式。
验证创建的注册表数据
要验证你的安装程序创建的注册表数据:
1、通过快捷方式来运行Tutorial App2、从Tutorial 菜单中选择VerifyRegistry Data (验证注册表数据)。如果这册表的数据已经创建了,那么将会弹出一个对话框显示<TARGETDIR>的内容。
在教程中的下一个步骤中将会说明如何注册一个COM服务(自注册文件)。
第三步:注册 COM 服务程序
对于大多数文件,安装程序只需要从源安装介质拷贝文件到目标系统。另外的一下,安装程序也只需要在目标系统中注册这些文件。一些特别的文件种类,需要额外的处理是一个selfregisteringfile(自注册文件)。一个COM服务程序通常是DLL文件或.ocx文件,它所需要的附件信息在应用程序和WEB页面使用这个自注册文件之前会被写到目标系统的注册表中。
创建一个COM服务程序构件
要安装注册这些或者其它类型的文件,你可以使用Component Wizard(构件向导)。这个Component Wizard创建构件,复制文件执行附加的注册步骤。在这个步骤中,你将创建一个构件来安装和注册它用到的Tutorial.ocx和一个HTML文件。
要创建一个COM服务程序构件:
1.打开Files and Folders视图。
2.在Files and Folders视图的顶部,从选择Add newcomponents to the feature菜单中选择Tutorial_Files功能部件
3.在Destination computer's folders面板中,右键单击[INSTALLDIR]目录并选择LaunchComponent Wizard
![](http://pack.bangchui.net/images/GreenPark/attachimg.gif)
![](http://pack.bangchui.net/attachments/month_0711/20071114_081247c51a3b572c334fSKt2IpkfvqM7.png)
![](http://pack.bangchui.net/images/attachicons/image.gif)
[b]40.png (11.73 KB)
2007-11-14 14:19
[/b]4.在ComponentWizard的Welcome面板,选择“Let me select a type and define the component myself(让我自己选择类型定义构件)”选项,单击NEXT
![](http://pack.bangchui.net/images/GreenPark/attachimg.gif)
![](http://pack.bangchui.net/attachments/month_0711/20071114_064de8335023fd26d5e0Db6RZCHc9OZj.png)
![](http://pack.bangchui.net/images/attachicons/image.gif)
41.png (32.95 KB)
2007-11-14 14:19
5.在Component Type 面板中,选择COM Server 图标,在ComponentName字段输入Tutorial.ocx,单击NEXT
![](http://pack.bangchui.net/images/GreenPark/attachimg.gif)
![](http://pack.bangchui.net/attachments/month_0711/20071114_47bb835266ad3bfca654MK0ida6qQVYb.png)
![](http://pack.bangchui.net/images/attachicons/image.gif)
[b]42.png (20.02 KB)
2007-11-14 14:19
[/b]6.在COMServer—Destination面板中,验证目标设置的是[INSTALLDIR]
![](http://pack.bangchui.net/images/GreenPark/attachimg.gif)
![](http://pack.bangchui.net/attachments/month_0711/20071114_ee675864a59aeaeb79928naPwQytEeVT.png)
![](http://pack.bangchui.net/images/attachicons/image.gif)
43.png (16.83 KB)
2007-11-14 14:19
7.在COM ServerFile面板中,单击COM Server File区域旁边的浏览按钮在tutorial的源文件目录中找到Tutorial.ocx,单击Next
![](http://pack.bangchui.net/images/GreenPark/attachimg.gif)
![](http://pack.bangchui.net/attachments/month_0711/20071114_2b0cd4af191d41669f3aeZcbm14UTe9a.png)
![](http://pack.bangchui.net/images/attachicons/image.gif)
[b]44.png (18.15 KB)
2007-11-14 14:19
[/b]8.在Component Wizard收集了COM的信息后,检查COM的信息然后单击Finish创建构件。
![](http://pack.bangchui.net/images/GreenPark/attachimg.gif)
![](http://pack.bangchui.net/attachments/month_0711/20071114_4ba2db207e03825317b9SdjHeTQ111lj.png)
![](http://pack.bangchui.net/images/attachicons/image.gif)
45.png (18.33 KB)
2007-11-14 14:19
下一步是为刚建立的构件添加HTML文件。
要为Program Files功能部件的新构件添加HTML文件:
1、在Destination computer's folders面板中的Files andFolders视图中,选择新Tutorial.ocx 构件。2、把TutorialCtrl.html从Source computer's files视图中拖动TutorialCtrl.html到Destinationcomputer's files 面板中。
3、确认Tutorial.ocx已经在它的构件文件中标记为关键文件。
![](http://pack.bangchui.net/images/GreenPark/attachimg.gif)
![](http://pack.bangchui.net/attachments/month_0711/20071114_5eb0a5b6887229e4b15eizJDJRyILa9O.png)
![](http://pack.bangchui.net/images/attachicons/image.gif)
46.png (62.15 KB)
2007-11-14 14:19
确认COM服务程序已经注册
重新编译你的版本(按F7),运行安装程序(按Ctrl+F5),你可以验证那些文件是否适当的注册了。
1、从开始菜单中找到Tutorial App的快捷方式或双击它的图标来运行程序。2、从Tutorial菜单中选择COM Server测试
3、如果COM服务程序已经注册正确,那么HTML页面将显示“success”信息。
这个Component Wizard(构件向导)也能创建一个安装构件配置字体或Windows NT 服务。
在教程的下一步中将示范如何有条件的安装文件。
第四步:条件和特性
安装程序一个公共的需求就是只有当目标系统满足特定条件时才安装指定的文件。例如,文件可能被指定到操作系统或语言,或应只能在用户如果有适当的权限时安装。
要在一个指定的操作系统中安装一个构件(文件和其他数据),你可以使用构件的操作系统属性。你可以打开Setup Design视图,展开相应功能部件找到相关的构件,来修改构件的属性:
1、切换到Setup Design 视图2、右键单击HelpFiles 功能部件,选择New Component
3、重命名这个构件为windows_nt_files4、展开Windows_NT_Files构件,单击构件的Files 图标,通过右键单击Files 面板中的源文件目录,找到ReadmeNT.txt添加到构件中。
5、右键单击 .txt 文件选择Set Key File6、单击windows_nt_files构件显示构件的属性列表
7、选择构件的Condition(条件)属性,单击浏览按钮打开ConditionBuilder对话框。
![](http://pack.bangchui.net/images/GreenPark/attachimg.gif)
![](http://pack.bangchui.net/attachments/month_0711/20071114_84e1bc90829939229dd2jOODB17CHQgP.png)
![](http://pack.bangchui.net/images/attachicons/image.gif)
47.png (11.95 KB)
2007-11-14 14:19
8、创建下列条件:VersionNT>=500。要了解创建条件的详细信息,参考Building Conditional部分。
9、单击OK关闭ConditionBuilder对话框,完成添加条件
![](http://pack.bangchui.net/images/GreenPark/attachimg.gif)
![](http://pack.bangchui.net/attachments/month_0711/20071114_f8302f69b1d2a6794e1bYBUveT7mSsPC.png)
![](http://pack.bangchui.net/images/attachicons/image.gif)
48.png (56.27 KB)
2007-11-14 14:19
在重新编译(按F7)运行(按CTRL+F5)后,如果目标系统是 Windows 2000或者更高的操作系统,那么构件包含的文件和其他数据都将安装。
Windows安装程序条件
Windows安装服务存贮关于安装程序的一些通用性信息和关于用户操作系统的属性。一些属性建立在你的MSI数据库的属性表中,还有一些在用户运行应用程序时由Windows安装程序引擎创建。
共用的条件属性包括:
管理员用户,这个是设置你的安装程序运行时是否具有管理员权限(Windows 9x系统中必须设置为管理员权限)
VersionNT 和 Version9X,用数字描述用户运行程序的操作系统及其版本
PhysicalMemory(物理内存),包含用户系统中的RAM总数以MB计算
一个Windows Installer条件是一段逻辑语句,用来比较属性值是否与固定值的关系,或者判断一个属性是否存在。例如,Windows安装程序定义了一些属性ScreenX和ScreenY,是包含用户显示器的分辨率像素值。一个Windows安装程序的条件是检查这个用户的分辨率最低时800×600,(ScreenX >=800,ScreenY >=600)。
条件也可以测试一个属性是否定义了。例如,管理员属性只有在用户使用管理员权限的时候才会设置,而探测一个用户是否具有管理员权限的条件就是“AdminUser”。
要创建一个只有在用户有管理员权限的时候才安装的构件:
1.右键单击Help_Files 功能部件选择New Component
2.重命名这个部件为Admin_Component
3.展开Admin_Component构件,单击Files图标
4.从tutorial文件的源目录中添加AdminOnly.txt ,并将它设为这个构件的key file(关键文件)
![](http://pack.bangchui.net/images/GreenPark/attachimg.gif)
![](http://pack.bangchui.net/attachments/month_0711/20071114_87fe8f2cdc588f2655c5cxQ08MCS40RV.png)
![](http://pack.bangchui.net/images/attachicons/image.gif)
49.png (39.05 KB)
2007-11-14 14:19
5.单击这个构件Condition属性按钮,显示ConditionBuilder对话框
6.在ConditionBuilder对话框中的Condition(s)区域输入AdminUser
7.单击OK
![](http://pack.bangchui.net/images/GreenPark/attachimg.gif)
![](http://pack.bangchui.net/attachments/month_0711/20071114_c8c9a626631e41d2b82fqTPagQqMOCJa.png)
![](http://pack.bangchui.net/images/attachicons/image.gif)
50.png (35.2 KB)
2007-11-14 14:19
在安装程序运行时,只有用户拥有管理员权限这个构件才会安装。
教程的下一步中将描述如何修改安装程序的用户界面。
第五步:更改最终用户界面
这个步骤列举了你可以修改安装中的用户界面的两个办法:
1、指定安装期间显示的对话框2、使用Dialog Editor(对话框编辑器)来修改对话框的布局和特性
添加一个新的对话框
Basic MSI项目包含多种对话框你可以用在安装程序的用户界面中显示。在教程中Running Your Installation 的部分中显示的对话框,就是基于项目助手中的安装体系结构页中定义的。
要创建一个新的对话框:
1.打开Dialogs视图。
![](http://pack.bangchui.net/images/GreenPark/attachimg.gif)
![](http://pack.bangchui.net/attachments/month_0711/20071114_64d8f4ea85ed220dc751FKtNNKwQLjEe.png)
![](http://pack.bangchui.net/images/attachicons/image.gif)
51.png (18.76 KB)
2007-11-14 14:19
2.右键单击All Dialogs节点选择New Dialog 。开始执行对话框向导。在Welcome面板中单击Next继续
![](http://pack.bangchui.net/images/GreenPark/attachimg.gif)
![](http://pack.bangchui.net/attachments/month_0711/20071114_36e115884b2caaed922aMmDhpiaSodHW.png)
![](http://pack.bangchui.net/images/attachicons/image.gif)
52.png (28.22 KB)
2007-11-14 14:19
3.在DialogTemplate 面板中,选择Interior.isd并选择Insert this dialog in a User Interface sequence选项
![](http://pack.bangchui.net/images/GreenPark/attachimg.gif)
![](http://pack.bangchui.net/attachments/month_0711/20071114_ac6ff2e7fd92d66900cdv3xwyXqNQOFN.png)
![](http://pack.bangchui.net/images/attachicons/image.gif)
53.png (20.49 KB)
2007-11-14 14:19
4.在User Interface 面板中,从用户界面的菜单中选择Installation 并选择对话框列表中的InstallWelcome。根据这些选择,InstallShield将立即按顺序在Install Welcome对话框后插入一个新的对话框
![](http://pack.bangchui.net/images/GreenPark/attachimg.gif)
![](http://pack.bangchui.net/attachments/month_0711/20071114_049948db9087f30427aaytHMvvY6XoEg.png)
![](http://pack.bangchui.net/images/attachicons/image.gif)
54.png (19.35 KB)
2007-11-14 14:19
5.在DialogPosition和Condition 面板中,保留默认设置,然后单击Finish 。新建的对话框就出现在Dialogs列表中。
![](http://pack.bangchui.net/images/GreenPark/attachimg.gif)
![](http://pack.bangchui.net/attachments/month_0711/20071114_c63e9fe3fe329a12625cTYfSZnHiMrZC.png)
![](http://pack.bangchui.net/images/attachicons/image.gif)
55.png (18.06 KB)
2007-11-14 14:19
6.右键单击这个对话框选择Rename 。重命名这个对话框为WelcomeBitmap
![](http://pack.bangchui.net/images/GreenPark/attachimg.gif)
![](http://pack.bangchui.net/attachments/month_0711/20071114_91676f33e8d85e03a048Q67bvZXuoMvX.png)
![](http://pack.bangchui.net/images/attachicons/image.gif)
56.png (47.96 KB)
2007-11-14 14:19
用同样的方法你可以在安装程序的用户界面中插入更多的对话框。
在对话框编辑器中修改对话框布局
Dialog Editor(对话框编辑器)允许你修改显示你的安装程序中对话框外观。
在这个步骤中,你将修改刚刚创建的WelcomeBitmap的对话框:
1.首先,创建一个300×150大小的位图文件(.bmp)
2.打开Dialogs视图
3.展开WelcomeBitmap对话框节点。单击English (United States) 打开Dialog Editor
4.单击对话框顶部的Dialog Bold Title 文本框。在Text区域,输入WelcomeBitmap更改对话框的主标题。
5.单击对话框顶部的Dialog Normal Description文本框,在Text区域,输入Displays mywelcome bitmap更改这个对话框的描述
6.单击DialogControl工具栏上的Bitmap按钮,用鼠标拖动外框,把它设置成高150宽300像素。
7.在File区域浏览第一步中创建的bitmap文件
![](http://pack.bangchui.net/images/GreenPark/attachimg.gif)
![](http://pack.bangchui.net/attachments/month_0711/20071114_63262492633fd834a194i0lw8EcqMzZQ.png)
![](http://pack.bangchui.net/images/attachicons/image.gif)
57.png (122.2 KB)
2007-11-14 14:19
在重新编译运行后,在Install Welcome dialog后将出现Welcome Bitmap dialog。
相关文章推荐
- Installshield 12 中文系列教程 之 Installscript 项目(一)
- Installshield 12 中文系列教程 之 Installscript 项目(一)
- Installshield 12 中文系列教程 之 Installscript 项目(二)
- Installshield 12 中文系列教程 之 Installscript 项目(二)
- Installshield 12 中文系列教程之自定义安装行
- Installshield 12 中文系列教程之 配置服务(一)数据库
- Installshield 12 中文系列教程之 配置服务(二)COM+
- Installshield 12 中文系列教程之 定义安装必要条件
- Installshield 12 中文系列教程之 配置服务 (三)配置IIS
- Installshield 12 中文系列教程之 配置服务 (三)配置IIS
- [Gradle中文教程系列]-跟我学Gradle-8.4-多模块项目- build文件
- [Gradle中文教程系列]-跟我学Gradle- 8.5 - 多模块项目- 分离配置
- [Gradle中文教程系列]-跟我学Gradle- 8.6 - 多模块项目- 水平布局和分层布局项目
- [Gradle中文教程系列]-跟我学Gradle-8.7.多模块项目之 - spring boot + gradle + 构建公共jsp页面的多模块项目
- struts2官方 中文教程 系列二:Hello World项目
- InstallShield12中文教程=部分收集=
- [Gradle中文教程系列]-跟我学Gradle-8.1-多模块项目 - 概述
- [Gradle中文教程系列]-跟我学Gradle-8.2-多模块项目- 项目结构
- [Gradle中文教程系列]-跟我学Gradle-8.3-多模块项目- settings文件