用delphi代的installShell工具制作

解决方案 »

  1.   

    看你的程序了,一般是前台和后台分别发布.都可以用installshield这个工具,delphi自带的.
    InstallShield Express制作Delphi数据库安装程序 
    关键所在 
    用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即可完成安装程序的制作。 
      

  2.   

    你使用的什么连接数据库呢?
     如果使用ado的话,随便找个打包软件就可以,如winzip,winrar;
     把你的程序和相关文件打包即可,
    如果用bde等,就最好使用delphi自带的installShell工具制作 ;使用很简单sqlserver库的安装.我的一点经验供参考:
     服务器必须先装sqlserver,客户段可以不装;
     服务器安装程序制作:
     在你以上打包的文件中加
     1.吧sqlserver数据库结构导出到一个*.sql的脚本;
     2.编辑一各dos批处理文件xx.bat:
        echo off 
        osql -U Sa -P  -i xx1.sql  //创建数据库的脚本文件
        osql -U Sa -P  -i xx2.sql //数据库表创建的.sql脚本文件
        echo 安装全部结束! 
        echo on
      3 将以上的文件连同osql.exe(安装sqlserver后会有,用法参见 osql -?)文件一起打包,设置在安装结束后自动运行xx.bat;
       安装:
        1.安装sqlserver;
        2.运行你的setup, ok!
    客户端:
      在你的Windows\System下面找到以下几个文件(当然你的机器必须已经安装SQLServer):    Dbmssocn.dll    TCP/IP 支持文件 
       Dbmsspxn.dll    IPX 支持文件 
       Dbnmpntw.dll    命名管道支持文件 
       Ntwdblib.dll    SQLServer核心文件(这个文件最重要) 
      将以上几个文件连同你的程序一起打包发布;  在客户机器上修改注册表信息:    HKEY_LOCAL_MACHINE\Software\Microsoft\MSSQLServer\Client\ConnectTo:
       加入如下字符串值:
          建名         键值   
         servername   DBMSSOCN,servername,1433
                                  ^^ 服务器名称,也可以使ip     最好将你机器的mssqlerver注册信息倒入客户机器然后在进行添加;