InstallShield使用详解.docx

上传人:b****4 文档编号:4127372 上传时间:2022-11-28 格式:DOCX 页数:28 大小:1.77MB
下载 相关 举报
InstallShield使用详解.docx_第1页
第1页 / 共28页
InstallShield使用详解.docx_第2页
第2页 / 共28页
InstallShield使用详解.docx_第3页
第3页 / 共28页
InstallShield使用详解.docx_第4页
第4页 / 共28页
InstallShield使用详解.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

InstallShield使用详解.docx

《InstallShield使用详解.docx》由会员分享,可在线阅读,更多相关《InstallShield使用详解.docx(28页珍藏版)》请在冰豆网上搜索。

InstallShield使用详解.docx

InstallShield使用详解

目录

前言2

第一章集成开发环境3

第二章InstallShield基本操作4

2.1.创建工程4

2.2.通过projectassistant(工程助手)来设计工程。

8

2.3.安装包发布19

第三章IntallShield脚本语言23

3.1脚本语言介绍23

3.2实例一:

注册表的处理25

3.3实例二:

安装前执行,运行其他的软件安装。

28

第四章其他的安装包制作工具30

4.1installaware30

4.2wise31

4.3advancedinstaller33

4.4工具比较33

前言

InstallShield是基于Windows平台的为软件发行方提供领先的基于windows的安装程序解决方案,能够制作强大可靠的WindowsInstaller(MSI)、InstallScript以及跨平台的安装程序,是安装工具领域事实上的标准,已经成为安全安装软件的标准解决方案,。

在下面的内容当中,将以10HMITOOL项目实例讲解InstallShield的使用方法,使用的版本为InstallShield2008。

第一章集成开发环境

InstallShield除了本身的开发环境外,还为vs2005提供了辅助功能,开发人员可以直接在vs2005环境中创建InstallShield工程,具体操作如下:

1.选择开始菜单->所有程序->Macrovision->InstallShield2008forVisualStudio2005

图1-1运行InstallShield2008forVisualStudio2005

首次运行会出现如下的向导界面:

在这里介绍了所有工程类型,用户可以根据自己的需要选择工程类型。

图1-2首次进入

第二章InstallShield基本操作

2.1.创建工程

开始创建工程,打开[File]->New->Project,或Ctrl+Shift+N

a.Projecttype选择InstallShield2008Projects

b.根据我们项目的需要,Templates选择InstallScriptMSIProject

c.输入工程名称和本地路径

图2-1创建工程

点击“OK”后,10HMITOOL安装包工程就建立了。

工程建立完毕后,首先进入的是projectassistant(工程助手),我们可以通过工程助手方便对工程进行设计。

如图所示。

图2-2进入设计界面

右侧显示的是工程的项目信息,一些细节上的问题在这里解决,如:

脚本的编写,事件的控制等。

首先把我们想要安装的工程文件加入到这个工程当中,右键Sulution‘10HMITOOL’,选择Add->ExistingProject”,如图2-3所示:

图2-3添加.NET工程

选择我们要添加的工程文件”10HMITOOL_Archi”

图2-4添加工程10HMITOOL_Archi

同样我们把其他的工程文件也加入进来,如图2-5所示:

图2-5添加的所有工程

2.2.通过projectassistant(工程助手)来设计工程。

图2-6

ApplicationInformation(基本信息):

在这里输入一些基本的信息,如下图。

图2-7基本信息1

如果想设置更详细的信息,可以点击左侧的GeneralInformation

图2-8基本信息2

InstallationRequirements(安装需求):

在这里可以设置系统环境要求,目标电脑只有满足这些要求,才可以运行我们所做的安装程序。

图2-9安装要求

我们也可以设置自定义的环境要求,点击左侧的Createacustomsoftwarecondition,选择我们要求条件的类别,可以根据实际的情况来选择,在这里我们选择Registryentry.

图2-10自定义安装要求

然后在下面的窗口中输入查找信息。

图2-11设置安装要求

我们通过这个可以查询目标电脑是否安装了Excel2003(虽然通过这种方式可以查找一些注册表的信息,但是不灵活,我们可以通过脚本语句实现更好的查询,在后面的内容当中,将给予详细介绍)。

InstallationArchitecture(安装设计):

在这里我们可以对安装进行设计,制定安装项,开发工具会自动给我们生成一个默认的安装项,我们还可以继续添加,具体操作如下:

右键点击InstallationArchitecture点击New,或者点击下面的New,或者键盘的Insert

图2-12添加安装

根据需求我们设定了四个安装项,分别为Rls,Rot,Tool,ExcelTemplate

图2-13添加四个安装项

ApplicationFiles(应用程序文件):

创建完安装项之后,我们要为每个安装项添加对应的文件,如下图所示,系统默认会自动设定文件结构,neusoft\MyProductName,我们可以将其改名,改成10HMITOOL.

