尝试在64位操作系统上运行32位OOP COM exe时出现COM错误。
加载类型库/ DLL时出错。 (来自HRESULT的异常:0x80029C4A(TYPE_E_CANTLOADLIBRARY))。
如果我有一个编译的32位EXE读取GUID的注册表,我该如何解决这个问题?
David D
答案 0 :(得分:1)
这可能是注册问题。当您为进程外服务器使用标准编组程序时,将使用类型库。它使用类型库中的信息来确定如何正确序列化函数调用的参数。在64位计算机上,类型库需要在HKLM / Software / Wow6432Node / Classes / Typelib键中注册。它由接口的注册表项中的TypeLib键引用,它是HKLM / Software / Wow6432Node / Classes / Interface的子项。
使用SysInternals的ProcMon实用程序观察它的位置,联系服务器的供应商或作者以获得安装程序支持。
答案 1 :(得分:0)
找到答案......我的.NET解决方案被设置为“任何CPU”。一旦我将其更改为x86 ......这解决了问题。