如何使用InstallShield制作安装程.docx
- 文档编号:7576717
- 上传时间:2023-01-25
- 格式:DOCX
- 页数:20
- 大小:326.88KB
如何使用InstallShield制作安装程.docx
《如何使用InstallShield制作安装程.docx》由会员分享,可在线阅读,更多相关《如何使用InstallShield制作安装程.docx(20页珍藏版)》请在冰豆网上搜索。
如何使用InstallShield制作安装程
如何使用InstallShield制作安装程序
本文选自张洪举老师编写的《专家门诊——VisualFoxPro开发答疑160问》
关于该书的详细信息请浏览张洪举老师的网站
辉源电脑工作室SiBill整理()
(注:
本文是在未经张洪举老师同意的情况下,为方便各位网友使用InstallShieldExpressVisualFoxProLimitedEdition而编辑并分发的,因此希望张老师能原谅我的这种做法,也请各位不要将本文用于任何商业活动。
另外,原文中的图片均采用英文界面,本文将全部改为简体中文汉化处理后的界面,文中涉及的所有选项和菜单名称也均修改为中英文对照的方式,中文名称均与汉化版本相同,以方便大家与简体中文汉化处理后的版本对照使用,文中部分语句也进行了适当的修改,使其更加通顺易懂。
)
从VisualFoxPro7.0开始,取消了一直使用的安装向导,而是在发布盘中附带一个有功能限制的InstallShieldExpress软件,虽然有功能上的限制,但是相对于安装向导而言,该工具所具有的强大功能和灵活的安装程序建立技术,使客户高效安装和配置应用程序成为可能。
由于该软件全部为英文界面,并且由于其功能强大也导致了安装设置上的复杂性与多样性,可能令许多一直使用安装向导制作安装程的VisualFoxPro程序员一时难以上手。
本文将结合一个具体安装程序的制作过程,详细介绍该工具的使用方法。
1、发布应用程序前
VisualFoxPro8.0安装光盘中包含了InstallShieldExpress3.54(SP4)的限制版,很自然,除了使用该软件外,也可以使用任何基于MicrosoftWindowsInstaller技术的安装程序制作软件来建立一个安装程序(.msi)或与MicrosoftWindowsInstaller兼容的合并模块(.msm),除了VisualFoxPro运行时间库文件外,一些发布方案需要合并模块,详细信息请参考VisualFoxPro帮助中对发布方案的介绍。
准备发布一个应用程序时,首先应该考虑几个问题。
除了在下面介绍的应用程序发布过程中的过程大纲外,还应当确认应用程序结构,解决如何交付应用程序给客户,以及如何更好的组织自己的安装程序,当回答了所有这些问题时,发布VisualFoxPro应用程序就准备好了。
本文的例子中要发布的这个应用程序是一个用于检测网络通信状态的工具,在该软件中,使用一个第三方控件PingWizard(用于执行网络检测)和通用控件MicrosoftStatusBarControl6.0(用于显示一些状态信息),该软件包含一个可执行EXE文件和一个CHM帮助文件及一些数据库文件。
2、使用InstallShieldExpress创建安装程序
建立安装工程是建立安装程序的第一步。
使用InstallShieldExpress建立的工程文件(.ism)是基于WindowsInstaller工程文件的,该文件存储所有的逻辑和必要的信息来建立一个与WindowsInstaller兼容的安装程序。
图1InstallShiledExpress界面图2新建工程对话框
⑴、建立安装工程
①首先打开InstallShiledExpress,如图1所示。
②在File(文件)菜单上单击New(新建)选项来打开NewProject(新建工程)对话框,图2。
③在ProjectNameandLocation(工程名和位置)框中选定要保存的工程的位置,并重新命名默认得工程名,然后单击OK(确定)按钮。
④如果要建立英语语言之外的安装程序,可以在ProjectLanguage(工程语言)列表框中选择一个相应的替代语言。
例如,如果要在安装程序对话框中使用简体中文文字,必须将语言设置为Chinese(Simplified),否则安装期间对话框的中文将会变成乱码。
需要注意的是,在选择了一种语言后,不能再进行修改。
该工程的设置如图2所示。
⑵、定义工程属性
在建立一个安装工程之后,可以定义工程的属性,如:
●ProductName(产品名称)
●ProductVersion(产品版本)
●ProductIcon(产品图标)
●所有应用程序文件的默认安装目录
●Readme文件的名称和位置
至少应该指定产品名称并指定一个默认安装目录。
InstallShieldExpress中的INSTALLDIR属性指定默认安装目录的位置,如应用程序主目录。
由INSTALLDIR属性指定的默认安装目录位置是:
[ProgramFilesFolder]YourCompanyName\YourProductName
注意:
推荐为用户的应用程序更改YourCompanyName和YourProductName为适当的名称。
也可以通过设置INSTALLDIR为应用程序指定的一个不同的目录,例如,以ScanPing作为应用程序的安装目录:
[ProgramFilesFolder]ScanPing
如果计划安装一些数据或数据库文件,也可以编辑DATABASEDIR属性来为这些文件指定默认的目标目录。
为安装工程指定常用信息的方法如下:
①在OrganizeYourSetup(组织安装文件)节点下单击GeneralInformation(常规信息)。
②编辑属性列表中的各字段值。
我们对于该工程的设置如图3所示。
图3工程属性设置图4新建部件
⑶、划分产品功能
从应用程序用户和InstallShieldExpress的整体看,一个功能可以被作为一个应用程序的组件。
该功能为用户部分安装应用程序提供了可能。
例如,在VisualFoxPro安装期间,可以指定是否安装作为功能组件的VisualFoxPro示例和VisualFoxPro工具。
注意:
在创建一个安装程序时,划分产品功能并不是必要的,尽管这对用户有帮助。
安装功能的默认设置是AlwaysInstall(总是安装),新建一个功能的步骤如下:
①在OrganizeYourSetup(组织安装文件)节点下单击Features(部件)。
②添加一个新功能,在窗格中间的树形视图的Features(部件)节点单击右键,然后单击NewFeature(新建部件),如图4所示。
③输入一个新部见名称并回车。
在确认产品部件后,可以设置部件属性,例如部件描述、部件如何被发布,以及部件是否为必须等。
设置部件属性的步骤如下:
①选定要修改属性的部件。
②在属性列表中,单击或双击属性的字段值来编辑该值。
要显示更多选项,单击右边的“…”或下拉箭头按钮。
③为属性输入或选择新值。
例如,要想提供安装应用程序帮助文件的安装选项,下面的步骤将建立该部件,并命名为“帮助文件”。
如果要使“帮助文件”在安装时可选,要设置Required(必需的)属性为No(否)。
如果你希望在用户第一次通过按F1使用帮助时,常使调用该功能,并提供用户进行安装,应当设置Advertised(做广告)属性为AllowAdvertise(允许广告,即可选择“在首次使用时安装”),如图5所示。
⑷、为安装类型指定部件
在一个安装程序中可以包含不同的安装类型并可以指定哪个功能对应于哪个要安装的类型,安装类型提供了不同的安装级别来允许用户进行选择。
●“典型安装”安装所有部件和文件
●“最小化安装”仅安装应用程序所必须的部件和文件的最小数量
●“自定义安装”可以由用户指定哪个部件要被安装
应当至少包含一个安装类型。
例如,一个基本的安装程序应当包含由“始终安装”和“典型安装(&T)”类型列出的其它部件,在安装类型名称中的“&”表示在安装程序用户界面中一个特定安装类型的快捷键,用户可以包含或移除安装类型(只要剩余一个可用),或重命名安装类型。
选择安装类型并为每个安装类型指定部件的步骤如下:
①在OrganizeYourSetup(组织安装文件)节点下点击SetupTypes(安装类型)。
②在SetupTypes窗格中选择你要包含的安装类型。
③在Featuresinstalledfor
在这些设置中,我们将3种安装类型全部选定,在为安装类型指定部件时,只在“最小化安装”类型中去除了对帮助文件部件的选择,如图6所示。
图5设置部件属性图6为安装类型指定部件
⑸、添加文件到安装程序
可执行文件(.exe)通常用于为用户启动应用程序,可以首先添加该文件和应用程序所需要的其它文件,其次是一些可选文件。
VisualFoxPro提供扩展应用程序功能性的资源文件,包括FoxUser资源文件、API库和MicrosoftActiveX控件,如果要使用这些文件,应该将它们添加到安装程序中,方法如下:
①在SpecifyApplicationData(指定应用程序数据)节点下单击Files(文件)。
②Files(文件)窗格被分为四个部分,左边显示源文件夹和目标计算机文件夹,右边显示这些文件夹中的文件。
在向安装工程添加文件前,应当选择Features(部件)下拉列表框来指定与部件相关联的文件,如图7所示。
在Features(部件)下拉选项框内选择相应的部件之后,可以通过从源文件夹复制或拖曳文件到目标计算机文件夹内来向安装工程添加文件。
从源文件夹向目标文件夹添加文件的步骤如下:
a、在DestinationComputer’sfolders(目标计算机的文件夹)窗格内,选择要安装应用程序的目标目录。
b、在Sourcecomputer’sfiles(源计算机的文件)窗格内,拖曳源文件到目标目录。
注意,文件夹由GeneralInformation(常规信息)节点的INSTALLDIR属性指定,作为默认安装目录出现在Destinationcomputer’sfolders(目标计算机的文件夹)窗格内。
拖曳源文件到目标文件夹仅通知InstallShieldExpress在创建安装程序时在哪里能够找到这些文件,并不从源计算机上移动或撤销移动任何文件。
将帮助文件Ping_Help.CHM放在“帮助文件”功能中,其他文件则全部放在“始终安装”部件中。
图7选择部件图8查看或添加于定义文件夹
也可以查看预定义文件夹列表,从中选择并添加到目标计算机文件夹列表中,查看并添加于定义文件夹的方法如下:
a、在Destinationcomputer’sfolders(目标计算机的文件夹)窗格内,在Destinationcomputer(目标计算机)上单击右键。
b、单击ShowpredefinedFolders(显示预定义文件夹)。
c、选择要添加的文件夹,如图8所示。
所选择的文件夹将出现在目标计算机文件夹列表中,也可以在目标文件夹中建立一个或多个子文件夹。
在目标文件夹内建立子文件夹的方法如下:
a、在目标文件夹上单击右键,然后选择Add(添加)。
b、为新文件夹输入一个名称并回车,如图9所示。
选定文件后,对某些文件要选择注册类型,WindowsInstaller包含下列功能:
①撤销一个不成功的安装,将目标计算机恢复到安装前的状态。
例如COM服务器,像ActiveX、COM和COM+文件,需要特定的注册,应用程序才能访问这些接口。
这些.OCX、.EXE和.DLL文件通常包含自我注册功能,被用于在安装期间进行注册,然而,对于WindowsInstaller,依靠自我注册将产生一些问题。
注册一个COM服务器时,强烈建议选择ExtractCOMInformation(提取COM信息)替代Self-registration(自我注册)作为文件的注册类型。
如果选择了Self-registration(自我注册),需要从注册表正确移除COM服务器时,WindowsInstaller不会有任何提示信息。
对于传统的脚本安装程序,Self-registration(自我注册)可以接受安装COM对象并仍然有效,但是,Self-registration(自我注册)COM对象不会传递他们的安装和注册信息给WindowsInstaller,因此,WindowsInstaller不会撤销Self-registration(自我注册)COM对象安装和注册或发布的这些对象。
②发布安装产品或单独产品部件,如COM对象。
向用户或目标计算机发布一个产品或COM对象,并使之生效,但是并不安装,直到用户尝试访问这些部件时才进行安装。
使用InstallShieldExpress注册一个COM服务器的步骤如下:
a、在SpecifyApplicationData(指定应用程序数据)节点下点击Files(文件)。
b、从源文件夹复制COM服务器文件到目标文件夹。
c、在要注册的文件上单击右键,并单击Properties(属性)。
d、在Properties(属性)对话框中单击COM&.NETSettings(COM和.NET设置)页。
e、选择一个RegistrationType(注册类型)。
在该项步骤中,我们将所使用的第三方控件PingWizard的注册类型设置为Self-registration(自我注册),如图10所示。
图9在目标文件夹内添加自文件夹图10设置PingWizard的注册类型
⑹、选择对象和合并模块
一个合并模块(.msm文件)包含所有的逻辑、注册表项目和需要安装的应用程序文件或运行时间库文件。
如果手工安装应用程序,需要复制VisualFoxPro运行时间库到目标计算机并注册,不过,如果选择了MicrosoftVisualFoxPro8RuntimeLibraties合并模块,InstallShieldExpress会为你正确的复制并注册运行时间库文件。
对于VisualFoxPro应用程序,至少应该选择MicrosoftVisualFoxPro8RuntimeLibraties和XML4.0组件。
注意,当选择了MicrosoftVisualFoxPro8RuntimeLibraties组件,MicrosoftVisualC++RuntimeLibraties7.0和GDIPlusRedist组件将被自动选定,VisualFoxPro8.0必需这些组件,因此,请不要清除对这些选项的选定。
为安装程序选择对象和合并模块的步骤如下:
①在SpecifyApplicationData(指定应用程序数据)节点下单击Objects/MergeModules(对象/合并模块)。
②在InstallShieldObjects/MergeModules(InstallShield对象/合并模块)窗格中,选中你要安装的合并模块前面的复选框。
③当ConditionalInstallation(安装条件)窗格中的选择框可用时,可以为部件指定安装相应的合并模块。
在该步骤中,选择了MicrosoftVisualFoxPro8RuntimeLibraties、MicrosoftVisualC++RuntimeLibraties7.0、GDIPlusRedist、MicrosoftVisualFoxPro8HTMLHelpSupportLibrar(用于支持CHM帮助文件)、MicrosoftVisualFoxPro8Resource、MicrosoftComponentCategoryManagerLibrary和MicrosoftWindowsCommonControls(6.0)模块,如图11所示。
之所以选择MicrosoftWindowsCommonControls(6.0),是因为应用程序所使用的StatusBar(状态栏)包含在该模块中,这是与VisualFoxPro6.0安装向导不同的地方,至于组件中所包含的控件列表,请参考下面VisualFoxPro发布方案中的表1。
⑺、建立快捷方式
InstallShieldExpress允许在“开始”菜单和“桌面”中建立快捷方式和文件夹。
建立文件夹或快捷方式的步骤如下:
①在ConfiguretheTargetSystem(配置目标系统)节点下单击ShortCuts/Filders(快捷方式/文件夹)。
②在中间窗格的Shortcuts(快捷方式)树形视图上,在你要放置快捷方式的节点上单击右键,然后选择NewShortcut(新建快捷方式)或NewFolder(新建文件夹),如图12所示。
图11选择对象和合并模块图12建立文件夹或快捷方式
③如果建立一个快捷方式,应当为该快捷方式指定一个目标文件,在出现的BrowseforShortcutTarget(浏览快捷方式目标)对话框中,在Lookin(搜索)列表中双击你要建立快捷方式的文件,如图13所示。
④输入快捷方式或文件夹的名称,然后按回车键。
重命名文件夹或快捷方式,在名称上面单击右键,然后单击Rename(重命名),输入新名称后回车。
在该项设置中,为示例程序在“程序”菜单中建立了一个“网络监测小精灵”程序组(即新建文件夹),并在其下面建立了“小精灵”和“使用帮助”两个快捷方式,同时也在桌面上建立了一个“小精灵”快捷方式。
在建立快捷方式时,必须将WorkingDirectory(工作目录)属性设置为INSTALLDIR,否则,如果你的应用程序在调用数据库时没有指定绝对路径(程序设计时,不建议使用绝对路径,因为程序在安装时,用户可能将程序安装于其它目录中),则会提示找不到数据库。
如图14所示。
图13为快捷方式指定文件图14为快捷方式中的文件指定工作目录
⑻、建立注册表项
如果你的应用程序使用注册表项,例如,要跟踪用户权限,InstallShieldExpress可以在安装期间添加这些到目标计算机中,如果这些项在开发计算机中不存在,可以手动建立他们。
注意,建立注册表项在创建应用程序时不是必须的。
注册表项被建立在注册表主键中,注册表主键根据功能对注册表项进行分类,例如,COM服务器类存储在HKEY_CLASSES_ROOT注册表主键处;软件选项,如VisualFoxPro选项,存储在HKEY_CURRENT_USER主键中的Software子键下。
建立注册表项的步骤如下:
①在ConfiguretheTargetSystem(配置目标系统)节点下单击Registry(注册表)。
②在Destinationcomputer’sRegistryView(目标计算机的注册表视图)窗格内,在要创建注册表项的的注册表主键上面单击右键。
③在出现的快捷菜单上,指向New(新建)并单击Key(项),如图15所示。
④输入项的名称并回车。
⑤在所建立的新项上单击右键,指向New(新建),并选择要添加的值的类型,如图16所示。
⑥在Destinationcomputer’sregistrydata(目标计算机的注册表数据)窗格中双击一个项来输入数据值。
图15新建注册表项图16添加注册表项的值
⑼、建立ODBC数据源名称(DSNs)
如果开发计算机上先前已经存在DSNs,可以通过InstallShieldExpress将DSN安装到目标计算机上。
如果要安装DSNs,在选择be并模块时应该包含MDAC组件。
建立DSNs的步骤如下:
①在ConfiguretheTargetSystem(配置目标系统)节点下单击ODBCResources(ODBC资源)。
②在ODBCResources(ODBC资源)树形视图中选定你要在目标计算机上建立的DSNs前的复选框。
⑽、自定义安装界面
InstallShieldExpress可以选择并更改在安装应用程序时用户所能见到的对话框界面,可以为每个对话框指定位图(.BMP)及添加附属对话框,例如,允许用户指定一个安装目标文件夹。
选择安装对话框的步骤如下:
①在CustomizetheSetupAppearance(自定义安装程序外观)节点下选择Dialogs(对话框)。
②在Dialogs(对话框)树形视图中选择在安装期间要显示的对话框。
当选中一个对话框时,该对话框的图像将显示在左下窗格中,并且该对话框的属性显示在右上窗格中。
要在安装过程中显示“目标文件夹”对话框的方法如下:
①在CustomizetheSetupAppearance(自定义安装程序外观)节点下选择Dialogs(对话框)。
②在Dialogs(对话框)树形视图中选中DestinationFolder(目标文件夹)前面的复选框。
对于LicenseAgreement(授权协议)对话框,可以在其LicenseFile(授权文件)属性中指定一个自己的授权协议文件,该文件为RTF格式,可以使用写字板或者Word编辑后将文件另存为这种格式。
我们的示例安装程序对于此步骤的设置如图17所示。
⑾、编译安装程序
在完成安装工程的所有要素(包括部件、文件、快捷菜单、注册表项和用户界面)的设计属性设置后,就可以编译安装程序了。
通常这样的编译类型为CD-ROM或SingleImage(单个映像),选择CD-ROM编译成的安装程序包含有目录结构的文件组织形式,选择SingleImage(单个映像)则把所有文件整合到一个单独的文件中,类似安装向导的网络安装方式。
编译安装程序的步骤如下:
①在PrepareforRelease(准备发布)节点下单击BuildYourRelease(编译安装程序)。
②在Build(编译)树形视图中选择要建立的介质类型。
③在属性列表中,设置或编辑编译属性。
④要编译安装程序,在所选择的介质类型上单击右键,然后单击Build(编译),如图18所示。
图17对话框设置图18编译安装程序
InstallShieldExpress将把编译好的安装程序存放到下面的文件夹中:
<工程文件夹>\Express\<媒介类型>\DiskImages\DISK1
测试安装程序非常重要,使用InstallShieldExpress可以不用实际运行安装程序而测试安装程序。
测试的步骤如下:
①在PrepareforRelease(准备发布)节点下单击TestYourSetup(测试安装程序)。
②在Build(编译)树形视图中选择要测试的介质类型。
③如果希望运行安装程序并安装文件到开发计算机中,单击RunYourSetup(运行安装);如果只是想测试安装程序对话框和一些你所选择的自定义行为,单击TestYourSetup(测试运行),如图19所示,该选项不安装任何文件或改变操作系统。
在编译和测试完毕后,你可以准备发布应用程序了。
发布的步骤如下:
①在PrepareforRelease(准备发布)节点下单击DistributeYourRelease(发布安装程序)。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 如何 使用 InstallShield 制作 安装
![提示](https://static.bdocx.com/images/bang_tan.gif)