图2-14修改文件夹名称

图2-15选择安装项

 

然后为每个安装项添加文件,点击下拉菜单,选择一个安装项,比如:

Rls

图2-16添加新文件夹1

为其创建文件夹—Rls,如图所示。

图2-17添加新文件夹2

创建文件夹后,这时就可以为其添加文件了。

点击AddProjectOutputs,添加工程的输出文件,将和安装项有关的工程输出文件添加到文件当中,当我们编译整个工程的时候,对应生成的文件会子自动加入到这个文件当中,然后安装的时候,就可以把文件安装到目标电脑上。

图2-18添加工程输出文件1

图2-19添加工程输出文件2

除了添加工程的输出文件外,还要添加一些已经存在的文件,点击AddFiles添加文件。

图2-20添加文件1

图2-21添加文件2

 

同样的方法,为其他安装项添加文件,具体的文件如图所示:

图2-22添加所有的文件

ApplcationShortcuts(应用程序快捷方式)

在添加的时候,包含了两个.exe文件,系统会自动为其创建快捷方式,我们也可以删除和添加快捷方式,或者自定义快捷方式的图标,操作很简单,根据界面信息,很容易对其进行设置。

图2-23快捷方式

ApplicationRegistry(应用程序注册)

对于安装程序来说,注册表操作是非常重要,大部份的软件都会涉及到注册表,InstallShield对于注册表的操作很方便,我们可以通过ApplcationRegistry来设置。

在Windows系统里,注册表有五大项:

HKEY_CLASSES_ROOT

HKEY_CURRENT_UESR

HKEY_LOCAL_MACHINE

HKEY_USERS

HKEY_USERS_SELECTABLE

通过ApplcationRegistry我们可以给方便的为安装的应用程序添加必要的注册表信息。

选择HKEY_CURRENT_UESR,右键点击New,创建子项,如图所示,

图2-24设置注册表

InstallationLocalization(安装本地化)

在这里选择安装的提示语言,根据需要随意选择,我们选择Japanese

图2-25安装本地化

2.3.安装包发布

发布安装包设置:

制作安装包时,向导的最后一步就是编译最终的安装包,但是向导中提供的设置比较少,所以我们有必要来重新手动编译一次,来了解一些详细的设置。

点击MediaRelease;

图2-26发布安装包

在菜单中选择“Releasewizard”,使用创建向导,在向导的界面上点击下一步,在NewReleaseName中,输入这个编译项目的名字,可以任意起。

然后点击下一步。

图2-27项目名称

选择安装语言选项

在InstallationLocalization中设置的语言,在这里都会体现出来,用户可以再次对语言选项进行编辑,设置默认语言选项,如果有多种语言,还可以选择安装是否显示安装语言的对话框,这样可以在安装的时候可以选择用户需要的语言。

图2-28语言选项

设置完毕后,点击下一步,设置安装的文件格式

选择安装文件在安装包中存在方式:

压缩、非压缩。

或者指定部分压缩。

选择第一项:

压缩,将所有文件压缩成一个文件。

如果现在第二项,则你的安装文件会直接显示在安装包中。

图2-29文件格式

以下各步骤全部默认,直至完成,InstallShield开始编译。

生成新的安装包编译项目,并编译成安装包。

InstallShield生成的安装包存放在它自己默认的文件夹中,找起来不方便。

我们可以在这里修改一下,每次编译后让IS将编译好的安装包拷贝到指定的一个目录。

图2-30文件路径

第三章IntallShield脚本语言

3.1脚本语言介绍

关于InstallShield的脚本,我们如果只是普通的安装的话,并不是很复杂。

InstallShield是根据内部的脚本一次执行各个环节进行安装。

那么IS的脚本顺序到底是怎么执行的呢?

我们选择BehaviorandLogic-->InstallScript,在中间窗口,我们看到了脚本文件Setup.rul,我们点击这个文件,发现在右侧的窗口中几乎没有任何脚本。

这不是说明目前没有脚本,而是InstallShield通常情况下并不显示脚本出来,如何显示脚本的问题我们先暂缓,先来了解一下InstallShield是按照什么顺序来执行脚本的。

图3-1InstallShield脚本

InstallShield有很多的固定函数,这些函数在特定的安装阶段被执行。

我们在脚本窗口的上部,可以在第一个下拉列表中看到这些InstallShield内部定义的阶段。

InstallShield就是按照这样一个阶段顺序执行的。

而每一个阶段包括了许多函数,这些函数完成特定的功能。

我们选择一个阶段,在后面的下拉列表中就可以看到这个阶段下的所有函数。

选择其中一个函数,在脚本的窗口中,就会显示这个函数的具体内容。

