首頁 > 後端開發 > C++ > 在使用 WiX 安裝 MSI 期間,如何在 COM 中可靠地註冊 CPP DLL?

在使用 WiX 安裝 MSI 期間,如何在 COM 中可靠地註冊 CPP DLL?

Patricia Arquette
發布: 2024-11-19 08:02:02
原創
765 人瀏覽過

How Can I Reliably Register a CPP DLL in COM During MSI Installation Using WiX?

使用Wix Msi Installer 安裝後將CPP DLL 註冊到COM

問題:在MSI 安裝期間,CPP 庫未註冊到COM ,雖然嘗試了不同的

解決方案:

停止使用批次檔和自訂操作:

手動執行批次檔和自訂操作COM 註冊不可靠。

使用提取 COM 註冊資訊heat.exe

  1. 使用 WiX 工具包中的 heat.exe 工具從 CPP dll 中提取 COM 註冊資訊。
  2. 提取的註冊表資料將用於在編譯時填充 MSI 資料庫,確保安裝過程中可靠的 COM 註冊。

解決缺失問題依賴項

COM 檔案無法載入通常是由於缺少依賴項造成的。

  1. 使用 Dependency Walker 掃描 COM 檔案是否缺少相依性。
  2. 放置安裝目錄中缺少的依賴檔案以及COM dll,以便在安裝期間可以存取它們

使用heat.exe 進行COM 擷取過程

  1. 對於本機資料夾或路徑中具有相依性的32 位元COM 文件,使用此指令:

    heat.exe file YourFileName.ocx -o YourFileName.wxs
    登入後複製
  2. 將匯出的WiX 登錄資料合併到主要的WiX 原始碼,請參考這篇文章:如何在Wix 中引用熱輸出(wxs)(命令列)。

64 位元二進位檔案

heat.exe 無法正確處理 64 位元 COM 二進位檔案。考慮使用 WiX 擴充包(商業)或自行註冊(不建議)。

其他提示

  • 確保使用提升的權限嘗試註冊。
  • 部署後,當所有相依性都已安裝時,請驗證 heat.exe 指令是否在 COM 檔案上執行可用。
  • 利用 Dependency Walker 工具來了解任何缺失的依賴項或誤報。

以上是在使用 WiX 安裝 MSI 期間,如何在 COM 中可靠地註冊 CPP DLL?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板