首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C++ >> 關於C++

C++Builder 應用程式部署指南:運行時套件與 DLL 依賴完整清單

     編輯:關於C++

獨立 EXE 與運行時套件兩大部署模式

模式一:靜態連結(獨立 EXE,無外部依賴)

**專案選項設定:**

  • **Linker** 頁 → 取消勾選 Use dynamic RTL
    效果:不需 borlndmm.dll、cc32XXmt.dll (如 CB5: cc3250mt.dll, CB3: cp3240mt.dll)。
  • **Packages** 頁 → 取消勾選 Build with runtime packages
    效果:所有 VCL/第三方元件靜態連結進 EXE,無需任何 .bpl 套件檔。

修改後 **Rebuild All** 即生成完全獨立 EXE。

模式二:動態連結(需部署 BPL 運行時套件)

勾選 Build with runtime packages,並在下方編輯框列出需部署的套件名(預設含 vcl50.bpl 等)。優點:EXE 體積小、多 EXE 共享記憶體、便於插件架構。缺點:部署複雜度高。

常見運行時套件對應表 (CB5 為例)

元件分頁 / 功能代表元件運行時套件額外依賴
Data Access (BDE)TDatabase, TTable, TQueryvclbde50.bpl需安裝 BDE + 對應 SQL Client
ADOTAdoCommand, TAdoQueryvclado50.bpl需 MDAC (執行 mdac_typ.exe)
Data ControlsTDBEdit, TDBGridvcldb50.bpl-
MIDASTClientDataSetvclmid50.bpl需 Midas.dll (舊版 dbclient.dll)
Standard / DialogsTButton, TEdit, TOpenDialogvcl50.bpl-
InterBaseTIBQuery, TIBTablevclib50.bpl需 InterBase Client
QuickReportTQuickRep, TQRBandvclx50.bpl + qrpt50.bpl-
SamplesTIBEventAlerter 等vclsmp50.bpl-

版本差異:CB6 為 vcl60.bpl、CB2007 為 vcl110.bpl 等,版本號遞增。

第三方元件部署原則

  • 同樣遵循「靜態連結」或「動態連結 + 部署對應 .bpl」兩種模式。
  • 若第三方元件依賴額外 DLL(如資料庫驅動、圖形庫),**必須同步部署**。

實用技巧:快速驗證程式真正需要哪些 BPL

  1. 準備一台**未安裝 C++Builder** 的乾淨 Windows。
  2. 複製編譯好的 EXE 及 **所有** 潛在 BPL (Windows\System32 下 CB 相關 *.bpl + 第三方 *.bpl) 到同一目錄。
  3. 運行程式,逐一刪除 BPL,無法刪除(報錯或功能失效)者即為必需套件。

專業安裝包製作建議

使用 InstallShield Express for C++Builder:

  • 自動掃描專案使用的元件,精準收集所需 BPL。
  • 內建 BDE/MDAC 安裝腳本。
  • 支援註冊表、捷徑、解除安裝等完整生命週期。

總結檢查清單

  • [ ] 確認部署模式(獨立 EXE vs 動態 BPL)
  • [ ] 依模式設定 Linker / Packages 選項
  • [ ] 清單化所有需部署 BPL 及額外 DLL
  • [ ] 驗證乾淨機器可正常運行
  • [ ] 使用專業安裝工具打包
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved