Retrieving the COM class factory for component with CLSID {XXXX} failed due to the following error: 80080005

妖精的绣舞 提交于 2019-12-19 05:38:30

问题


What is the troubleshooting process for the "Retrieving the COM class factory for component with CLSID {XXXX} failed due to the following error: 80080005" errors in .Net? To clarify: I am getting this at runtime, on my XP machine, with client being .net code running under admin account. {XXXX} refers to one of our in-house COM components.

From what I understand, 0x80080005 refers to "permission denied", but where do I go to check/change the permissions? Or am I completely wrong here, and the error is coming from the component itself, and not out of Windows COM subsystem?


回答1:


Seems to be a rather generic error relating to starting up the COM server. Possible issues include timeouts, logon failures (check the Q about CO_E_SERVER_EXEC_FAILURE), or security permissions, or (evidently) a VS2008 ATL bug. Hitting an error in CreateInstance would do the trick as well, I think.

I'd start by checking Event Log for anything interesting.




回答2:


0x80080005 is "Server Execution Failed", according to ERRLOOK.EXE. WinError.h lists this as CO_E_SERVER_EXEC_FAILURE. Not "Access Denied".




回答3:


One thing that you can look at is the DCOM security configuration. It is controlled by the dcomcnfg utility. There are helpful tutorial videos on the web to explain how to use it. There is also a thread on the ASP.NET forum that discusses how to use dcomcnfg.



来源:https://stackoverflow.com/questions/279112/retrieving-the-com-class-factory-for-component-with-clsid-xxxx-failed-due-to-t

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!