Windows 2008 64 bit OS and 32 bit COM EXE's

1

getting a COM error trying to run 32 bit OOP COM exe's on a 64 bit OS.

Error loading type library/DLL. (Exception from HRESULT: 0x80029C4A (TYPE_E_CANTLOADLIBRARY)).

If I have a compiled 32bit EXE that reads registry for GUID's how do I resolve this?

David D

windows
oop
com
windows-server-2008
asked on Stack Overflow Apr 4, 2011 by DavieDave

2 Answers

1

That's probably a registration problem. The type library is used when you use the standard marshaller for the out-of-process server. Which uses the info in the type library to figure out how to properly serialize the arguments of a function call. On a 64-bit machine, the type library needs to be registered in the HKLM/Software/Wow6432Node/Classes/Typelib key. It is referenced by the TypeLib key in the registry key for the interface, a subkey of HKLM/Software/Wow6432Node/Classes/Interface.

Use SysInternals' ProcMon utility to observe where it is looking, contact the server's vendor or author for installer support.

answered on Stack Overflow Apr 4, 2011 by Hans Passant
0

Found the answer... The .NET solutions I had were set to "Any CPU". Once I changed it to x86... this solved the issue.

answered on Stack Overflow Apr 19, 2011 by DavieDave

User contributions licensed under CC BY-SA 3.0