InstallShield Express制作Delphi数据库安装程序

原创 2001年07月17日 09:15:00
关键所在
用Delphi编写的数据库程序在发布时需要同时发布BDE(Borland Database Engine),但BDE占用空间较大(不同版本大小不一,最新的Delphi5有17M多),远比一般的程序本身要大。但实际上,有些文件用不上的,所以我们可以在发布时用Delphi附带的InstallShield制作安装程序来定制BDE驱动,这样可以精简我们的数据库应用程序。
实现与应用
参考Bde32.HLP中"Introduction to Borland Database Engine"下的"Core BDE Files",可以得知BDE的关键文件及其作用,可以以此作为依据来精简BDE驱动程序。下面是各个文件的作用:
一、不可缺少的文件
Blw32.dll:语言驱动函数库。
Idapi32.dll:BDE基本函数库。
Fareast.btl、Usa.btl:远东语言及美国语言驱动程序,对中文软件不可缺少。
Idr20009.dll:错误信息库。

二、数据库驱动程序(根据需要选择一个或多个)
Idasci32.dll:Ascii文本数据库驱动程序函数库,如果不用Ascii文本数据库,可以不要。
Iddao32.dll:Access数据库驱动程序函数库,如果不用Access数据库,可以不要。
Iddbas32.dll:dBase数据库驱动程序函数库,如果不用dBase数据库,可以不要。
Idodbc32.dll:ODBC数据库驱动程序函数库,如果不用ODBC数据库,可以不要。
Idpdx32.dll:Paradox数据库驱动程序函数库,如果不用Paradox数据库,可以不要。

三、其它驱动程序和配置文件(根据需要选择一个或多个)
Idbat32.dll:批操作驱动程序函数库,如果不用TBatchMove控件或DbiBatchMove类函数,可以不要。
Iddr32.dll:Data Repository驱动程序函数库,如果不用Data Repository功能,可以不要。
Idprov32.dll:BDE DataSet provider驱动程序函数库,如果不用TProvider控件,可以不要。
Idqbe32.dll:QBE驱动程序函数库,如果不用Query By Example,可以不要。
Idsql32.dll:SQL查询驱动程序函数库,如果不用TQuery进行查询,可以不要。
Idapi32.cfg:BDE配置文件,如果程序中没有特殊要求,可以不要。也可以在BDE管理器中设置正确后再分发。

四、其它文件(一般不用)
其它的*.BTL:其它国家和地区的语言驱动程序,可以不要。
BDE32.HLP、BDE32.CNT:BDE帮助文件,可以不要。
BdeAdmin.exe、BdeAdmin.HLP、BdeAdmin.CNT:BDE管理器及帮助文件,如果不会发生要求软件用户自己配置BDE的情况时,可以不要。
DataBump.EXE、DataBump.HLP、DataBump.CNT:数据库数据转移工具及帮助文件,可以不要。
Localsql.HLP、Localsql.CNT:SQL查询语句帮助文件,可以不要。
Sqllnk32.HLP、Sqllnk32.CNT:SQL连接帮助文件,可以不要。

在根据需要选择文件后,还要写注册表文件。可以手工设置,但最好在程序中设置,需要设置的注册表键值有(在调用数据库操作前需要有正确的键值存在,各对应键值在Win9x/NT/Win2000下均相同):
数据驱动程序所在目录的设置:
HKEY_LOCAL_MACHINE/Software/Borland/Database Engine/DLLPATH(字符串值)
语言驱动程序所在目录的设置:
HKEY_LOCAL_MACHINE/Software /Borland/BLW32/BLAPIPATH(字符串值)
语言驱动程序文件名:
HKEY_LOCAL_MACHINE/ Software/Borland/BLW32/LOCALE_LIB#(字符串值)  其中#为编号,按顺序为0、1、2、3......如:
HKEY_LOCAL_MACHINE/Software/Borland/BLW32/LOCALE_LIB0="fareasst.btl"  HKEY_LOCAL_MACHINE/Software/Borland /BLW32/LOCALE_LIB1="usa.btl"
做完这些就足够了,按此办法即可有效减少BDE驱动程序的大小,例如只用TTable控件操作Paradox数据库,则只要Idapi32.dll、Blw32.dll、Idr20009.dll、Fareast.btl、Usa.btl、Idpdx32.dll六个文件即可。这些文件可放在任何一个目录,只要在注册表指明即可。BDE由17.4M减到1.48M,压缩一下就只有几百K了,这使程序大为减小。
下面我们就以用InstallShield来制作一个Paradox数据库应用系统的安装程序为例:
1.启动程序设置有关文件目录路径,进入Setup Checklist;
2.在Set the Visual Design中设置程序名、程序目录、安装程序主窗口等;
3.在Specify Components and Files中设置Groups and Files项,在Program Files中加入用户的所有程序文件和数据库表文件,以及下列文件:Idbat32.dll、Usa.btl、Idapi.cfg、Charset.cvb、Bantam.dll、BLW32.dll、Idapi32.dll、Fareast.btl、Idpdx32.dll、Idr20009.dll、Idsql32.dll(以上文件必须含目录路径);
4.在Dialog Boxes中设置所需安装对话框;
5.在Make Registry Changes中设置Keys项,在HKEY_LOCAL_MACHINE中加入software/borland/blw32和software/borland/database engine两项,并且在blw32值中加入
"Blapipath '以上文件目录'"、"LOCALE_LIB0 '以上文件目录'/Fareast.bll"和"LOCALE_LIB1 '以上文件目录'/Usa.bll",在database engine值中加入"Dllpath '以上文件目录'"、"Configfile01 '以上文件目录'/Idapi.cfg";
6.在Specify Folder and Icons中根据实际要求设置有关项目;
7.在Run Disk Builder中设置安装盘的有关信息;
8.最后进行Test the Installation和Create Distribution Media即可完成安装程序的制作。

