2011-11-28 55 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有关的类似问题)。