I have a dotnet variabe declared in a codeunit. This dotnet variabel must have "WithEvents=Yes", and can therefore not be "RunOnClient =Yes" (NAV Rule). The dotnet dll is calling a com dll and problem arises when running the codeunit: "Retrieving the COM class factory for component with CLSID ....80040154", meaning the COM dll is not registered. When running OnClient, it works and server and client is on same computer.
How should I register the COM dll so that it will be visible for the Service Tier in NAV 2013?
*This post is locked for comments
Hi Roberto
Thanks for your answer. I am aware that COM is not supported. That's why I created this dotnet dll of mine. I thought that Navison could talk to my dll, and my dll could relay the communication to the COM dll:
******* Codeunit >>> dotnet-dll (WithEvents and NOT RunOnClient) >>> COM-dll *******
The reason for this construction is:
* I must use the COM-dll
* I need to Relay events back to Codeunit
I have created a interrim solution like this:
* I use RunOnClient
* My dotnet-dll queues up the events from COM-dll
* Codeunit is Polling my dotnet-dll for event information
It is not perfect. I really would like a better solution. I tried all suggestions in that mibuso link.
hi,
you talk about "com dll", if you declare a .net variable that directly runs a "com object" and not a dll object > "COM is no longer supported on the Microsoft Dynamics NAV 2013 Server tier (only on 32bit windows client)"
in other cases, you you talk about "dll" may be a problem with 32 bit\64 bit dll registration (or compiling tipology); whe you run from nav windows client, system check 32bit dll, on server tier (and nas port) sytem check 64 bit dll; you need to register dll on 64
look at this post about dll registratrion
Stay up to date on forum activity by subscribing. You can also customize your in-app and email Notification settings across all subscriptions.
André Arnaud de Cal... 291,151 Super User 2024 Season 2
Martin Dráb 229,993 Most Valuable Professional
nmaenpaa 101,156