views:

42

answers:

2

Hi, I'm trying to use an API that my client has a license to. I was given a COM Interop DLL.

I can write all of the code I need, but when I go to run it, I receive the following error:

Retrieving the COM class factory for component with CLSID {73C527F2-C6C0-4F4B-92F7-1448EC342FC5} failed due to the following error: 80040154.

Any ideas? Is there something I need to register?

Thanks, Jack

+2  A: 

Error 0x80040154 means "Class not registered". You need to register COM object. You can use Regsvr32 tool.

Jacob Seleznev
+2  A: 

Do you have the actual COM objects/software installed on the development machine, or did you just copy the interop assembly? If it's the latter, the interop assembly is going to have all the interfaces and the object profiles which will make intellisense work in Visual Studio, but it does not contain actual executable code.

pjabbott
Ah, so it won't work unless the actual application is running on the system?
jchapa
Yes, the interop assembly tells the .net runtime needed pieces of information like class IDs and function profiles, but you need the actual COM objects installed in order to execute any code.
pjabbott
I'm assuming most hosting companies won't let you install those. :-)Thanks for the help.
jchapa