收藏 分享(赏)

InstallShield2010学习笔记 - 编译调试构建.doc

上传人:hwpkd79526 文档编号:7132512 上传时间:2019-05-06 格式:DOC 页数:10 大小:626.50KB
下载 相关 举报
InstallShield2010学习笔记 -  编译调试构建.doc_第1页
第1页 / 共10页
InstallShield2010学习笔记 -  编译调试构建.doc_第2页
第2页 / 共10页
InstallShield2010学习笔记 -  编译调试构建.doc_第3页
第3页 / 共10页
InstallShield2010学习笔记 -  编译调试构建.doc_第4页
第4页 / 共10页
InstallShield2010学习笔记 -  编译调试构建.doc_第5页
第5页 / 共10页
点击查看更多>>
资源描述

1、 1 InstallShield 学习笔记调试项目Revision HistoryDATE REVISION AUTHOR DESCRIPTIONTable of Contents1 前言 .12 编译(COMPILE) .22.1 编译选项设置 .22.2 编译功能导航 .32.3 编译信息输出 .33 调试(DEBUG) 43.1 调试选项设置 .43.2 调试功能导航 .53.3 调试功能介绍 .63.4 调试信息输出 .73.5 在客户终端机上调试 .74 构建(BUILD) 84.1 构建单个 EXE 文件 .84.2 批处理构建 .85 版本(RELEASE) 95.1 版本向导(

2、RELEASE WIZARD) .91 前言本文档是笔者在学习 InstallShield IDE 的过程中,查阅 InstallShield 2009 IDE 的联机帮助,结合个人学习心得体会,写出的学习笔记。鉴于篇幅有限,本文仅就 InstallShield IDE 提供的编译,调试, 和构建功能作了一些基本介绍,仅供新手入门作参考之用。若读者有意深入研究高级进阶内容,请参考 InstallScript IDE(集成开发环境)自带的联机帮助,或者在网上搜寻参考资料 ( 附:InstallShield 社区论坛:http:/, http:/ 2 编译(Compile)2.1 编译选项设置用户

3、可以先在 InstallShield IDE 中定义编译相关设置,请注意这些设置仅对当前被打开的项目有效。用户从 Build 菜单列表中选择 Settings 菜单项,然后在弹出的对话框里打开 Compile/Link 标签页,如下图所示:对于上面对话框中各设置项的作用,下表作了详细说明:属性名 属性值(例子) 使用说明Preprocessor DefinesUSAGE = “Internal” 设置预处理常量。此例中定义了名为 USAGE 的常量,可以在编译时直接被脚本文件使用。比如在主脚本中可以这样用:#ifdef USAGE/ 执行一些代码#endifInclude Pathes Scr

4、ipt,C:IS_ProjectsAAScript Files指定上面的预定义值的使用范围,在这里指定的路径下面的所有 script文件,都可以引用该值(注:多路径用逗号隔开,允许嵌入路径相关的变量 )Maximum Warnings 50 指定最多显示的警告(warning)的条数,此例中设为 50 条Warning Level 选择以下列表项目之一:None,Level 1,Level 2,或Level 3 (默认)None - 不显示警告消息。Level 1 显示 InstallShield 不能处理的任何系统警告。3 Level 2 显示 Level 1 消息,如果字符串长度超过限制则

5、追加另一条消息。Level 3 (默认) 显示所有警告消息Maximum Errors 50 指定最多显示的错误(error)的条数,此例中设为 50 条Compile before build选中,或不选中该复选框 若选中,在 build release 之前会自动编译脚本Warnings as errors 选中,或不选中该复选框 若选中,会把警告(warning)当成错误(error) 来处理。那么当 script 编译时有警告时,InstallShield 不会继续执行下去Generate inline debugging information选中,或不选中该复选框 若选中,安装脚本

6、中创建的对象的调试信息将在编译时被打包进安装程序中( 一般仅用于开发阶段 )Libraries(.obl) 后缀为.obj 文件的路径 指定编译时需要链接的对象库文件(*.obl)的完整路径( 允许嵌入路径相关的变量 ),若有多个路径则用逗号隔开2.2 编译功能导航当开发者改动了项目的 setup script 后,可以先编译此项目,以及早发现脚本语法错误及其它的配置问题。在项目已经打开的情况下,开发者可以从 Build 菜单列表中选择 Compile 菜单,或者在工具条上点击 Compile按钮,从而启动编译当前项目。如下图所示:2.3 编译信息输出当编译完成后,InstallShield

7、IDE 下面的输出窗口(Output Window)中的 Compile 标签页会打开,显示编译输出的文本信息( 成功或者失败 ),如下图所示的 Compile 窗口输出:4 当本次编译失败时,毗邻的 Tasks 标签页会列出出错的代码行号和源头。当用户可以双击其中某一行时,脚本编辑窗口(Script Editor)自动跳转定位到脚本中的该行,如下图所示的 Tasks 窗口输出:3 调试(Debug)3.1 调试选项设置用户可以先在 InstallShield IDE 中定义调试相关设置,请注意这些设置仅对当前被打开的项目有效。用户从 Build 菜单列表中选择 Settings 菜单项,然后

8、在弹出的对话框里打开 Run/Debug 标签页,如下图所示:5 下表详细说明了该对话框中各设置项的作用:属性名 属性值(例子) 使用说明Setup Command Line Arguments其值可以是任何一个字符串。比如此例中输入的是自定义的一串选项值这里输入的字符串会保存在系统变量CMDLINE 中,通过 InstallShield 运行的安装可以直接调用其值。开发者一般用它来定义一些开关类选项,控制 setup script 的行为。Generate MIF File 选中,或不选中该复选框 若选中,通过 InstallShield 运行安装时,会生成一个管理信息格式(.mif)的文件

9、。(注:当此复选框选中时,后面两个文本框会被激活 )MIF Filename MIF 文件的文件名 这里输入的文件名(.mif)会在InstallShiled 运行安装的时候产生。若留为空,默认文件名为 Setup.mifProduct Serial Number产品序列号 这里输入的序列号会写入上面生成的.mif 文件中3.2 调试功能导航InstallShield IDE 提供了一个代码级别的调试器,可以供开发者深入脚本代码内部,去定位错误或者输出调试信息。开发者可以从 Build 菜单列表选择 Debug 菜单,或者按下键盘上的 F5 按键,从而启动脚本调试器。 6 3.3 调试功能介绍

10、当开发者点击了 Debug 菜单或者按钮后(见 3.1 调试功 能导航所示图片) ,InstallShield IDE 首先会 build 出安装程序,然后弹出调试器窗口供开发者使用,其界面如下:调试器窗口工具栏上有一些用于调试的功能按钮( 在 Debug 菜单列表中也可以找到对应的菜单项 )。各功能按钮的用途详见下表:按钮图标 按钮名称 按钮功能Open 点击按钮 ,选择并打开本地磁盘文件,浏览其内容Toggle Breakpoint 点击按钮 ,在光标所在行添加断点;若该行已有断点,点击此按钮将取消它Go 点击按钮 ,调试器会运行脚本代码到下一断点处停止Break 点击按钮 取消正在运行的

11、调试。此按钮跟上一按钮 是互斥操作。Step Into 点击按钮 执行下一行语句。如果该行调用了用户自义函数,调试器也会步入该函数体逐步执行Step Over 点击按钮 执行下一行语句。如果该行调用了用户自义函数,调试器不会步入该函数体,而是在该函数被调用完之后的一行继续执行Step Out 点击按钮 从当前被调用的函数体中内部跳7 出。比如开发者先使用 Step Into 按钮 步入了一个函数体内部,然后可以点击此Step Out 按钮 从该函数体内部跳出到外面调用行,继续执行Show Next Statement 点击按钮 显示当前脚本中下一处声明(我们在 Degger 窗口中滚屏浏览代码

12、后,可点击此按钮快速定位到当前脚本的执行处 )3.4 调试信息输出调试器窗口下部有两个窗口,在脚本被执行期间,它们会实时显示相关输出信息。 Local 窗口实时输出当前被执行函数( 自定义 )内部的所有局部变量 (local variables)的值。该窗口里面的信息只可读,不可修改。见下面左图. Watch 窗口实时输出用户自行添加的监控项(watch)的值,观测项可以是变量名或常量名,用户可以通过右键菜单添加或者在表格中直接输入。见下面右图.3.5 在客户终端机上调试前面的四小节(3.13.4),我们讨论的是在开发者本机上利用 InstallShield IDE 的调试方法。在现实情况下,

13、我们编译出来的的安装程序在本机上测试正常,然而发布给客户后,在客户的终端机器上却出现各种问题。因为客户机器上面一般没有安装 InstallShield IDE 开发环境,我们也不可能用开发者常规的方式来进行调试,这时候我们就要使用下面的步骤进行在客户机器上进行现场调试:1 从开发者本机上 InstallShield 安装目录 System 下面,找到名为 ISDbg.exe 程序,拷贝到将要执行调试的客户机器上面的任一文件夹( 注:在该目录下有其帮助文档 ISdbg.chm,可以一并拷贝过去,以便客户参考 )。2 接着在客户机器上面,打开一个命令行窗口,敲入下面的命令来注册这个 exe 程序(

14、 假设其目录为 C:debug):8 C:debugISDbg.exe REGSERVER3 在开发者本机上编译并构建安装程序( 若以前已经构建过,此步可以省略 )。4 从开发者本机上找该项目构建出来的文件夹( 包括 Disk Images 子文件夹 ),拷贝到将要执行调试的客户机器上的任一文件夹。例如,假设开发者本机上该项目的根目录是:C:IS_ProjectsAGIS,那么要拷贝的文件夹是C:IS_ProjectsAGISMediaSINGLE_EXE_IMAGEDisk ImagesDisk1(注:以上路径中最后一层 Disk1,在实际情况下可能是 Disk2, Disk3 等等,请酌情

15、选择。另外,如果开发者机器上的目录可以共享给将要执行调试的客户机器,这一步可以省略 )5 在客户机器上,打开一个命令行窗口,使用/d 参数调用安装程序( 比如 Setup.exe),该参数后面紧跟将要生成的log 文件的路径,比如下面的命令行例子:C:debugSetup.exe /d”C:debug”此时安装程序界面会照常弹出,供客户操作完成安装。同时 InstallShield 的 Debugger 窗口也会显示,并随着客户在安装程序界面上的操作,该窗口会实时显示当前执行的代码,并输出当前的局部变量,当然客户也可以自己添加的监控项( 参见 3.4 调试信息输出 )4 构建(Build)4.

16、1 构建单个 EXE 文件在项目编译没有错误发生的情况下,我们可以构建出最终的可执行型安装程序(*.exe)。这个操作非常简单,用户可以在 Build 菜单列表中选择 Build 或 Refresh Build ,然后等待项目编译和构建完毕,在项目的$MediaSINGLE_EXE_IMAGEPackage 目录下会看到生成的 EXE 文件,见下图:(注: Build 会执行完整的构建,而 Refresh Build 只会重建上次 build 之后被修改的部分 )4.2 批处理构建用户也可以使用批构建(Batch Build)方式,一次构建预先定义的各个版本(release)和单个的 EXE

17、程序文件。在 InstallShield IDE 中,打开 Build 菜单列表,选择 Batch Build 菜单项,然后会看到如下左图所示的对话框。勾选之后,点击 Build 按钮,即开始了批构建。完毕后,在项目的 Media 文件夹下面可以看到各自生成的子文件夹,如下右图所示:9 5 版本(Release)在安装程序被发布给测试人员或者最终用户之前,开发者应该创建一个对应的版本(release)。一个版本配置了一些安装相关的信息,也包含了将被发布到软盘,光盘,文件夹,或者其它媒介载体上的文件。创建版本最常见的方式是使用 InstallShield IDE 自带的版本向导 (Release

18、 Wizard)。5.1 版本向导(Release Wizard)版本向导(Release Wizard)是 InstallShield 提供的一个辅助功能,它提供了十五个连续的配置页面,引导用户逐步填入各类配置信息,最后根据收集的配置信息生成该版本所包含的数据文件和执行文件,这些文件可以被直接打包发送给最终用户,或者烧录到光盘等媒介载体作为安装盘。在 InstallShield IDE 界面上,点击菜单栏上的 Build 菜单,然后在其展开的列表中点击 菜单(或在工具栏上点击 按钮), 此时版本向导对话框会弹出。下面我们对它的十五个配置页面逐一说明( 注:某些配置页面仅在某些特定类型的安装项

19、目才出现 ):1 第一个页面,是 Welcome 页面,请直接点击 Next 按钮进入下一页面。2 第二个页面,是 Specify a Release 页面,可以输入一个新 release name 或者选择现有的某个 release。3 第三个页面,是 Media Type 页面,可以选择 CD-ROM, Custom, Network Image 等作为此版本发布使用的媒介载体( 注:如果选择的类型是 Custom,页面下面的 Format Size 文本框会激活,供用户输入 )4 第四个页面,是 General Options 页面,配置安装程序的一些属性信息。5 第五个页面,是 Pas

20、sword 页面,允许设置一个密码,在安装程序运行之前会要求用户输入该密码并验证。6 第六个页面,是 Platforms 页面,选择安装程序支持的所有操作系统平台。(注:如果安装程序中的某个 component 关联的平台,没有在这个页面选中,那么该 component 不会被打包到这个 release 中 )7 第七个页面,是 Setup Languages 页面,选择安装程序支持的所有语言,从而最终用户在运行该安装程序时可以选择以某种语言安装。8 第八个页面,是 Features 页面,选择需要打包进安装程序的 features。9 第九个页面,是 Media Layout 页面,选择以

21、Cabinet File, CDROM Folder, 或 Custom 格式来打包 features所包含的文件。(注:若选择 Custom,下一页面会是 Custom Feature Layout,跟第八个页面类似,此处不表 )10 第十个页面,是 User Interfaces 页面,选择某个皮肤文件(*.skin),应用给安装程序。11 第十一个页面,是 Internet Options 页面,配置安装程序在被运行时跟 internet 相关的一些选项。12 第十二个页面,是 Digital Signature 页面,可以为安装程序添加数字证书。13 第十三个页面,是 Update 页面,配置以 Update 模式运行安装时的行为,可以选择全部重新安装,或者只安装此页面中被选择的组件。14 第十四个页面,是 Postbuild Options 页面,配置当前 build 完成之后额外执行的一些动作,比如上传拷贝一10 些文件,执行批处理脚本等。15 第十五个页面,是 Summary 页面,汇总显示了前面所有页面收集的配置信息。若确认没有问题,可以点击 Finish 按钮开始创建 release (选项 Build the Release 选择应该被勾选上 );若想修改某部分配置,可以点击 Back 按钮回退到对应页面进行修改。

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

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报