开发者

From .Net Framework 3.5 can't call vb6 dll. Retrieving the COM class factory for component with clsid failed due to the following error: 800aea5f

开发者 https://www.devze.com 2023-02-15 01:49 出处:网络
I try to istanciate a Com dll(developped in VB6) from a \".Net Framework 3.5 Dll Library Project\" and I get the following error:

I try to istanciate a Com dll(developped in VB6) from a ".Net Framework 3.5 Dll Library Project" and I get the following error:

Retrieving the COM class factory for component with CLSID {...} failed due to the following error: 800aea5f.

On the same machine I try to istanciate the COM dll from a VBScript and it's work fine. In addition I tried to unregister and re-register the dll without good results.

Now from a windows applcation .net 3.5 I can istanciate the COM dll but it's impossible to do from a web application (also with and without impersonate configurati开发者_开发百科on into web.config)

DCOM properties: General --> Authentication = Default Security --> All properties = Default Identity --> Identity = The launcher user

Any suggestions?


Is this machine an x64 server? If so are you sure that your .NET Assembly is marked as force x86? If its marked as AnyCPU and you attempt to run it on an x64 machine you will load as an x64 assembly which will then fail to load your VB6 Dll because you can only run in 32bit mode...


The error is link to User Permissions.

The call's tree is: WebApplication --> WcfService --> .Net 3.5 dll --> COM dll

Even if I set a local user impersonation on WebApplication web.config, WcfService use the user associate to VirtualDirectory's Application Pool that is "NETWORK SERVICE".

Just I change ApplicationPool's Default User to LocalSystem the call to COM work fine

0

精彩评论

暂无评论...
验证码 换一张
取 消