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

标签 web-services office-2007 dcom

当我的 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

在下一行。

Microsoft.Office.Interop.Word.Application oWordApp = new Microsoft.Office.Interop. Word.Application();
Microsoft.Office.Interop.Word.Document oWordDoc = new Microsoft.Office.Interop.Word.Document();

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

我使用 64 位系统和 Office 2007。谁能帮我解决这个问题。

最佳答案

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

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

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

关于web-services - 由于以下错误 : 80040005,检索 CLSID {XXXX} 组件的 COM 类工厂失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12603000/

相关文章:

c++ - 以编程方式设置应用程序的处理器亲和性

c# - 枚举未在 WCF 中序列化

java - 如何根据WSDL开启验证-spring boot和spring-ws

c# - 办公室 2007 : Programmatically control Out-Of-Office assistant?

java - 将 VBA 脚本添加到 Office Word 文档

multithreading - 使用 DCOM 处理线程

json - 如何将 jqGrid 与 asmx webservice C# 绑定(bind)

java - 替换 XML 内容中的值的最佳方法?

openxml - 打开 XML SDK 编辑事件文档

c++ - 如何获取调用COM服务器方法的用户的SID?