当C++Builder应用程序开发完毕并可运行后,就可以发布它。也就是说,能使其他人运行它。在发布一个应用程序时必须采取几个步骤,以便应用程序能够完全发挥其功能。这些步骤随应用程序的不同而不同,同时也依赖于应用程序类型而定。下列各节说明了发布应用程序的步骤:
发布一般应用程序。
发布库应用程序。
发布Web应用程序。
为各种主机环境。
软件许可证要求。
12.1 发布一般应用程序
在可执行的文件以外,一个应用程序还要求很多支持文件,例如DLLs、包文件及辅助应用程序。另外,Windows注册表需要包含应用程序注册,以确定支持文件的位置,从而简化程序设置。拷贝应用程序的文件到一台计算机中并完成所有需要的注册表设置的进程可以用一个安装程序将其集成为化过程。
例如可用InstallShieldExpress。这些工作是对几乎所有类型的应用程序都通用的主要的发布工作:
使用安装程序。
指定应用程序文件。
那些库和在Web中运行的C++Builder应用程序在发布一般应用程序的步骤外还要求额外的安装步骤。安装库应用程序的信息,可参见12.2节。安装Web应用程序的信息,可参见12.3节。安装ActiveX控件的信息,可参见37.10节。发布CORBA应用程序的信息,参见VisiBroker安装和管理指南。
使用安装程序
仅由可执行文件组成的简单C++Builder应用程序很容易在目标计算机上安装。只需将可执行文件拷贝到计算机上即可。然而,多种文件组成的更复杂的应用程序要求更复杂的安装过程。这些应用程序需要专门的安装程序。
安装工具箱创建安装程序的进程,而且通常不需要写任何代码。通过安装工具箱创建的安装程序可执行安装C++Builder应用程序相关的各类任务,包括:拷贝可执行文件和支持文件到计算机主机中,在Windows注册表中注册以及为库应用程序安装BorlandDatabaseEngine(Borland库引擎)。
InstallShieldExpress是C++Builder捆绑的安装工具箱。InstallShieldExpress已经过验证可用于C++Builder和Borland库引擎。InstallShieldExpress不会在安装C++Builder时被安装,必须自行安装以用于创建安装程序。运行C++Builder光盘上的安装程序以安装InstallShieldExpress。参见InstallShieldExpress联机帮助可获得关于使用InstallShieldExpress创建安装程序的信息。
当然还有其他的安装工具箱,然而应该仅使用那些经过验证可发布Borland库引擎的安装工具箱。
1.指定应用程序文件
除可执行文件外,还有其他很多文件需要与应用程序同时发布。
应用程序文件。
包文件。
ActiveX控件。
2.应用程序文件
表12-1中所列类型的文件可能需要与应用程序同时发布。
3.包文件
如果应用程序使用运行时包,这些包文件需要与应用程序一起发布。InstallShieldExpress处理包文件的安装与处理DLL一样,拷贝文件并在Windows注册表做必要的注册。Borland推荐把由Borland提供的运行时包文件安装在Windows“System目录下。这作为一个通用的位置以便多个应用程序可文件的单个的实例。自己创建的包,推荐与应用程序安装在同一目录中。只有.BPL文件需要发布。若需发布包给其他开发者,应同时提供.BPL和.BCP文件。
4.ActiveX控件
有些ActiveX控件是与C++Builder捆绑的组件。组件包装被链接到应用程序的可执行文件(或运行时包),但是组件的.OCX文件也需要与应用程序一起发布。这些组件包括:
ChartFX,版权SoftwareFXInc。
VisualSpellerControl,版权VisualComponents,Inc。
FormulaOne(spreadsheet),版权VisualComponents,Inc。
FirstImpression(VtChart),版权VisualComponents,Inc。
GraphCustomControl,版权BitsPerSecondLtd。
自己创建的ActiveX控件在发布的计算机上使用前需要注册。InstallShieldExpress安装程序会化这一进程。要自行注册ActiveX控件,使用TRegSvr演示程序或Microsoft实用程序REGSRV32.EXE(不是所有版本的Windows都包括)。支持ActiveX控件的DLL也需要与应用程序一起发布。
5.辅助应用程序
辅助应用程序是单独的程序,但若没有它,C++Builder应用程序将可能是部分或完全不能工作。辅助应用程序可以是Windows、Borland提供,或可能是第三方的产品。辅助应用程序的一个例子是InterBase实用程序ServerManager,它管理InterBase库、用户及安全。
若应用程序依赖于辅助程序,如果可能,必须确保与应用程序一起发布它。辅助程序的发布可能受重发布许可协议管理。特定信息请参阅辅助应用程序文档。
6.DLL的位置
可以把仅由单个应用程序使用的.DLL文件和应用程序安装在一样的目录中。需被很多应用程序使用的DLL应安装到那些应用程序都可的位置。定位这种共享的DLL的习惯作法是把它们放在Windows或Windows“System目录。更好的方法是为共享的.DLL文件创建一个专门的目录,类似于安装Borland库引擎的方法。