处理INI文件时,WiX HEAT出错

时间:2011-11-28 04:30:41

标签: wix ini heat

我正在尝试使用heat.exe(版本3.5.2519.0)来获取目录,该目录包含大约100个文件和一些子目录。我的命令看起来像这样......

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. 我的特定文件是什么导致了这种内存访问 错误?我怎样才能解决这个问题?
  3. 我的愿望和假设是将热量简单地复制到.wxs文件中,就是这样,但看起来它的功能不止于此。

1 个答案:

答案 0 :(得分:1)

经过多次试验和错误,我发现我需要在我的加热命令中添加“-sreg”选项。这样可以防止热量实际处理INI文件(这也有助于解决我对特定DLL的类似问题)。