8

我在一个简单的 asp.net c# 应用程序中用来自 SQL Server 的数据替换 MS Word MergeFields,它在本地运行良好,但是当我经常发布它时,我得到以下信息:

System.Runtime.InteropServices.COMException (0x80080005): Retrieving the COM class factory for component with CLSID {00020906-0000-0000-C000-000000000046} failed due to the following error: 80080005.

我尝试同时授予IIS_IUSRSNETWORK SERVICE完全访问权限,并在 DCOM 配置中将身份设置为交互式,但它没有解决任何问题。

4

3 回答 3

6

对于令人讨厌的权限,阻止你做你期望的事情,(我过去也遇到过)。有时我也不得不将我的 DCOM/COM+ 权限更改为一个对象。在项目的 DCOM 配置选项卡屏幕上,在安全性下,确保“启动和激活”和“访问”都已自定义为明确包含您打算允许的用户帐户。

现在,还有一件事——只是为了排除所有其他事情。我什至已经达到了(仅用于测试/确认)的程度,即在“身份”选项卡上,您可以选择“交互式用户”、“启动用户”或“此用户”。我会输入您知道您拥有权限的实际帐户(确保您的帐户也在启动和激活中......以及上一个选项卡上的访问权限)。并输入/确认您的密码。

如果仍然失败,那么我会尝试添加 ADMIN 帐户以获得权限并尝试...只是为了是的,它的权限基于用户。一旦确认,您可以缩减它,甚至创建一些主要目的是运行此实用程序的简化受限用户,并且这个新用户有足够的权限这样做。

一旦完成,你应该很高兴。

现在,就是说,我遇到了另一个不稳定的事情并且已经有一段时间了,所以它可能不再是一个问题了。在某些“Windows”更新期间,该功能会定期停止工作。但是,如果我所做的只是返回用户维护,请更改帐户密码(即使只是保持相同的原始密码)并保存它,然后返回 DCOM 并输入/重新确认将其保存在那里,一切都恢复了功能。

于 2013-02-15T12:10:03.687 回答
1

您应该与NETWORK SERVICE用户共享保存从模板创建的文档的文件夹。

于 2012-11-17T08:53:08.550 回答
0

将 更改dcomcnfg identityinteractive而不是启动 user

参考:错误:80070005,这个论坛有一些关于

Retrieving the COM class factory for component with CLSID {7979FAA5-3A2A-4E50-A2C9-286C6F34C1D3} failed due to the following error: 80080005
于 2013-02-11T09:00:42.570 回答