2013-06-26 109 views
2

我正在使用WiX創建MSI安裝程序。我有幾個.ocx和.dll文件必須在最終用戶的計算機上註冊。在安裝中包含這些文件是否會自動註冊它們,就好像regsvr32命令已經運行一樣?安裝文件是否自動註冊?

回答

3

不,目錄,組件和文件元素僅表示將文件複製到文件夾。 COM由COM元素(如ProgId,Class,TypeLib和AppId表)表示。

如果您知道這些信息,可以手動創作。如果你不這樣做,你可以使用實用工具Heat來收割它。 Heat模擬註冊並將其提取/轉換爲WXS代碼。

使用Regsvr32調用DllRegister服務器(或Gacutil調用COMVisible聲明或類似)被認爲是Windows Installer世界中的反模式。這是因爲它很脆弱,沒有進程,沒有聲明,並且無法回滾或監控彈性。

Harvest Tool (Heat)

+0

感謝您的澄清。我以前看過heat.exe頁面,但無法確定使用哪種方法。我是否應該使用「Harvest VB6 COM組件」方法來註冊我的所有.dll和.ocx文件,或只是「收穫文件」方法? – user2437443

+0

我使用我製作的自定義winforms應用程序。我把一個文件系統監視器放在一個文件夾上,每次有變化時都會發出熱量。然後我將輸出WXS解析爲XDocument,並將其作爲彩色XML顯示在UI中。通過這種方式,我可以在模型化安裝程序時看到XML自身重寫。 –

+0

heat dir c:\ folder -out c:\ src \ components.wxs應該正常工作 –

相關問題