计算机应用
COMPUTER APPLICATIONS
1999年 第19卷 第6期 Vol.19 No.6 1999



PowerBuilder5.0 安装盘制作的关键技术
石建勋　杜戈　孙景琪
　　摘　要　本文在介绍利用Install Builder制作PowerBuilder安装盘过程的基础上，着重阐述了制作安装盘中配置ODBC、注册、生成可重复使用部件等关键技术。
　　关键词　安装盘，ODBC，注册，可重复使用部件
1　引言
　　PowerBuilder是PowerSoft公司推出的数据库应用系统的开发工具。由于它基于客户/服务器体系结构，集成强大并易于使用的第四代编程语言（4GL），具有面向对象的应用程序开发方法以及可视化的开发环境，适用于各种不同的数据库管理系统，现已成为当今最流行的数据库前端开发工具之一。
　　我们从实际应用需要出发，结合制作安装盘的亲身体会,讲述PowerBuilder安装盘的制作方法与关键技术,使大家对PowerBuilder在制作安装盘方面的强大功能有进一步的认识，以推广Install Builder安装盘制作工具和PowerBuilder开发工具的应用。同时也谈一谈安装盘英文界面的汉化技术，帮您制作具有中文界面的安装盘。
2　安装盘的制作过程
　　PowerBuilder提供了专门制作安装盘的工具Install Builder.它的界面看起来比较复杂，选项也很繁多，但只要掌握安装盘的制作过程和必要步骤，还是能够简便快捷的制作出应用程序安装盘的。


