C# - (0x80040154): Retrieving the COM class factory for component with CLSID {877AA945-1CB2-411C-ACD...

1. Exeption Error:

System.Runtime.InteropServices.COMException (0x80040154): Retrieving the COM class factory for component with CLSID {877AA945-1CB2-411C-ACD7-C70B1F9E2E32} failed due to the following error: 80040154.

 

solution:

It means the class id 877AA945-1CB2-411C-ACD7-C70B1F9E2E32 is not in the registry.

You can verify this by opening regedit.exe, browsing to HKEY_CLASSES_ROOT\CLSID\{877AA945-1CB2-411C-ACD7-C70B1F9E2E32}. If your running a 32-bit app on a 64 bit OS, look for HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{877AA945-1CB2-411C-ACD7-C70B1F9E2E32}

If it is there, it may be some other issue but it is probably missing. To resolve this you will usually run the installer that distributes this COM object. If you don't have one and you know what dll implements the object, you can run regsvr32.exe (or regasm.exe for a managed dll)

 

link:

http://www.newdavesite.com/view/4663994

 

2. DllRegisterServer entry point was not found -  dll was loaded but the entry=point DLLregister server was not found

same situation:

I'm trying to use a .DLL file in a program I'm writing, and it comes up with the following error:  

An unhandled exception of type 'System.Runtime.InteropServices.COMException'   occurred in File.exe

Additional information: COM object with CLSID {...} is either not valid or not registered.

I tried registering the .DLL file using regsvr32, but that would come up with an error also: 

the DllRegister Server entry point was not found.  This file can not be registered.

http://social.msdn.microsoft.com/Forums/en-US/d5c5ff4a-63d3-49ea-a20d-50ef45924b2e/dllregisterserver-entry-point-was-not-found?forum=vbinterop

http://channel9.msdn.com/forums/TechOff/495175-The-module-CWindowsSystem32mydlldll-was-loaded-but-the-entry-point-DllRegisterServer-was-not-found/

 

Solution:

 

1) If DllRegisterServer was not found maybe there's nothing to register. Do you know for sure that the DLL contains COM components?

2) regasm is not tipically included in the search path so you need to run it using a full path, like this for example:

     C:\Windows\Microsoft.NET\Framework\v2.0.50727\regasm

3) Are you trying to register a .NET assembly using regsvr32?  If you are that would explain the problem, you need to use regasm to register .NET assemblies.

 

3. 用regasm命令注册Net的dll出错 - cannot find regasm

  

http://blog.csdn.net/wzhiu/article/details/19074501

http://msdn.microsoft.com/zh-cn/library/tzat5yw6(VS.80).aspx   程序集注册工具 (Regasm.exe)

http://social.msdn.microsoft.com/Forums/en-US/d5c5ff4a-63d3-49ea-a20d-50ef45924b2e/dllregisterserver-entry-point-was-not-found?forum=vbinterop

 

 

转载于:https://www.cnblogs.com/viviancc/p/3826409.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值