InstallShield Express制作Delphi数据库安装程序

  • zgqtxwd
  • zgqtxwd
  • 2008年04月30日 18:18
  • 125

InstallShield Express for delphi制作安装程序定制BD

  • zgqtxwd
  • zgqtxwd
  • 2008年04月30日 15:34
  • 214

使用Installshield 10.0制作安装包时,添加序列号检测

         添加序列号检测步骤固定在Customer Information对话框里面,在Installation Designer面板里面,选中第4步骤中的Dialogs选项,在Dialogs...
  • hwj1227
  • hwj1227
  • 2009年12月26日 16:11
  • 1665

打包软件 --InstallShield Express 5.0 的一些使用方法

要将自己设计的软件制作成安装包,那么就需要打包软件,世面上有很多打包软件,各有各的特点,我也是初次接触, 我用的是InstallShield Express 5.0 ,感觉还是比较方便的。1:打包前,...
  • corrupt
  • corrupt
  • 2007年02月12日 14:13
  • 3502

InstallShield Express for delphi制作安装程序定制BDE引擎

使用Delphi编写数据库程序,在发布程序的同时还需要发布BDE(Borland Database Engine),但BDE占用空间较大,如Delphi5就有17.4M之多,远比一般的程序本身要大。...
  • java169
  • java169
  • 2008年05月20日 04:15
  • 288

InstallShield Express for delphi制作安装程序定制BDE引擎

使用Delphi编写数据库程序,在发布程序的同时还需要发布BDE(Borland Database Engine),但BDE占用空间较大,如Delphi5就有17.4M之多,远比一般的程序本身要大。实...
  • moonet
  • moonet
  • 2002年12月16日 09:36
  • 2192

22 制作安装包,让用户安装程序

制作安装包,让用户安装程序
  • czg13548930186
  • czg13548930186
  • 2017年05月29日 21:49
  • 3103

windows中使用installShield制作windows服务的安装包

首先弄明白本文究竟说的是什么. 1.      是讲windows服务怎样编写吗?不是 2.      是讲在visual studio里怎样制作安装包吗?算是,但也不全是。 3.      是讲wi...
  • festone000
  • festone000
  • 2017年02月07日 18:26
  • 1602

在用installshield制作安装包时如何在注册表中写文件关联

最近在学习用installshield制作安装包,这两天遇到需要写注册表的问题:通过注册表设置文件关联,即将一个带有特殊后缀的文件连接到一个应用程序上。怎么在installshield中进行设置呢? ...
  • fanjiyan
  • fanjiyan
  • 2011年10月19日 15:32
  • 1623

Installshield制作x64安装包Dll自注册失败解决版本

今天同事写了一个64位的自注册dll要放置在安装包中,但是安装包执行过程中提示此模块自注册失败,错误代码为-2147220473,后经排查得知,此dll所在的component未被设置为64位模块,故...
  • xbgprogrammer
  • xbgprogrammer
  • 2015年04月01日 11:32
  • 1542
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:InstallShield Express制作Delphi数据库安装程序
举报原因:
原因补充:

(最多只允许输入30个字)