




已阅读5页,还剩30页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
InstallShieldInstallShield 调调研文档研文档 IAIA DivisionDivision 2008-7-42008-7-4 1 目录目录 前 言.2 第一章 集成开发环境3 第二章 INSTALLSHIELD 基本操作.4 2.1. 创建工程.4 2.2. 通过 PROJECT ASSISTANT(工程助手)来设计工程。 .8 2.3. 安装包发布 .19 第三章 INTALLSHIELD 脚本语言 23 3.1脚本语言介绍23 3.2实例一:注册表的处理 .25 3.3实例二:安装前执行,运行其他的软件安装。 .28 第四章 其他的安装包制作工具 .30 4.1 INSTALLAWARE.30 4.2 WISE31 4.3 ADVANCED INSTALLER33 4.4 工具比较33 InstallShieldInstallShield 调调研文档研文档 IAIA DivisionDivision 2008-7-42008-7-4 2 前前 言言 InstallShield 是基于 Windows 平台的为软件发行方提供领先的基于 windows 的安装程序解决方案,能够制作强大可靠的 Windows Installer(MSI) 、 InstallScript 以及跨平台的安装程序,是安装工具领域事实上的标准,已经 成为安全安装软件的标准解决方案, 。在下面的内容当中,将以 10HMITOOL 项目 实例讲解 InstallShield 的使用方法,使用的版本为 InstallShield2008。 InstallShieldInstallShield 调调研文档研文档 IAIA DivisionDivision 2008-7-42008-7-4 3 第一章第一章 集成开发环境集成开发环境 InstallShield 除了本身的开发环境外,还为 vs2005 提供了辅助功能,开 发人员可以直接在 vs2005 环境中创建 InstallShield 工程,具体操作如下: 1.选择开始菜单-所有程序-Macrovision-InstallShield 2008 for Visual Studio 2005 图 1-1 运行 InstallShield 2008 for Visual Studio 2005 首次运行会出现如下的向导界面:在这里介绍了所有工程类型,用户可以 根据自己的需要选择工程类型。 图 1-2 首次进入 InstallShieldInstallShield 调调研文档研文档 IAIA DivisionDivision 2008-7-42008-7-4 4 第二章第二章 InstallShieldInstallShield 基本操作基本操作 . 创建创建工程工程 开始创建工程,打开File-New-Project,或 Ctrl+Shift+N a. Project type 选择 InstallShield 2008 Projects b. 根据我们项目的需要,Templates 选择 InstallScript MSI Project c. 输入工程名称和本地路径 c a b 图 2-1 创建工程 点击 “OK”后,10HMITOOL 安装包工程就建立了。 InstallShieldInstallShield 调调研文档研文档 IAIA DivisionDivision 2008-7-42008-7-4 5 工程建立完毕后,首先进入的是 project assistant(工程助手),我们可以 通过工程助手方便对工程进行设计。如图所示。 1 2 图 2-2 进入设计界面 右侧显示的是工程的项目信息,一些细节上的问题在这里解决,如:脚本 的编写,事件的控制等。 首先把我们想要安装的工程文件加入到这个工程当中,右键 Sulution 10HMITOOL,选择 Add-Existing Project”,如图 2-3 所示: InstallShieldInstallShield 调调研文档研文档 IAIA DivisionDivision 2008-7-42008-7-4 6 图 2-3 添加.NET 工程 选择我们要添加的工程文件”10HMITOOL_Archi” 图 2-4 添加工程 10HMITOOL_Archi InstallShieldInstallShield 调调研文档研文档 IAIA DivisionDivision 2008-7-42008-7-4 7 同样我们把其他的工程文件也加入进来,如图 2-5 所示: 图 2-5 添加的所有工程 InstallShieldInstallShield 调调研文档研文档 IAIA DivisionDivision 2008-7-42008-7-4 8 . 通过通过 projectproject assistantassistant(工程助手)来设计工程(工程助手)来设计工程。 图 2-6 ApplicationApplication InformationInformation(基本信息)(基本信息): : 在这里输入一些基本的信息,如下图。 图 2-7 基本信息 1 如果想设置更详细的信息,可以点击左侧的 General Information 图 2-8 基本信息 2 InstallShieldInstallShield 调调研文档研文档 IAIA DivisionDivision 2008-7-42008-7-4 9 InstallationInstallation RequirementsRequirements(安装需求安装需求): : 在这里可以设置系统环境要求,目标电脑只有满足这些要求,才可以运行 我们所做的安装程序。 图 2-9 安装要求 我们也可以设置自定义的环境要求,点击左侧的 CreateCreate a a customcustom softwaresoftware condition,condition,选择我们要求条件的类别,可以根据实际的情况来选择, 在这里我们选择 Registry entry. 图 2-10 自定义安装要求 InstallShieldInstallShield 调调研文档研文档 IAIA DivisionDivision 2008-7-42008-7-4 10 然后在下面的窗口中输入查找信息。 图 2-11 设置安装要求 我们通过这个可以查询目标电脑是否安装了 Excel2003(虽然通过这种方式 可以查找一些注册表的信息,但是不灵活,我们可以通过脚本语句实现更好的 查询,在后面的内容当中,将给予详细介绍)。 InstallationInstallation ArchitectureArchitecture(安装设计)(安装设计): : 在这里我们可以对安装进行设计,制定安装项,开发工具会自动给我们生 成一个默认的安装项,我们还可以继续添加,具体操作如下: 右键点击 Installation Architecture 点击 New,或者点击下面的 New,或 者键盘的 Insert InstallShieldInstallShield 调调研文档研文档 IAIA DivisionDivision 2008-7-42008-7-4 11 图 2-12 添加安装 根据需求我们设定了四个安装项,分别为 Rls ,Rot,Tool,ExcelTemplate 图 2-13 添加四个安装项 ApplicationApplication FilesFiles(应用程序文件)(应用程序文件): : 创建完安装项之后,我们要为每个安装项添加对应的文件,如下图所示, 系统默认会自动设定文件结构,neusoftMy Product Name,我们可以将其改名, 改成 10HMITOOL. InstallShieldInstallShield 调调研文档研文档 IAIA DivisionDivision 2008-7-42008-7-4 12 图 2-14 修改文件夹名称 图 2-15 选择安装项 InstallShieldInstallShield 调调研文档研文档 IAIA DivisionDivision 2008-7-42008-7-4 13 然后为每个安装项添加文件,点击下拉菜单,选择一个安装项,比如:Rls 图 2-16 添加新文件夹 1 为其创建文件夹Rls,如图所示。 图 2-17 添加新文件夹 2 创建文件夹后,这时就可以为其添加文件了。 InstallShieldInstallShield 调调研文档研文档 IAIA DivisionDivision 2008-7-42008-7-4 14 点击 Add Project Outputs ,添加工程的输出文件,将和安装项有关的工程 输出文件添加到文件当中,当我们编译整个工程的时候,对应生成的文件会子 自动加入到这个文件当中,然后安装的时候,就可以把文件安装到目标电脑上。 图 2-18 添加工程输出文件 1 InstallShieldInstallShield 调调研文档研文档 IAIA DivisionDivision 2008-7-42008-7-4 15 图 2-19 添加工程输出文件 2 除了添加工程的输出文件外,还要添加一些已经存在的文件,点击 Add Files 添加文件。 图 2-20 添加文件 1 图 2-21 添加文件 2 InstallShieldInstallShield 调调研文档研文档 IAIA DivisionDivision 2008-7-42008-7-4 16 同样的方法,为其他安装项添加文件,具体的文件如图所示: 图 2-22 添加所有的文件 InstallShieldInstallShield 调调研文档研文档 IAIA DivisionDivision 2008-7-42008-7-4 17 ApplcationApplcation ShortcutsShortcuts(应用程序快捷方式)(应用程序快捷方式) 在添加的时候,包含了两个.exe 文件,系统会自动为其创建快捷方式,我 们也可以删除和添加快捷方式,或者自定义快捷方式的图标,操作很简单,根 据界面信息,很容易对其进行设置。 图 2-23 快捷方式 ApplicationApplication RegistryRegistry(应用程序注册)(应用程序注册) 对于安装程序来说,注册表操作是非常重要,大部份的软件都会涉及到注 册表,InstallShield 对于注册表的操作很方便,我们可以通过 Applcation Registry 来设置。 在 Windows 系统里,注册表有五大项: HKEY_CLASSES_ROOT HKEY_CURRENT_UESR HKEY_LOCAL_MACHINE HKEY_USERS HKEY_USERS_SELECTABLE 通过 Applcation Registry 我们可以给方便的为安装的应用程序添加必要 的注册表信息。 选择 HKEY_CURRENT_UESR,右键点击 New,创建子项,如图所示, InstallShieldInstallShield 调调研文档研文档 IAIA DivisionDivision 2008-7-42008-7-4 18 图 2-24 设置注册表 InstallationInstallation Localization(Localization(安装本地化安装本地化) ) 在这里选择安装的提示语言,根据需要随意选择,我们选择 Japanese 图 2-25 安装本地化 InstallShieldInstallShield 调调研文档研文档 IAIA DivisionDivision 2008-7-42008-7-4 19 . 安装包发布安装包发布 发布安装包设置: 制作安装包时,向导的最后一步就是编译最终的安装包,但是向导中提供 的设置比较少,所以我们有必要来重新手动编译一次,来了解一些详细的设置。 点击 MediaRelease; 图 2-26 发布安装包 在菜单中选择“Release wizard”,使用创建向导,在向导的界面上点击 下一步,在 New Release Name 中,输入这个编译项目的名字,可以任意起。然 后点击下一步。 InstallShieldInstallShield 调调研文档研文档 IAIA DivisionDivision 2008-7-42008-7-4 20 图 2-27 项目名称 选择安装语言选项 在 Installation Localization 中设置的语言,在这里都会体现出来,用 户可以再次对语言选项进行编辑,设置默认语言选项,如果有多种语言,还可 以选择安装是否显示安装语言的对话框,这样可以在安装的时候可以选择用户 需要的语言。 图 2-28 语言选项 InstallShieldInstallShield 调调研文档研文档 IAIA DivisionDivision 2008-7-42008-7-4 21 设置完毕后,点击下一步,设置安装的文件格式 选择安装文件在安装包中存在方式:压缩、非压缩。或者指定部分压缩。 选择第一项:压缩,将所有文件压缩成一个文件。 如果现在第二项,则你的安装文件会直接显示在安装包中。 图 2-29 文件格式 以下各步骤全部默认,直至完成,InstallShield 开始编译。生成新的安装 包编译项目,并编译成安装包。 InstallShield 生成的安装包存放在它自己默认的文件夹中,找起来不方便。 我们可以在这里修改一下,每次编译后让 IS 将编译好的安装包拷贝到指定的一 个目录。 InstallShieldInstallShield 调调研文档研文档 IAIA DivisionDivision 2008-7-42008-7-4 22 图 2-30 文件路径 InstallShieldInstallShield 调调研文档研文档 IAIA DivisionDivision 2008-7-42008-7-4 23 第三章第三章 IntallShieldIntallShield 脚本脚本语言语言 3.13.1 脚本语言介绍脚本语言介绍 关于 InstallShield 的脚本,我们如果只是普通的安装的话,并不是很复 杂。InstallShield 是根据内部的脚本一次执行各个环节进行安装。那么 IS 的 脚本顺序到底是怎么执行的呢?我们选择 Behavior and LogicInstall Script,在中间窗口,我们看到了脚本文件 Setup.rul,我们点击这个文件, 发现在右侧的窗口中几乎没有任何脚本。这不是说明目前没有脚本,而是 InstallShield 通常情况下并不显示脚本出来,如何显示脚本的问题我们先暂 缓,先来了解一下 InstallShield 是按照什么顺序来执行脚本的。 图 3-1 InstallShield 脚本 InstallShield 有很多的固定函数,这些函数在特定的安装阶段被执行。我 们在脚本窗口的上部,可以在第一个下拉列表中看到这些 InstallShield 内部 定义的阶段。InstallShield 就是按照这样一个阶段顺序执行的。而每一个阶 段包括了许多函数,这些函数完成特定的功能。我们选择一个阶段,在后面的 下拉列表中就可以看到这个阶段下的所有函数。选择其中一个函数,在脚本的 窗口中,就会显示这个函数的具体内容。比如,这里我们阶段选择“Before Move Data”,函数选择“OnFirstUIBefore”,因为,对于一般的修改,这个 InstallShieldInstallShield 调调研文档研文档 IAIA DivisionDivision 2008-7-42008-7-4 24 函数是最主要的。在这个函数的脚本中,我们可以看到,函数开始处,是详细 的对这个函数在什么时候被调用执行的解释。这时候,如果你 选择最初的阶段 “initialization”的第一个函数“OnSetTARGETDIR”,那么你会发现在 OnFirstUIBefore 的函数体下面,出现了 OnSetTARGETDIR 的函数体,这并不是 说先执行 OnFirstUIBefore,后执行 OnSetTARGETDIR,函数的执行顺序和显示 的顺序无关,对于初次接触 InstallShield 的人来说,这点千万分清楚。函数 的执行顺序是已经固定的。 InstallShieldInstallShield 调调研文档研文档 IAIA DivisionDivision 2008-7-42008-7-4 25 3.23.2 实例一:注册表的处理实例一:注册表的处理 上面的安装例子中,我们是利用 InstallShield 自带的功能去编辑注册表, 但不是很灵活这里我们主要是讲如何在脚本中去处理它。 在 10HMITOOL 应用程序中,要用到 Excel 模板,需要把 Excel 模板的一些 信息写入注册表,如:Excel 模板的路径。那么写入注册表的时机是怎么样的 呢? 因为 Excel 模板放到了 ExcelTemplate 安装项中,所以写入注册表的时机 就是在 ExcelTemplate 安装项安装完毕之后,我们选择 New New_Feature2,时 机为 Installed(注意 New New_Feature2 就是指 ExcelTemplate 安装项), 图 3-2 脚本编写 内库函数介绍:内库函数介绍: InstallShield 包含 300 多个内部库函数,用户可在安装脚本中调用它们来 创建程序组,操作文件夹,处理目录,监督安装状态,创建对话框,操作文件 及其它更多工作。 InstallShieldInstallShield 调调研文档研文档 IAIA DivisionDivision 2008-7-42008-7-4 26 在这里只介绍一下,我们用到的三个函数,其他函数可以参考附件 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。 这个系统变量的值不能在对象脚本之间共享,也不能在对象脚本和主安装脚本 之间共享。在某一个脚本中给这个系统变量赋值不影响它在其它脚本的值 Export prototype New_Feature2_Installed(); function New_Feature2_Installed() STRING szName, szValue; NUMBER nSize; STRING szKey, szClass; begin RegDBSetDefaultRoot (HKEY_CURRENT_USER); / 设置 HKEY_CURRENT_USER 开关键 szKey=“SoftwareAW.HMI10RootTool“; szClass=“; szName=“SoftwareAW.HMI10RootTool“; InstallShieldInstallShield 调调研文档研文档 IAIA DivisionDivision 2008-7-42008-7-4 27 if (RegDBCreateKeyEx(szKey, szClass) = 0) then szValue=TARGETDIR“ExcelTemplate“; if(RegDBSetKeyValueEx (szKey,“TemplatePath“,REGDB_STRING,szValue, nSize)0) then; MessageBox (“Second call to RegDBKeyExist failed.“, SEVERE); endif; szValue=TARGETDIR“Rot“; if(RegDBSetKeyValueEx (szKey,“Path“,REGDB_STRING,szValue, nSize)0) then; MessageBox (“Second call to RegDBKeyExist failed.“, SEVERE); endif; endif; end; InstallShieldInstallShield 调调研文档研文档 IAIA DivisionDivision 2008-7-42008-7-4 28 3.33.3 实例二:安装前执行,运行其他的软件安装。实例二:安装前执行,运行其他的软件安装。 图 3-3 添加其他安装文件 安装软件前先安装 Office 补丁,.NET 补丁,在 Support Files/Billboards 添加 office2003-KB907417-FullFile-ENU.exe ,extensibilityMSM.msi,lockbackRegKey.msi 三个补丁,通过脚本去控制安 装过程。在安装初始化之后就可以安装补丁了。 脚本代码如下: #include “ifx.h“ #include “featureevents.rul“ function OnAppSearch() STRING szKey,szName,svValue; NUMBER nvSize,nvType; STRING DIR,FIR,svResult; begin RegDBSetDefaultRoot (HKEY_CLASSES_ROOT); DIR=SUPPORTDIR; /检查目标电脑时候安装了Excel,如果没有安装Excel退出安装 szKey=“CLSID00024500-0000-0000-C000- 000000000046LocalServer32“; if(RegDBGetKeyValueEx (szKey, “, nvType, svValue, nvSize)0) then MessageBox(“Your computer didnt installed Excel,Please install Excel“,SEVERE); abort; InstallShieldInstallShield 调调研文档研文档 IAIA DivisionDivision 2008-7-42008-7-4 29 endif; InstallShieldInstallShield 调调研文档研文档 IAIA DivisionDivision 2008-7-42008-7-4 30 szKey=“Excel.ApplicationCurVer“; FIR=“office2003-KB907417-FullFile-ENU.exe“; RegDBGetKeyValueEx(szKey,“,nvType,svValue,nvSize); if(svValue=“Excel.Application.11“) then LaunchAppAndWait (DIRFIR,“, WAIT); /安装Office补丁 endif; FIR=“extensibilityMSM.msi“; LaunchAppAndWait (WINSYSDIR“msiexec.exe“, “/i“+DIRFIR, WAIT); /安装.NET补丁 FIR=“lockbackRegKey.msi“; LaunchAppAndWait (WINSYSDIR“msiexec.exe“, “/i“+DIRFIR, WAIT); /安装.NET 补丁 end; 关于脚本详细介绍,因为比较多,在这里就不多说了,大家可以参考 InstallShield 自带的帮助文件,或者附件(InstallShield 内库函数,进行脚 本的编写,网上资料也很多。 InstallShieldInstallShield 调调研文档研文档 IAIA DivisionDivision 2008-7-42008-7-4 31 第四章第四章其他的安装包制作工具其他的安装包制作工具 安装包的制作工具非常的多,在这里我们只列出三种比较常用的制作工具,这 些工具已经被很多的大型软件公司采用,下面将对它们进行简单的介绍。 4.1InstallAware4.1InstallAware 产品简介产品简介 InstallAware 是 Windows 安装程序制作中新兴的标准,能够用 script-driven 的方式为你的应用程序创建安装文件,目前它已经被大量用于一些软件公司, InstallAware 提供了自动控制的界面来程序化的生成、构建安装工程。您能从 你的程序或者 web 页面上发布你的安装脚本,创造属于自己的安装开发环境, 它所提供的工具包为您的软件创建常用的安装包,还提供了功能强大的程序打 包安装和升级功能 网址:/ InstallShieldInstallShield 调调研文档研文档 IAIA DivisionDivision 2008-7-42008-7-4 32 4.24.2 wisewise 产品简介产品简介 Wise for Windows Installer使开发者能够快速简单地创建使用最新Microsoft 技术的可靠.MSI安装程序。利用集成的开发选项,针对数据驱动Web应用安装和 安装管理特征的技术先进功能,确保您的安装不仅只在您的电脑上工作,而且 它还将配合您的生产环境。 完全的Visual Studio.NET集成 在Microsoft Visual Studio .NET开发环境下直接开发安装程序; 基于您的项目自动地更新安装程序; 包括所有的项目文件如HTML、ASP.NET和ASP; 支持Visual Studio .NET 2005,包括端到端的安装; 利用固有的Visual Studio .NET功能如source code control; 完全集成的帮助文档; InstallShieldInstallShield 调调研文档研文档 IAIA DivisionDivisi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 陶瓷电容器制造工岗位操作规程考核试卷及答案
- 电火花线切割机床操作工培训考核试卷及答案
- 五一活动策划方案公司问题
- 建筑节能墙体验收标准分析报告
- 2025版司法局《刑事答辩状》(空白模板)
- 私募基金的金融营销方案
- 雾化沥青封层施工方案
- 咨询健康方案
- 甘肃银行六一活动方案策划
- 金华活动策划方案价格评估
- 知情同意书模板(新闻采访)
- 药用植物生态学药用植物与光的关系课件
- 东北财经大学网络教育成人学位英语考试往年真题试卷
- 医院诊断证明书word模板
- 混凝土防渗墙单元工程施工质量验收评定表
- 初中数学:《一元二次方程》大单元教学设计
- 大连理工大电力系统继电保护实验实验报告
- 健康社会决定因素课件
- 国际贸易采购合同(中英文)
- 《管理运筹学》课后习题答案
- 2021北京重点校初二(上)期中物理汇编:物态变化章节综合3
评论
0/150
提交评论