В настоящее время я работаю над пользовательским действием в DLL, которое я экспортирую для использования установщиком WiX, и недавно обнаружил следующую ошибку в журнале при запуске установщика:
<exported_name_cut_off>: Error 0x8007007a: Failed to copy CustomAction log name: <exported_name_NOT_cut_off>
Поскольку я относительно новичок в программировании для Windows и Wix, когда я заметил, что имя функции DLL было обрезано в сообщении об ошибке, я сразу подумал, что должно быть какое-то ограничение в 31 символ для имен экспортируемых функций в DLL, но, по-видимому, это не так. ; оказывается, это ограничение WiX, о котором я не знал.
Итак, у меня есть два вопроса здесь:
Есть ли ограничение на длину экспортируемого или импортируемого имени функции в DLL? Я не мог найти упоминания об этом в справке MSDN. Если это уместно, я пишу код на C++ и использую Visual Studio 2010 в Windows 7 x64.
Я нашел это, но, к сожалению, нет хорошего ответа, почему в WiX есть такой предел. Кто-нибудь знает, почему это ограничено таким образом? Это все еще имеет место в версиях WiX выше 3.5.2519 (версия, которую я использую)?
ERROR_INSUFFICIENT_BUFFER
Область данных, переданная системному вызову, слишком мала. - person Roman R.   schedule 12.10.2012