由于以下错误,检索具有CLSID {XXXX}的组件的COM类工厂失败:80080005

时间:2008-11-10 20:48:38

标签: .net com interop

由于以下错误导致“检索具有CLSID {XXXX}的组件的COM类工厂失败的故障排除过程是什么:.Net中的80080005”错误?澄清一下:我在运行时,在我的XP机器上得到这个,客户端是在管理员帐户下运行的.net代码。 {XXXX}指的是我们内部的COM组件之一。

据我了解,0x80080005引用“权限被拒绝”,但我在哪里检查/更改权限?或者我在这里完全错了,错误来自组件本身,而不是来自Windows COM子系统?

3 个答案:

答案 0 :(得分:9)

似乎是与启动COM服务器相关的一般错误。可能的问题包括timeoutslogon failures(查看关于CO_E_SERVER_EXEC_FAILURE的问讯)或security permissions,或(显然)VS2008 ATL bug。我认为,在CreateInstance中遇到错误也可以解决问题。

我首先检查事件日志是否有趣。

答案 1 :(得分:1)

根据ERRLOOK.EXE,

0x80080005是“服务器执行失败”。 WinError.h将其列为CO_E_SERVER_EXEC_FAILURE。不是“拒绝访问”。

答案 2 :(得分:0)

您可以看到的一件事是DCOM安全配置。它由dcomcnfg实用程序控制。网上有helpful tutorial videos来解释如何使用它。还有一个thread on the ASP.NET论坛讨论了如何使用dcomcnfg。