Application Class Not Registered

User5099 (22 posts)
April 24, 2017 10:58 AM
Accepted Answer

Hi Bill,

We are using adTempus 3.0 and I was trying for API Installation and Deployment 

I was successfully able to register the adTempus DLL by executing the command "regsvr32 adtempus.dll"

I am able to see that registered file(or class) in the Registry Editor as well in the below mentioned path "HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{2D96BFC0-6A9E-47F3-B9B6-046AB5A07FFA}.

But when run the application , I get the following error while creating a new Application instance

"System.Runtime.InteropServices.COMException: 'Retrieving the COM class factory for component with CLSID {2D96BFC0-6A9E-47F3-B9B6-046AB5A07FFA} failed due to the following error: 80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))."

I am using Visual studio 2017 and have written the code in C#. I have attached the same for the reference.

Could you please help me with the issue

 

 

Attachments

Bill Staff (599 posts)
April 24, 2017 12:51 PM
Accepted Answer

Is your client application running as a 64-bit app or as 32-bit?

If it's running as 32-bit, then you need to use the 32-bit version of the adTempus client instead, and register it with the regsvr32 tool found in "c:\windows\SysWOW64".

If it's 64-bit then what you have should be OK. I suggest using Process Monitor to monitor your app and see what it's failing on--DLL load or Registry lookup.

User5099 (22 posts)
April 25, 2017 02:03 PM
Accepted Answer
Thank you Bill for a quick response. Will give it a try and get back to you
User5099 (22 posts)
April 26, 2017 07:59 AM
Accepted Answer

Hi Bill,

Could you please let me know, If we use the latest version of AdTempus, then do we need to follow the same process like for 32-bit application we need to use 32-bit adtempus client and for 64-bit application we need 64-bit adtempus client?

Bill Staff (599 posts)
April 26, 2017 08:26 AM
Accepted Answer

This is necessary in version 3 and earlier because the API is implemented in an ActiveX component (with a .NET wrapper on top of it), and ActiveX is platform-specific. Beginning with adTempus 4, the API is a native .NET assembly and is platform-independent. (So no, you don't have to have separate clients.)

Note that the API has changed some between v3 and v4 so you can't use exactly the same code.

User5099 (22 posts)
April 26, 2017 08:29 AM
Accepted Answer
Thanks Bill.
User5099 (22 posts)
April 27, 2017 07:57 AM
Accepted Answer

Hi Bill,

I see a lot of Examples in the documentation in C# of adTempus 4 version. Could you please let me know if there are any examples available in C# for adTempus 3 version as well? (I see its in vb.net) 

Bill Staff (599 posts)
April 27, 2017 08:18 AM
Accepted Answer
There are no C# examples for version 3. You can use a code converter like this one to convert the VB samples to C# if you need to.
User5099 (22 posts)
April 27, 2017 08:19 AM
Accepted Answer
Thank you Bill, this converter will help me a lot.

Replies are disabled for this topic.