Ошибки WiX HEAT при обработке файла INI - PullRequest
1 голос
/ 28 ноября 2011

Я пытаюсь использовать 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. Что в моем конкретном файле вызывает этот доступ к памяти ошибка? И как мне обойти эту проблему?

Мое желание и предположение состояли в том, чтобы просто скопировать файлы в файл .wxs и все, но похоже, что он делает больше, чем просто.

1 Ответ

1 голос
/ 07 декабря 2011

После долгих проб и ошибок я обнаружил, что мне нужно добавить опцию "-sreg" в мою команду heat.Это предотвратит фактическую обработку файла INI высокой температурой (это также помогло решить аналогичную проблему, возникшую у меня с определенной DLL).

...