2011-11-28 28 views
1

我試圖使用heat.exe(版本3.5.2519.0)來收集包含大約100個文件和幾個子目錄的目錄。我的命令看起來是這樣的......處理INI文件時出現WiX HEAT錯誤

heat.exe dir ./dir1/dir2/dir3/dir4 -sw5150 -out output.wxs 

然而,當heat.exe降臨在我的目錄中的特定.ini文件,它的錯誤了與下面的Windows錯誤對話框......

heat.exe - Application Error 
---------------------------- 
The instruction at "0x04881351" referenced memory at "0x049795fc". The memory could not be "read". 
Click on OK to terminate the program 

我已經將問題隔離到特定的INI文件,因爲當我修改任何節/鍵/值(例如,將「SYNTH」更改爲「SYNTH2」)時,熱量運行至完全正常。原來INI文件看起來像這樣...

[PLUGIN] 
SYNTH=MFiSynth.dll 
AUDIO=MFiAudio.dll 
  1. 有人能解釋一下熱量試圖使用INI文件做在 一般?它實際上是在閱讀和處理他們的內容嗎?
  2. 什麼是我的特定文件,導致此內存訪問 錯誤?我怎樣才能解決這個問題?

我的願望和假設是熱將文件簡單地複製到.wxs文件中,就是這樣,但它看起來不止於此。

回答

1

經過多次試驗和錯誤,我發現我需要在我的加熱命令中添加「-sreg」選項。這將防止實際處理INI文件的熱量(這也有助於解決與特定DLL有關的類似問題)。