Windows 2008 64位操作系统和32位COM EXE

时间:2011-04-04 13:57:51

标签: windows oop com windows-server-2008

尝试在64位操作系统上运行32位OOP COM exe时出现COM错误。

加载类型库/ DLL时出错。 (来自HRESULT的异常:0x80029C4A(TYPE_E_CANTLOADLIBRARY))。

如果我有一个编译的32位EXE读取GUID的注册表,我该如何解决这个问题?

David D

2 个答案:

答案 0 :(得分:1)

这可能是注册问题。当您为进程外服务器使用标准编组程序时,将使用类型库。它使用类型库中的信息来确定如何正确序列化函数调用的参数。在64位计算机上,类型库需要在HKLM / Software / Wow6432Node / Classes / Typelib键中注册。它由接口的注册表项中的TypeLib键引用,它是HKLM / Software / Wow6432Node / Classes / Interface的子项。

使用SysInternals的ProcMon实用程序观察它的位置,联系服务器的供应商或作者以获得安装程序支持。

答案 1 :(得分:0)

找到答案......我的.NET解决方案被设置为“任何CPU”。一旦我将其更改为x86 ......这解决了问题。