2016-11-30 36 views
0

任何人都可以確認熱量僅適用於DLL,OCX,也許是其他一些文件,但不適用於可執行文件?WiX熱工具無法從可執行文件中收集信息

問題是,我在我的COM組件DLL或OCX上運行(通過regasm,regsvr32註冊),它收集了與該文件相關的註冊表中的所有數據。但是,我有DCOM服務器,它們在註冊表中有很多與自己相關的信息(使用/ regserver進行自我註冊),並且收集工具僅提取有關文件本身的最小信息,但是沒有與註冊表相關的任何內容,沒有任何內容。像導致WXS文件可能是這樣的:

<?xml version="1.0" encoding="utf-8"?> 
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> 
    <Fragment> 
     <DirectoryRef Id="INSTALLFOLDER"> 
      <Component Id="ohserver.exe" Guid="{E8D87743-45B6-459E-A72F-22D9A0D5CE16}"> 
       <File Id="ohserver.exe" KeyPath="yes" Source="SourceDir\ohserver.exe" /> 
      </Component> 
     </DirectoryRef> 
    </Fragment> 
</Wix> 

正如你看到的,從註冊表,CLSID的,ProgIDs的,RegistryValues沒什麼,等

回答

2

這是正確的。 Heat不支持.exe服務器收穫的自注冊數據。

+0

那麼我應該如何處理使用WiX的DCOM服務器的安裝? –

+0

WiX沒有內置解決方案。 FireGiant是我工作的公司,它有一個支持.exes的工具:https://www.firegiant.com/products/wix-expansion-pack/。如果它是你的.exe,你可以隨時從源代碼獲取註冊數據並手動創作。 –

+0

感謝Bob的快速回復。是的,可執行文件是我們的,但是因爲我們想自動化MSI包的生成,只需從exe的源代碼中手動提取必要的信息並不是最好的想法,所以我可能會嘗試使用您的WiX擴展包來查看它的工作原理。但是,我注意到您也有熱波工具,是擴展包的一部分,還是單獨購買的獨立工具? –

相關問題