为DELPHI应用程序制作安装程序
     为Delphi应用程序制作好安装盘以便分发应用程序给用户,是软件制作过程中的重要环节。完整的安装盘必须提供在正式环境使用时所必要的相关软件,Delphi非数据库应用程序软件只需要一个要执行的.exe文件既可,并不需要任何运行时的解释器或dll。但如果您制作的软件是数据库应用程序,则必须随盘分发应用程序的BDE支持。
    一般Delphi数据库应用程序安装软件包含以下文件:
    ·应用程序的.exe文件和DLL文件(如果有的话);
    ·必要的辅助文件(例如README文件、在线帮助.HLP文件);
    ·(数据存取)桌面型或是服务器型的BDE支持;
    ·运行或者打印时REPORTSMITRUNTIME;
    分发BDE支持:
    Delphi要求将所有的可再分发BDE中的文件全部提供给它的用户。但为了节省空间,您也可以只安装执行应用程序所要的相关驱动程序。例如,若应用程序只需存取dBASE文件,则无需配置PARADOX的驱动程序。
    关于分发的其它内容,请参阅缺省安装在Delphiιdoc目录中的delploy.txt文件。一般包含下列文件:
    文件名说明
    IDAPI01.DLLBDEAPIDLL
    IDABAT01.DLLBDEBATCHUTILITIESDLL
    IDQRY01.DLLBDEQUREYDRIVEDLL
    IDPDX01.DLLDEIPARADOXDRIVEDLL
    IDDBAS01.DLLBDEDBASEDRIVEDLL
    IDR10009.DLLBDERESOUSEDLL
    ILD01.DLL
    LANGUAGE
    DRIVEDLL
    TUTILITY.DLL
    BDETUTILITYDLL
    BDECFG.EXEBDECONFIGURATIONUTILITY
    BDECOFG.HLPBDECONFIGURITIONUTILITYHELP
    IDAPI.CFGBDE(IDAPI)CONFIGFILE
    分发语言驱动程序:
    BDE使用语言驱动程序(LANGUAGE DRIVES)来提供本地化应用程序的能力。语言驱动程序DLL装载由PARADOX或dBASE数据表的IDAPI.CFG文件所指定的语言。语言驱动程序安装在BDE目录的子目录LANGUAGE中的后缀为.LD的文件。
    正确安装语言驱动程序,在win.ini文件中必须有下列的项目,以定义缺少的安装目录:
    [borland language drivers]
    ldpath=path\(你的语言驱动程序所在的路径)。
    如果使用软盘来发行文件,则需要文件压缩工具来进行压缩,并且在软件中提供压缩解压缩工具,可能还要建立一个简单的安装程序来为用户安装文件。对于复杂的用软件用,可能要用到许多在市面上可买到的安装工具。笔者目前所用的是Eschalon Deolopemant公司的Eschalon Setup Expert安装工具软件,它是专为Delphi设计制作的。可以自动地完成以上全部工作,方便快捷地制作较为专业的Delphi应用程序安装盘,大大简化您的软件发行工作。同时也可以用它来制作非Delphi应用程序的安装盘,是个相当不错的工具软件。  
用InstallShield制作数据库应用系统的安装程序
     Delphi具有强大的数据库应用程序开发功能,其Client/Sever版本可以开发一般的单机数据库应用系统、普通Client/Sever应用系统直至基于Web的多层应用,其中自然离不开Borland数据库引擎(BDE)的功劳。不过在没有安装过Delphi程序的计算机上运行数据库程序时,必须同时分发庞大的BDE文件,Borland建议用户用Delphi附带的InstallShield制作安装程序来解决这些问题。但怎样选择BDE文件才能使自己的安装程序更加精炼呢?我首先介绍一下其中几个必须的文件:
        Idapi32.dll:BDE基本函数库
        Blw32.dll:语言驱动函数库
        Idr20009.dll:错误信息库
        Fareast.bll:远东语言驱动程序
        Usa.bll:美国语言驱动程序
        以下文件为根据需要可选:
        如用Paradox,则应选择:Idpdx32.dll
        如用Dbase,则应选择:Iddbas32.dll
        如用Access,则应选择:Iddao32.dll
        如用Ascii,则应选择:Idasci32.dll
        如用TBatchMove,则应选择:Idbat32.dll
        如用Data Repostitory,则应选择:Iddr32.dll
        如用ODBC,则应选择:Idodbc32.dll
        如用BDE DataSet Provider DLL,则应选择:Idprov32.dll
        如用SQL查询,则应选择:Idsql32.dll
        下面我们就以用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即可完成安装程序的制作。
        
Delphi 的 分 发 工 具 ─ ─InstallShield
 