3　生成工程文件
　　制作安装盘的前提条件是:将应用程序编译成可执行文件（.exe）及PowerBuilder的动态链接库文件（.pbd）。这只需要在PowerBuilder应用画笔中创建工程文件（.prj）即可。其具体步骤在很多PowerBuilder的工具书中都有详细介绍，这里就不再赘述，但要强调一点：为了减少程序代码长度，在“代码生成选项”（Code generation options）中，选择“机器码”（Machine Code）。
4　生成配置文件（.cfg）
　　生成工程文件后，进入安装盘制作工具Install Builder的集成环境中，为要作的安装盘建立一个配置信息文件(.cfg)。这一步骤包含的内容较多，涉及安装盘界面设置、初始化文件设置、程序注册等重要操作，是制作安装盘的关键所在。
4.1　安装盘界面设置
　　点击主窗口工具栏中New按钮，建立一新的CFG文件。在弹出的子窗口中,设置应用程序运行时的窗口标题、安装程序的图标、安装程序运行时的背景图案、文字及背景的颜色、要安装到的目标操作系统类型（16位或32位）等项目。也可以缺省不填这些项目或者稍后在主菜单中Options选项中补填。
4.2　部件及属性设置
　　在主窗口的工作区中填加应用程序的主要部件（component）以及相应的子部件（subcomponent）（点击工具栏中Add Comp 和Add Sub按钮进行操作）。一个部件包含了某一类型文件，如：应用程序文件、自定义INI文件、帮助文件、数据库文件、系统隐含文件等等。一个部件也可以细分为几个子部件。在各部件下的Files属性（标签页的第一项）中，利用工具栏中Select Files按钮，填加本部件所需的文件。每个部件以及相关子部件共用一个安装目标路径（Default Destination Path）,即此部件下的文件会按指定的路径安装到目标系统中。
　　其中有几个缺省路径，含义分别是：
　　@(base)――数据库文件所在路径
　　@(windows)――windows的路径
　　@(system)――windows\system的路径
　　@(componentname)――已定义过的部件所指的路径。
　　若想在安装程序时，将某一部件的路径加到系统启动批处理文件Autoexec.bat中去，选中Add to Path选项；若想将本部件下的文件隐含，使用户不可见，则选中Hide from User选项；若想在安装盘运行时，安装不同的部件显示不同的背景画面（PowerBuilder的安装过程就是如此），则在相应部件下的BillBoards属性中（标签页的最后一项）加入希望显示的位图（.bmp）;若部件需要使用超过8位的长路径名，则在部件的Additional Options属性中设置。
4.3　初始化文件设置
　　在部件下的INI Setting属性中，可以为应用程序配置诸如：用户ID号、应用程序版本号、缺省打印机、windows路径等信息。如果数据库使用的是通过ODBC(开放数据库接口)连接的数据源，则还需要在此配置ODBC信息（包括：数据源类型、ODBC数据源驱动程序、数据库名、启动程序等等）。安装盘制作工具Install Builder为此提供了非常简便快捷的方法：点击工具栏中InI Files按钮，从中选中你使用ODBC作为接口得数据源，则有关此数据源的ODBC配置信息将自动拷贝到部件的INI Setting属性中。
4.4　程序及数据库注册
　　作为一个标准的windows应用程序，需要将本应用程序的一些信息通知windows操作系统，以便系统管理和操作。这就涉及到windows注册（registry）问题。尤其对于数据库应用程序，注册程序和数据库关系到能否正确连接应用程序与数据库。因此，注册问题是关系到安装盘制作成败的关键技术之一。应用程序的注册信息可以手工配置，但大多数编程者对注册的项目、格式不是很熟悉，而且其过程也很繁琐。Install Builder工具包同样提供了简捷的注册方法：在工具栏中点击Registry按钮，从ODBC数据源中（ODBC Date Sources）选取HKEY―CURRENT―USER\ODBC\OD BC.INI中所需的数据源名，按确定后，有关所选数据源的数据库名、库文件、驱动文件、用户ID号、密码、启动程序等一系列信息会自动填加到包含数据库文件部件下的Registry Entries属性中。需要注意的是，仅仅注册自己配置的数据源是不够的，若使用的是非ODBC接口的数据库，则需注册此类型数据库的驱动信息。选取HKEY-―CURRENT―USER\ODBC\ODBC.INI中此类型数据库进行数据库驱动注册。若使用的是通过ODBC连接的数据库，除注册此类型数据库驱动之外，还需注册ODBC数据源（ODBC Data Sources）的驱动信息。下面举个例子：假设用户使用了PowerBuilder自带的本地数据库Sybas SQL Anywhere 5.0（这是一种通过ODBC连接的数据库），并创建了名为example的数据库。在注册时不仅要选择HKEY―CURRENT―USER\ODBC\ODBC.INI下的example数据库，还要选择Sybase SQL Anywhere 5.0 数据库驱动及ODBC Data Sources （ODBC数据源）驱动一同注册。至此，关于应用程序及数据库的注册操作已全部完成，在程序安装时，windows会根据这些注册信息正确的配置应用程序及数据库。
5　生成压缩文件及制作磁盘
　　从安装盘制作工具Install Builder的主窗口菜单上找到Actions选项，其下共有五个操作子选项，接下来按照这五个子选项依次操作。
5.1　定义可重复使用部件
　　可重复使用部件是一些经过压缩的功能独立的程序模块。这些程序模块通常包含PowerBuilder环境配置、接口驱动等动态链接库，可被所有安装盘配置文件(.cfg）共享。当定义并压缩可重复使用部件后，制作其他应用程序安装盘时，就无须重新定义和压缩这些可重复使用部件，而直接从中选取应用程序所需模块即可。
　　定义可重复使用部件的过程包括文件选择、初始化文件以及程序驱动配置等，而此过程已在Install Builder当前目录下的instbldr.ini文件中设置完毕。当点击Actions中Define Reusable Components选项时，Install Builder会自动按照instbldr.ini中的设置，将缺省的可重复使用的各部件及相关文件显示到新打开的定义可重复使用部件的窗口界面中。在此窗口下，可根据程序需要增减部件及相关文件。其操作类似于定义部件及子部件时的操作。有经验的编程人员还可直接对instbldr.ini配置文件进行编辑，效果是相同的。定义可重复使用部件是制作安装盘中必要的也是关键的一个步骤。为了尽量减少安装盘自身的程序代码长度，以方便用户安装，应精简每一个部件的内容，将与本应用程序无关项剔除（建议在更改可重复使用部件内容或编辑instbldr.ini配置文件之前，应备份instbldr.ini文件，以备后用）。而且，系统缺省配置instbldr.ini中有些部件中与数据库接口的动态链接库文件和帮助文件需要其相应的数据库来提供，若没有将这些与本应用程序无关的部件及文件剔除而又没有相应数据库来提供这些文件，则在压缩可重复使用部件时，会出现“无法找到指定的文件”的错误，从而导致压缩失败，无法继续制作安装盘。当根据自己的应用程序精简可重复使用部件后，点击本窗口工具栏中compress按钮，将所包含的文件进行压缩。当压缩成功后，系统回到原来的主窗口界面。
5.2　定义程序组
　　标准的windows应用程序都有自己的程序组，同一程序组下包含各个应用及图标。下面就为自己的应用程序定义程序组。点击主菜单Action中Define Program Group选项，在弹出的子窗口中，可根据提示逐一填写：程序组名称、程序组中各应用的名称及相应路径和执行文件等。此外，可以在Create Uninstall Icon选项旁打勾，即可自动生成反安装程序（或叫卸载程序）。
5.3　读取工程文件
　　首先选中一个部件（component）,然后点击主菜单Action中Read Project Object选项，在弹出的子窗口中的应用（Application）中选取先前已生成好的应用程序的工程文件(.prj)，则构成此工程文件的exe、pbd、dll文件会填加到所选部件的Files属性中。
5.4　生成磁盘映象
　　这一步将生成整个安装盘的压缩文件，并临时存放在本地硬盘中。此类压缩文件称为磁盘映象。点击Action中Create Diskette Images选项。在弹出的子窗口中为磁盘映象选择一个路径。窗口中罗列出已压缩过的可重复使用部件，可根据需要，选取其中有用的部件。安装盘的容量大小也可方便选择。其中Unlimited选项是不限磁盘容量大小，这为制作光盘安装盘以及程序的网络安装提供了方便。最后按Create键开始生成安装盘的磁盘映象。
5.5　制作磁盘
　　磁盘映象生成后，可以随时将磁盘映象拷贝到磁盘中。点取Action中Create Diskette选项，子窗口中会显示出拷贝完整的一套安装盘所需的磁盘数(Number of disks in set)。选择好拷贝份数及驱动器号（A:或B:）,确定后，Install Builder将磁盘映象拷贝到磁盘中。至此，我们成功的利用Install Builder工具包制作出了PowerBuilder应用程序的安装盘。
6　安装盘英文界面的汉化
　　Install Builder是制作英文界面安装盘的工具包。对广大中国用户来说，英文界面不够友好，也不直观。如能在已做好的英文界面安装盘的基础上，将安装盘转换成中文界面，会更方便中国用户的使用。这就涉及到安装盘的汉化。目前常用的程序汉化技术有两种：一种是首先安装并运行一个汉化平台，提供动态的汉化环境，再运行需汉化的应用程序，此时可动态汉化英文界面。如四通利方、东方快车等软件；另一种汉化软件能从需汉化的应用程序中提取出英文词句并用汉字代替，汉化过程是永久的，汉化完毕再运行程序应用时，只要在中文windows平台上就可显示出中文界面。
7　结束语
　　随着PowerBuilder的强大功能不断被人们所认识，越来越多的软件开发人员使用PowerBuilder来完成各种数据库前台的开发工作。我们希望本文对于广大开发人员在制作PowerBuilder程序安装盘方面能有所启发和帮助，以更好的完成开发工作。
作者简介：石建勋　硕士研究生。参与某大型信息管理系统的数据库策划与开发工作。
杜戈　硕士研究生。参与某大型信息管理系统的数据库设计与开发工作。
孙景琪　教授。中国电子学会教育委员会委员。
作者单位：北京工业大学电子工程学系　北京（100022）
收稿日期:1998-12-29(修改稿)
