摘要:本篇文档会告诉你如何使用InstallShield开发平台来创建,编译,运行一个安装程序。在这篇文档中你会学习到安装过程中碰到的下面一些内容:加载安装文件,设置快捷方式,修改注册表,条件安装一些文件,注册com组件,更换安装界面,调试以及发布安装程序。
创建,编译,测试安装的工程
这一部分主要讲述如何快速的创建一个安装Project。
1、创建一个安装的工程
首先来看看InstallShield8.0的开发控制台界面,熟悉一下开发环境。
|
我们可以从文件菜单中选择开始一个新的工程向导,或者可以直接从工具栏中选中开始一个新的工程向导按钮,更直接的就是单击控制台界面上的Start the Project Wizard超链接即可弹出一个创建新工程的对话框如图2,你可以安装提示一步一步地往下走就是了。
图2 |
单击下一步,给我们的工程设置名称,见图3
图3 |
在上图中,当你输入一个工程的名字并单击下一步的时候,向导就会创建一个ProjectName.ism,被例子中则创建了liqiang_test.ism文件,你在IDE中对工程所做的设置都保存在这个文件中,如果你想将你的工程移植到其他机器上,你只需要将.ism文件复制到其他机器上即可。
单击下一步,选择安装工程的类型,见图4
图4 |
这个属性页允许你选择创建工程的类型,这里我们选择了InstallScript MSI Project,这种类型的安装程序使用脚本来驱动安装界面,使用windows installer来改变目标系统,比如添加文件,创建快捷方式,修改注册表,关于InstallScript MSI Project和Basic MSI Project两种方式详细的区别,你可以参考帮助文件。
单击下一步,设置应用程序的信息,图5
图5 |
还有一个就是设置安装路径,默认的情况下都是安装到C:\Program Files下,但是有一些例外,比如有的系统盘不在C上,为了使安装路径可以动态改变,installshield提供了ProgramFilesFolder属性,这个属性的值在安装的时候动态的初始化为目标系统的Program file 目录。
单击下一步
图6
这个属性页用来选择是否采用Installshield update service 自动地给你的用户发送更新消息,这里我们没有选择。
单击下一步,填写关于你们公司的信息
填写公司的名称和电话,网址等
图7
单击下一步,选择语言
图8 |
单击下一步,添加Features,见图9
图9 |
我们将缺省的Features删除,添加ProgramFiles and HelpFiles两个Features。
当你的安装程序很多情况下,可以通过这个属性页将你的所有的安装程序分组,然后在安装的过程中,用户可以选择自定义安装方式来自己选择需要安装的内容,这里为了简单举例子,我就分了两组。
单击下一步,将安装文件添加到相应的分组类。
图10 |
单击 Add Files,在弹出的对话框中选择相应的文件,
为了使你的安装工程可以很容易的移植到其他的机器上,工程向导或者IDE对你添加的每一个文件都创建了一个path variable,
单击下一步,设置快捷方式,图12
图11
图12 |
图13 |
图14 |
图15 |
图16 |
检查你在向导中设置的选项是否正确,如果确认无误,单击完成,就创建了一个新的安装工程,这个工程一般都在你的机器,我的文档目录下,下面进入第二部分,利用IDE修改我们创建的安装工程。
2、利用IDE修改安装工程
设置Features的属性
图17
Featrues的一些属性如下,你可以分别设置
图18
设置安装类型的属性,图19
对应三种安装方式,最小,典型,自定义,你可以分别选择不同的安装组件相匹配。
图19
从IDE中向工程中添加文件
下面我们演示如何向工程中添加文件,
首先打开Files and Folders视图
图20 |
然后从上面的source 文件夹中选中要添加的文件,然后拖动到下面的工程中,然后会弹出一个让你添加路径变量的对话框。
Ok,下面讲述一下如何编译我们的这个安装工程。
3、编译安装工程
单击"Build"菜单,如图21
图21
选择Realse 向导,弹出下面的对话,单击下一步,按照提示,一路走来。
图 22
在这个属性页中我们可设置我们安装文件的名称,单击下一步
图23
图24 |
图25 |
图26 |
单击下一步,进入选择媒体类型的页面,这里我们选择我们安装程序的发布介质,我们选择CDrom,
图27 |
图28 |
单击下一步,
图29 |
Ok,这里我们选择了Compress all Files,
单击next,
图30 |
单击下一步,我们来指定如何定位安装源文件
图31 |
图32 |
这个属性页同上
下一步,用来选择是否要添加NET framework组件。
图33 |
这里我们选择不包含net framework。下一步,包含Visual J#
图34
单击下一步,进入高级选项选择,图35
终于快要大功告成了,单击下一步,检查一下啊我们的选择是否正确,如果正确无误,单击完成,
图35
图36 |
图37 |
图38 |
具体的页面省略了,如果你一路跟我做到这里,我相信你的安装文件也可以运行了,下面我看看如果添加其他的东西,更精彩的内容在后面的呢,如果修改注册表,注册com组件,修改安装界面,等等内容。
设置快捷方式以及修改注册表
先讲一下如何设置快捷方式
下面我在开始的programes菜单中添加Imclient.exe的快捷方式
首先我们在IDE中打开ShortCuts视图,见图39
右键单击Programs Menu项,在弹出的菜单中选择New Advertised Shortcut,如果图40,然后在弹出的Browse for a Component 对话框中,从列表中选择Imserver.exe。如图40
图39
图40 |
图41 |
图42 |
图43 |
4、在弹出的添加组件向导中选择"Let me select a type and define the component myself",单击下一步。
图44 |
5、选择你要添加组件的类别,然后写下你的组件的名称
图45
6、下面选择你的组件在目标机器上的位置你可以选择放到安装目录下,也可以选择放到WinNT系统目录下
图46
7、单击右侧的浏览按钮,选择你的组件。
图47
将COM组件添加到安装工程:
图48 |
图49 |
Ok,现在运行我们的安装包就可以将G729AEC.dll安装目标机器上,并注册。
条件安装
通常我们在制作安装程序的时候,我们总是要考虑我们程序的运行环境,比如,操作系统的语言,用户是否有权限。
如果你想在某些特定的操作系统中安装你的程序,你可以通过设置组件的操作系统特性来防止你的程序在其他系统上安装。这个可以在Setup Design视图中完成。
下面我演示一下,如果创建一个只能安装到Windows NT 4.0 and Windows 2000 systems:下的组件:
1、打开Setup Design视图,图50
图50
2、右键单击Client项,在弹出菜单中选择New Component
3、然后将你新添加的这个组件,改名windows_nt_files
图51
图52 |
5、右键单击你的文件,将你添加的文件设置为Set Key File。
6、然后将window的操作系统属性设置为Windows NT 4.0 and Windows 2000。这样你的组件就只能安装到Windows NT 4.0 and Windows 2000系统上了。
图53 |
我们还可以设置Windows Installer Conditions来进行条件安装,具体的可以参考帮助文档。
图54 |
图55 |
////////////////////////////////////////////////////////////////// // // FUNCTION: OnBegin // // EVENT: Begin event is always sent as the first event during installation. // ////////////////////////////////////////////////////////////////// function OnBegin( ) begin // TO DO: you may change default non-UI settings, for example // // You may also perform your custom initialization steps, check requirements, etc. end; |
你可以在这个函数执行自己的代码了。
下面我们演示一下如何在这个函数添加一个MessageBox函数。
1)首先将begin和end间的//开头的都删?br>
2)按下CTRL+I弹出添加函数的向导。
3)在函数的种类列表中,选择"Built-in dialog box".
4)在函数名称中,选择"MessageBox".单击下一步。
5)In the szMsg field-which contains the message you want to display-type "Welcome to the Tutorial installation!" (including the quotation marks).
6)In the nType drop-down list-which specifies the type of message box to display-select INFORMATION.
7)Click Finish to paste your function call into the script.
最后,其实就是在你的OnBegin函数中添加了如下的代码:
function OnBegin( ) begin MessageBox ( "Welcome to the Tutorial installation!" , INFORMATION ); end; |
当你修改了你的脚本时,你就要重新编译它,这样,当你运行安装程序的时候,在弹出欢迎对话框之前就会弹出这个消息框。
InstallScript语言包含了大概250个函数用来处理相关的任务,详细内容参见帮助文档。
修改安装界面
处理用户的输入:
在你的安装脚本中,所有处理用户输入对话框的显示只在下面的四个函数中出现OnFirstUIBefore,这个函数里包含了用户第一次安装该程序,在复制文件之前的所有的对话框。
OnFirstUIAfter,这个函数包含用户第一次安装该程序,在复制文件之后所用到的对话框显示
OnMaintUIBefore,这个函数中包含了用户采用maintenance模式安装时,在复制文件之前的所用到的所有的对话框。
OnMaintUIAfter,这个函数中包含了用户采用maintenance模式安装,在复制文件之后所用到的对话框。
对于InstallScript MSI工程来说,其实这里最重要的还是OnFirstUIBefore and OnMaintUIBefore两个函数,用户无论是第一次安装还是maintenance安装,对话框显示都在这两个函数中,OnFirstUIBefore函数缺省的情形应该像下面这样吧。
Dlg_Start: // beginning of dialogs label Dlg_SdWelcome: szTitle = ""; szMsg = ""; nResult = SdWelcome( szTitle, szMsg ); if (nResult = BACK) goto Dlg_Start; Dlg_SdCustomerInformation: szMsg = ""; szTitle = ""; nResult = SdCustomerInformation( szTitle, szName, szCompany, nUser ); if (nResult = BACK) goto Dlg_SdWelcome; |
欢迎访问最专业的网吧论坛,无盘论坛,网吧经营,网咖管理,网吧专业论坛
https://bbs.txwb.com
关注天下网吧微信/下载天下网吧APP/天下网吧小程序,一起来超精彩
|
本文来源:vczx 作者:佚名