---- Delphi 是 颇 受 程 序 员 欢 迎 的 软 件 开 发 工 具。 如 果 您 用Delphi 编 写 了 一 个 软 件, 并 且 想 对 外 发 行, 那 您 就 需 要 一 个 安 装 程 序。 安 装 程 序 并 不 只 是 把 软 件 拷 贝 到 硬 盘 上 这 么 简 单, 它 还 必 须 提 供 友 好 的 界 面、 多 样 的 安 装 选 择( 如 目 标 路 径、 安 装 选 件 等), 显 示 必 要 的 文 字 或 图 像 信 息。 在Windows NT 或Windows 95 环 境 下, 您 还 得 考 虑 到 卸 载 的 问 题, 即 当 用 户 觉 得 不 再 需 要 时, 他 能 简 单 便 捷 地 把 该 软 件 从 硬 盘 上 彻 底 清 除 掉。 ---- 如 果 您 要 分 发 的 软 件 是 数 据 库 应 用 程 序, 那 么 情 况 将 更 复 杂。 因 为Delphi 是 通 过 其 数 据 库 引 擎BDE 与 数 据 库 打 交 道 的, 在 分 发 时, 您 还 得 考 虑 哪 些 链 接 文 件 是 必 需 的, 并 作 适 当 的 配 置。 可 想 而 知, 编 写 一 个 安 装 程 序 并 不 是 一 件 轻 松 的 事 情, 而InstallShield 的 出 现 为 程 序 员 解 决 了 以 上 烦 恼。InstallShield 是 一 种 开 发 安 装 程 序 的 软 件, 已 为 大 多 数 软 件 公 司 所 接 受。 与InstallShield 专 业 版 相 比, 其Delphi 版 功 能 稍 弱, 但 却 更 简 单 易 用。 它 完 全 是 可 视 化 的, 开 发 一 个 安 装 程 序, 您 需 要 做 的 仅 是 回 答 一 些 问 题、 填 写 一 些 数 据, 剩 下 的 事 情 都 由InstallShield 完 成。 使 用InstallShield 前 的 准 备 工 作 ---- 在 使 用InstallShield 前, 应 该 对 产 品 的 形 象 进 行 充 分 的 构 思, 撰 写 必 要 的 文 档 并 设 计 图 案、 图 像 等。 这 包 括 版 权 说 明、 帮 助 文 件、Readme 文 件、 公 司 商 标、 安 装 界 面 的 背 景、 应 用 程 序 图 标 等 等。 随 后 以 相 应 的 格 式 保 存 这 些 文 件, 如.txt、.hlp、.bmp、.ico 等。 
---- 另 外, 组 织 好 将 要 安 装 拷 贝 的 文 件。 把 同 类 型 的 文 件 安 排 在 同 一 个 子 目 录 下, 这 些 在 同 一 子 目 录 下 的 文 件 称 为 群(Group), 您 可 以 把 一 些 意 义 相 近 或 相 关 的 群 组 成 组 件(Component), 组 件 构 成 了 安 装 类 型(Setup Type)。 通 常 情 况 下, 用 户 在 安 装 软 件 时 应 有 三 种 选 择, 即 典 型 安 装、 最 小 安 装 和 用 户 自 定 义 安 装。 典 型 安 装 包 括 了 所 有 的 组 件, 最 小 安 装 只 包 含 那 些 能 使 系 统 运 行 的 必 要 组 件, 自 定 义 安 装 则 由 用 户 来 挑 选 应 安 装 的 组 件。 制 作 过 程 ---- 在Windows 95 下 运 行InstallShield, 选 取 菜 单“File” 下 的“New”, 创 建 一 个 新 项 目。 在 弹 出 的 对 话 框 中 输 入 项 目 名、 所 在 目 录, 如 果 您 想 提 供 多 种 安 装 类 型, 请 在“Include a custom setup type” 选 择 框 中 打 上 标 记, 单 击“Create” 后 即 可 进 入 编 辑 状 态 了。 这 里 顺 序 列 出 了 九 个 制 作 步 骤, 相 当 于 在 这 九 个 栏 目 中 填 写 必 要 的 参 数。 以 下 就 其 中 一 些 主 要 的 步 骤 作 一 个 简 单 的 说 明。 
---- 1. 设 置 界 面(Set the Visual Design) ---- 这 里 可 以 设 置 三 类 参 数: 安 装 程 序 名( 缺 省 为 项 目 名)、 版 本 号、 公 司 名 称 和 安 装 时 的 缺 省 路 径 等。InstallShield 使 用 的 路 径 有 两 类, 一 类 是 实 际 路 径, 如“C:\PROGRAM”, 另 一 类 是 指 定 路 径。 指 定 路 径 根 据 安 装 的 实 际 环 境 代 表 相 应 的 路 径, 如 代 表Windows 所 在 的 路 径。 安 装 程 序 运 行 时 的 背 景 标 题( 可 以 是 文 字 也 可 以 是 图 像)、 公 司 标 记 和 背 景 颜 色 等。 是 否 包 含 卸 载 程 序, 若 选 择“ 是”( 缺 省), 则InstallShield 会 自 动 把 卸 装 程 序UnInstallShield 加 入 到 安 装 程 序 中, 若 无 特 殊 原 因, 请 接 受 系 统 的 建 议。 
---- 2. 为 驱 动Delphi 数 据 库 应 用 挑 选 必 要 的 对 象(Select InstallShield Objects for Delphi) ---- 正 如 上 面 提 到 的,Delphi 应 用 程 序 通 过BDE 与 数 据 库 打 交 道。 因 此 如 果 您 的 程 序 涉 及 到 数 据 库, 请 在 安 装 程 序 中 包 含BDE。 在 这 里,InstallShield 会 提 示 您 输 入 一 些 必 要 的BDE 参 数, 包 括 数 据 库 别 名、 数 据 库 类 型(DBASE、PARADOX、ORACLE 等) 以 及 安 装 后 数 据 库 所 在 的 路 径 等 等。 ---- 3. 安 排 群、 组 件、 安 装 类 型(Specify Components and Files) ---- 您 可 以 建 立 多 个 群, 并 通 过Windows 的 资 源 管 理 器 为 群 指 定 其 包 含 的 文 件, 为 每 个 群 安 排 一 个 安 装 目 录。 若 干 个 相 关 的 群 构 成 组 件, 你 可 以 为 每 种 安 装 类 型 指 定 相 应 的 组 件。 ---- 此 外, 还 可 以 为 安 装 程 序 制 作 一 些 必 要 的 信 息( 如 欢 迎 信 息、 版 权 声 明、 告 示 栏 等); 指 定 应 用 程 序 的 图 标 并 决 定 包 含 这 些 图 标 的 文 件 夹; 确 认 安 装 结 束 后 立 即 启 动 主 程 序 或 是 显 示 一 个Readme 文 件; 为 您 的 软 件 设 定 一 些 关 键 字。Windows 95 和Windows NT 已 经 屏 弃 了 由 应 用 软 件 修 改Win.ini 的 旧 方 式, 取 而 代 之 的 是 更 为 合 理 的 登 记 系 统 — — 一 个 被 称 为“Registry” 的 数 据 库, 应 在 该 数 据 库 中 为 新 装 载 的 软 件 建 立 必 要 的 关 键 字。 当 然, 如 果 您 对 该 登 记 系 统 了 解 不 深, 也 不 必 过 分 担 心,InstallShield 会 自 动 为 您 设 定 一 些 必 要 的 关 键 字。 ---- 单 击“Disk Builder ”, 选 取 分 发 软 件 的 介 质( 软 盘 或CD), 再 单 击“Build”,InstallShield 马 上 为 您 生 成 一 个 描 述 程 序 — —InstallShield 编 译 器 所 能 接 受 的 语 言。 再 单 击“Copy to Floppy” 即 可 生 成 最 终 的 安 装 盘。 在 此 之 前, 您 可 以 单 击“Test Run” 来 测 试 安 装 效 果, 如 不 满 意, 可 回 过 头 来 对 项 目 作 一 番 修 改。 ---- 从 以 上 可 看 出, 一 个 标 准 的 安 装 程 序 在 弹 指 间 即 告 完 成。InstallShield3 的Delphi 版 与Delphi 3.0 的Client/Server 版 捆 绑 在 一 起, 当 然, 它 也 是 一 个 独 立 的 程 序。 值 得 一 提 的 是, 您 要 分 发 的 应 用 软 件 也 不 必 非 得 是 用Delphi 开 发 的, 只 要 您 的 程 序 不 涉 及 数 据 库 部 分 即 可。 如果需要,可以给你一个示例制作文档,给我你的email吧

解决方案 »

  1.   

    to cobi(我是小新,我只有5岁):我也想要,不过我是用ADO连接SQL server数据库的,不知有何区别?
      

  2.   

    ADO的打包好象只要加入一个mdactyp.dll即可,因为没有做过,不敢确认
      

  3.   

    是mdac_typ.exe 在delphi光盘的install子目录下 
      

  4.   

    cobi(我是小新,我只有5岁)和楼上的兄弟,这些文章我都看过了,但是我还不知道怎样设置安装选项,因为那里有很多选项在文章中没有提到,特别是Specify InstallShield Objects for Delphi 5部分,我最想知道的就是各个选项的功能。这样我才能正确设置我的安装程序。
    谢谢各位大侠了!!!
      

  5.   

    呵呵..delphi6自带的installshield limited edition更难用!
      

  6.   

    to:cobi(我是小新,我只有5岁) 
    给我发个例子吧。
    [email protected]
    谢谢了啊!!!