question

Upvotes
Accepted
1 0 0 1

Migration of .NET Application to 64 and COM Exceptions with calling EikonDesktopDataAPI

Hi, Our Desktop application written in .NET has Eikon integration for many years. Recently we recompiled the application to x64 and since then the integration has been broken. When attempted to execute this line of code, I'm seeing COM exception.

try
{
_eikonDDA = new EikonDesktopDataAPI.EikonDesktopDataAPI();
// we here => Eikon is installed successsfully
}


The stack trace is here

System.Runtime.InteropServices.COMException
  HResult=0x80040154
  Message=Retrieving the COM class factory for component with CLSID {70B3E69B-E207-412E-8A27-E94A01F96728} failed due to the following error: 80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).
  Source=mscorlib
  StackTrace:
   at System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck)
   at System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)
   at System.Activator.CreateInstance(Type type, Boolean nonPublic)
   at System.Activator.CreateInstance(Type type)
   at TR.News.Lynx.LiveTemplate.Presentation.Integration.EikonRtListBuilder.Initialize(Boolean immediateStart) in C:\Work\Code\Lynx_Editor-Smartclient\Src\LiveTemplate.Presentation\Integration\EikonRtListBuilder.cs:line 33


  This exception was originally thrown at this call stack:
    [External Code]
    TR.News.Lynx.LiveTemplate.Presentation.Integration.EikonRtListBuilder.Initialize(bool) in EikonRtListBuilder.cs


Is there anything specific to be done that our application which runs as a 64 bit process to still function as expected with the 2 COMinterop binaries we use for the integration? The 2 COM assemblies are

1. Interop.AdfinXRtLib

2. Interop.EikonDesktopDataAPI

eikon-com-api
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

@shravan.addaypally

Hi,

Thank you for your participation in the forum.

Is the reply below satisfactory in answering your question?

If yes please click the 'Accept' text next to the reply. This will guide all community members who have a similar question.

Otherwise please post again offering further insight into your question.

Thanks,

AHS

Please be informed that a reply has been verified as correct in answering the question, and has been marked as such.

Thanks,
AHS

1 Answer

· Write an Answer
Upvote
Accepted
17.2k 82 39 63

Hi @shravan.addaypally

Unfortunately, the .Net DLLs (Interop.AdfinXRtLib; Interop.EikonDesktopDataAPI) are only 32 bit. You will have to continue to build/run as 32-bit if you wish to stick to these .Net libraries.

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.