比如,这里我们阶段选择“BeforeMoveData”,函数选择“OnFirstUIBefore”,因为,对于一般的修改,这个函数是最主要的。

在这个函数的脚本中,我们可以看到,函数开始处,是详细的对这个函数在什么时候被调用执行的解释。

这时候,如果你选择最初的阶段“initialization”的第一个函数“OnSetTARGETDIR”,那么你会发现在OnFirstUIBefore的函数体下面,出现了OnSetTARGETDIR的函数体,这并不是说先执行OnFirstUIBefore,后执行OnSetTARGETDIR,函数的执行顺序和显示的顺序无关,对于初次接触InstallShield的人来说,这点千万分清楚。

函数的执行顺序是已经固定的。

3.2实例一:

注册表的处理

上面的安装例子中,我们是利用InstallShield自带的功能去编辑注册表,但不是很灵活这里我们主要是讲如何在脚本中去处理它。

在10HMITOOL应用程序中,要用到Excel模板,需要把Excel模板的一些信息写入注册表,如:

Excel模板的路径。

那么写入注册表的时机是怎么样的呢?

因为Excel模板放到了ExcelTemplate安装项中,所以写入注册表的时机就是在ExcelTemplate安装项安装完毕之后,我们选择NewNew_Feature2,时机为Installed(注意NewNew_Feature2就是指ExcelTemplate安装项),

图3-2脚本编写

内库函数介绍:

InstallShield包含300多个内部库函数,用户可在安装脚本中调用它们来创建程序组,操作文件夹,处理目录,监督安装状态,创建对话框,操作文件及其它更多工作。

在这里只介绍一下,我们用到的三个函数,其他函数可以参考附件<>

1.RegDBSetDefaultRoot(nRootKey);

说明:

RegDBSetDefaultRoot函数设置一个被其它注册表函数使用的开关键。

大多数InstallShield注册表函数工作在以HKEY_CLASSES_ROOT为注册表树的缺省根。

使用该函数,你可以指定另一个项,如HKEY_LOCAL_MACHINE或HKEY_CURRENT_USER或HKEY_USERS为开关键。

2.RegDBCreateKeyEx(szKey,szClass);

说明:

RegDBCreateKeyEx函数创建注册表中的一项

3.RegDBGetKeyValueEx(szKey,szName,nvType,svValue,nvSize);

说明:

RegDBGetKeyValueEx函数检索注册表中一个指定项下一个特定数值名的值。

系统变量解释:

TARGETDIR:

程序安装目的路径

SUPPORTDIR:

在安装初始阶段的时候,InstallShield定位一个目标系统上的文件夹,InstallShield可以将临时文件和在你的Setup包中的压缩文件拷贝到这个文件夹。

InstallShield把这个文件夹完整的路径赋给SUPPORTDIR。

这个系统变量的值不能在对象脚本之间共享,也不能在对象脚本和主安装脚本之间共享。

在某一个脚本中给这个系统变量赋值不影响它在其它脚本的值

ExportprototypeNew_Feature2_Installed();

functionNew_Feature2_Installed()

STRINGszName,szValue;

NUMBERnSize;

STRINGszKey,szClass;

begin

RegDBSetDefaultRoot(HKEY_CURRENT_USER);//设置HKEY_CURRENT_USER开关键

szKey="Software\\AW.HMI10\\RootTool";

szClass="";

szName="Software\\AW.HMI10\\RootTool";

if(RegDBCreateKeyEx(szKey,szClass)=0)then

szValue=TARGETDIR^"ExcelTemplate";

if(RegDBSetKeyValueEx(szKey,"TemplatePath",REGDB_STRING,szValue,nSize)<0)then;

MessageBox("SecondcalltoRegDBKeyExistfailed.",SEVERE);

endif;

szValue=TARGETDIR^"Rot";

if(RegDBSetKeyValueEx(szKey,"Path",REGDB_STRING,szValue,nSize)<0)then;

MessageBox("SecondcalltoRegDBKeyExistfailed.",SEVERE);

endif;

endif;

end;

3.3实例二:

安装前执行,运行其他的软件安装。

图3-3添加其他安装文件

安装软件前先安装Office补丁,.NET补丁,在SupportFiles/Billboards添加office2003-KB907417-FullFile-ENU.exe,extensibilityMSM.msi,lockbackRegKey.msi三个补丁,通过脚本去控制安装过程。

在安装初始化之后就可以安装补丁了。

脚本代码如下:

#include"ifx.h"

#include"featureevents.rul"

functionOnAppSearch()

STRINGszKey,szName,svValue;

NUMBERnvSize,nvType;

STRINGDIR,FIR,svResult;

begin

RegDBSetDefaultRoot(HKEY_CLASSES_ROOT);

DIR=SUPPORTDIR;

