由于以下错误导致“检索具有CLSID {XXXX}的组件的COM类工厂失败的故障排除过程是什么:.Net中的80080005”错误?澄清一下:我在运行时,在我的XP机器上得到这个,客户端是在管理员帐户下运行的.net代码。 {XXXX}指的是我们内部的COM组件之一。
据我了解,0x80080005引用“权限被拒绝”,但我在哪里检查/更改权限?或者我在这里完全错了,错误来自组件本身,而不是来自Windows COM子系统?
答案 0 :(得分:9)
似乎是与启动COM服务器相关的一般错误。可能的问题包括timeouts,logon failures(查看关于CO_E_SERVER_EXEC_FAILURE
的问讯)或security permissions,或(显然)VS2008 ATL bug。我认为,在CreateInstance中遇到错误也可以解决问题。
我首先检查事件日志是否有趣。
答案 1 :(得分:1)
0x80080005是“服务器执行失败”。 WinError.h将其列为CO_E_SERVER_EXEC_FAILURE
。不是“拒绝访问”。
答案 2 :(得分:0)
您可以看到的一件事是DCOM安全配置。它由dcomcnfg实用程序控制。网上有helpful tutorial videos来解释如何使用它。还有一个thread on the ASP.NET论坛讨论了如何使用dcomcnfg。