【发布时间】:2010-09-21 16:51:19
【问题描述】:
.Net 中“检索具有 CLSID {XXXX} 的组件的 COM 类工厂失败,原因是以下错误:80080005”错误的故障排除过程是什么?澄清一下:我在运行时得到这个,在我的 XP 机器上,客户端是在管理员帐户下运行的 .net 代码。 {XXXX} 是指我们内部的 COM 组件之一。
据我了解,0x80080005 是指“权限被拒绝”,但我该去哪里检查/更改权限?还是我在这里完全错了,错误来自组件本身,而不是来自 Windows COM 子系统?
【问题讨论】:
-
您的问题可能过于模糊,无法得到有意义的答案。您是否在编译时收到此错误?运行?什么 COM 组件导致错误?如果错误出现在运行时,您是在 XP 还是 Vista 上以非管理员用户身份运行?
-
真的需要更多信息来回答。您的应用程序是桌面应用程序吗?它是作为标准用户还是管理员运行? COM 对象是本地的还是远程的?
-
我遇到过类似的情况。我可以说 - 至少根据我自己的经验 - 它可以发生在本地运行的应用程序中,在服务帐户的上下文下运行,而 svc acct 是您自己的用户名,而您在计算机上具有管理员权限,并且COM 对象是机器本地的。尝试启动访问 COM 对象的代码时会发生该错误。我同意仍然遗漏了哪个 COM 对象 - 在我的示例中,它是 Word 对象。