//检查目标电脑时候安装了Excel,如果没有安装Excel退出安装

szKey="CLSID\\{00024500-0000-0000-C000-000000000046}\\LocalServer32";

if(RegDBGetKeyValueEx(szKey,"",nvType,svValue,nvSize)<0)then

MessageBox("Yourcomputerdidn'tinstalledExcel,PleaseinstallExcel",SEVERE);

abort;

endif;

szKey="Excel.Application\\CurVer";

FIR="office2003-KB907417-FullFile-ENU.exe";

RegDBGetKeyValueEx(szKey,"",nvType,svValue,nvSize);

if(svValue="Excel.Application.11")then

LaunchAppAndWait(DIR^FIR,"",WAIT);//安装Office补丁

endif;

FIR="extensibilityMSM.msi";

LaunchAppAndWait(WINSYSDIR^"msiexec.exe","/i"+DIR^FIR,WAIT);//安装.NET补丁

FIR="lockbackRegKey.msi";

LaunchAppAndWait(WINSYSDIR^"msiexec.exe","/i"+DIR^FIR,WAIT);//安装.NET补丁

end;

关于脚本详细介绍,因为比较多,在这里就不多说了,大家可以参考InstallShield自带的帮助文件,或者附件(InstallShield内库函数,进行脚本的编写,网上资料也很多。

第四章其他的安装包制作工具

安装包的制作工具非常的多,在这里我们只列出三种比较常用的制作工具,这些工具已经被很多的大型软件公司采用,下面将对它们进行简单的介绍。

4.1InstallAware

产品简介

InstallAware是Windows安装程序制作中新兴的标准,能够用script-driven的方式为你的应用程序创建安装文件,目前它已经被大量用于一些软件公司,InstallAware提供了自动控制的界面来程序化的生成、构建安装工程。

您能从你的程序或者web页面上发布你的安装脚本,创造属于自己的安装开发环境,它所提供的工具包为您的软件创建常用的安装包,还提供了功能强大的程序打包安装和升级功能

网址:

4.2wise

产品简介

WiseforWindowsInstaller使开发者能够快速简单地创建使用最新Microsoft技术的可靠.MSI安装程序。

利用集成的开发选项,针对数据驱动Web应用安装和安装管理特征的技术先进功能,确保您的安装不仅只在您的电脑上工作,而且它还将配合您的生产环境。

 

完全的VisualStudio.NET集成

●在MicrosoftVisualStudio.NET开发环境下直接开发安装程序;

●基于您的项目自动地更新安装程序;

●包括所有的项目文件如HTML、ASP.NET和ASP;

●支持VisualStudio.NET2005,包括端到端的安装;

●利用固有的VisualStudio.NET功能如sourcecodecontrol;

●完全集成的帮助文档;

网址:

4.3AdvancedInstaller

产品简介

 AdvancedInstaller是一款功能强大、可生成符合MSWindows认证的WindowsInstaller的MSI安装包制作工具,具有友好的图形用户界面,直观而且非常简单的界面,创建MSI文件包非常方便,用户只需添加文件,修改名称,添加按钮就可以了,无需任何脚本方面的知识,并且生成的安装文件保证符合Windows最佳操作建议。

网址:

4.4工具比较

InstallShield和上面提到的三种工具,各有自身的特点,开发人员可根据自己的喜好来选择制作工具,下面将从三方面描述他们的异同之处:

基本的操作:

这个四个工具有很多相同的地方,从界面就可以看出,它们在安装信息,安装项的设置,注册表的操作,文件的添加,快捷方式等基本操作都有相同的,而其这些操作起来也很方面,有兴趣的朋友可以在官方网上上下载评估版尝试一下。

 

VisualStudio.NET集成

四种开发工具当中,InstallShield和Wise在MicrosoftVisualStudio.NET开发环境下直接开发安装程序,都可添加工程的输出文件,InstallShield具体的操作在上面的例子当中,已经讲解,Wise和InstallShield和相似,但界面没有InstallShield友好一些,添加文件的方式和InstallShield不些不同,不是很方便。

其他两个制作工具不完全支持VisualStudio.NET集成开发。

脚本控制

在脚本控制这方面InstallShield可以说功能是最强大的,本身的内库函数有着强大的功能,可以很方便设计自定义安装包,包括界面的设计,注册表的操作,文件操作,快捷方式,反编译程序等,而且它的脚本语言非常的简单,对于初学者来说,脚本语言不是很难,难点就是如何选择时机,要求逻辑性较强,这个需要点经验。

其他的制作工具没有InstallShiled灵活。

由于时间的原因,并没有将这四个制作工具进行更深层的研究,具体的介绍可以登陆各自的官方网站,下载软件和帮助文档。

上面讲解的内容难免有不对的地方,如发现错误之处,请指正!

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1