WiX中的CustomAction日志名称错误0x8007007a

时间:2012-10-11 19:06:41

标签: windows dll installer wix naming-conventions

我目前正在处理DLL中的自定义操作,我将其导出以供WiX安装程序使用,我最近在运行安装程序时在日志中发现以下错误:

<exported_name_cut_off>: Error 0x8007007a: Failed to copy CustomAction log name: <exported_name_NOT_cut_off>

由于我对Windows编程和Wix相对较新,当我注意到错误消息中的DLL函数名被截断时,我立刻认为DLL中导出的函数名必须有31个字符的限制,但显然是不是这样;事实证明,这是我不知道的WiX的限制。

所以,我有两个问题:

  1. DLL中导出或导入的函数名的长度是否有限制?我在MSDN帮助中找不到任何提及。如果它是相关的,我使用C ++进行编码并在Windows 7 x64上使用Visual Studio 2010。

  2. 我找到this,但遗憾的是,没有给出为什么在WiX中存在这样的限制的好答案。有没有人知道为什么它以这种方式受限?在大于3.5.2519(我正在使用的版本)的WiX版本中仍然如此吗?

1 个答案:

答案 0 :(得分:3)

您可以控制传递给WcaInitialize的名称;它不必是实际的功能或自定义动作名称,因此您可以根据需要缩短它。 WcaLog *函数使用它来为日志记录添加前缀,因此它并不重要;如果你愿意,你甚至可以传递NULL。

WiX v3.6和v3.7 beta版本中仍存在限制。