Question

I'm trying to use heat.exe (version 3.5.2519.0) to harvest a directory, which contains about 100 files and a few subdirectories. My command looks something like this...

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

However, when heat.exe comes upon a particular .ini file in my directory, it errors out with the following Windows error dialog...

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

I've isolated the problem to a particular INI file because when I modify any of the section/keys/values (e.g. change "SYNTH" to "SYNTH2"), heat runs to completion fine. The original INI file looks like this...

[PLUGIN]
SYNTH=MFiSynth.dll 
AUDIO=MFiAudio.dll
  1. Can somebody explain what heat tries to do with INI files in general? Is it actually trying to read and process their contents?
  2. What is it about my particular file that causes this memory access error? And how can I get around this problem?

My wish and assumption was for heat to simply copy over files into a .wxs file and that's it, but it looks like it's doing more than that.

Was it helpful?

Solution

After much trial and error, I found that I needed to add the "-sreg" option to my heat command. This will prevent heat from actually processing the INI file (this also helped to resolve a similar issue I had with a particular DLL).

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top