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

sar*_*nya 2 dcom web-services office-2007

当我的 Web 服务尝试通过我的 .net Web 服务实用地打开 MS Word 文档时,我收到下面提到的错误。当我通过 Visual Studio 运行 Web 服务时,它工作正常,但是当我在 IIS 7 上部署 Web 服务时,出现错误

Retrieving the COM class factory for component with CLSID 
{000209FF-0000-0000C000-000000000046} failed due to the following error: 80070005
Access is Denied
Run Code Online (Sandbox Code Playgroud)

在下一行。

Microsoft.Office.Interop.Word.Application oWordApp = new Microsoft.Office.Interop. Word.Application();
Microsoft.Office.Interop.Word.Document oWordDoc = new Microsoft.Office.Interop.Word.Document();
Run Code Online (Sandbox Code Playgroud)

我已经在服务器端编写了这段代码。它必须打开Word文档模板并查找并替换一些值并另存为不同的名称

我使用 64 位系统和 Office 2007。任何人都可以帮助我解决这个问题吗?

小智 5

我刚刚收到此错误,通过调整服务器上 DCOM 配置中的权限解决了该错误:

  1. 单击开始 -> 运行 -> dcomcnfg
  2. 展开组件服务 -> 计算机 -> 右键单击​​我的电脑 -> 属性
  3. 在 COM 安全选项卡上,单击启动和激活权限下的编辑默认值
  4. 通过本地启动和本地激活添加网络服务和 IIS_IUSRS

为此不需要重新启动。如果您的应用程序池在其他用户下运行,请添加该用户。