由于以下错误,检索具有CLSID {00020906-0000-0000-C000-000000000046}的组件的COM类工厂失败:80070005

时间:2010-08-10 11:39:29

标签: c# web-services dcom office-2003

当我的网络服务尝试通过我的.net webb服务以编程方式打开MS Word文档时,我收到了上述错误。 当我通过visual studio运行Web服务时,它工作正常但是当我在IIS 7上部署Web服务时,我收到错误

  

检索COM类工厂    具有CLSID的组件    {00020906-0000-0000-C000-000000000046}    由于以下错误而失败:    80070005

我已经看到了类似的问题并在Stackoverflow,MSDN和其他资源上尝试了他们的解决方案,但它们都没有为我工作。大多数问题都可以追溯到2008/2007年。

我尝试使用dcomcnfg命令更改DCOM设置,并且我添加了“网络服务”,“网络”用户,还在“Microsoft Word文档”组件属性中添加了我自己的用户ID,并授予他们完全权限。我还在web.config中添加了impersonate = true属性。完成所有这些后,我也收到了错误。有人可以帮帮我吗?

我在MS vista 32位操作系统上尝试所有这些,Office版本是Office 2003。

1 个答案:

答案 0 :(得分:2)

我没有使用Web服务,而是使用Windows服务,当服务调用尝试创建Excel对象的可执行文件时,我产生了同样的错误。我还阅读了很多其他资源,但没有一个对我有用。有几个非常接近,这导致我以下列方式解决问题:

  1. 我去了服务器......开始......运行并运行“dcomcnfg”。
  2. 导航到组件服务...计算机...我的电脑... DCOM配置... Microsoft Excel应用程序。
  3. 打开属性并选择“标识”选项卡。
  4. 选择“启动用户”(而不是“交互式用户”)单选按钮,然后单击“确定”关闭属性对话框。
  5. 错误消失,应用程序在服务运行时生成Excel文件。

    我正在调查是否可以通过其他方式从Windows服务中获取此功能,因为我不确定此解决方案是否会产生副作用。如果我知道其他任何事情,我会进一步更新。