2010-08-10 149 views
2

当我的Web服务尝试以编程方式通过编程方式打开MS Word文档时,出现上述错误我的.net webb服务。 当我通过Visual Studio运行Web服务,它工作正常,但是当我在IIS 7部署Web服务,我得到错误检索具有CLSID {00020906-0000-0000-C000-000000000046}的组件的COM类工厂失败,原因如下:80070005

Retrieving the COM class factory for component with CLSID {00020906-0000-0000-C000-000000000046} failed due to the following error: 80070005

我已经看到了类似的问题,并试图#2,MSDN和其他资源的解决方案也没有人为我工作。大多数问题的历史可追溯至2008年/ 2007年。

我试图使用dcomcnfg命令更改DCOM设置,并添加了“网络服务”,“网络”用户,也在“ Microsoft Word Document'组件属性并给予它们完全权限。我还在web.config中添加了impersonate = true属性。做完所有这些之后,我得到错误。任何人都可以请帮我吗?

我想这一切都在MS Vista的32位操作系统和Office版本是Office 2003中

回答

2

我没有使用Web服务,但一个窗口服务,当调用的服务我产生了同样的错误一个试图创建Excel对象的可执行文件。我也读过很多其他资源,但他们都没有为我工作。几个非常接近,这导致我通过以下方式解决问题:

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

错误消失,应用程序在服务运行时产生Excel文件。

我在调查是否有可能以某种其他方式从Windows服务中获得此项工作,因为我不确定此解决方案是否会产生副作用。如果我找出其他东西,我会进一步更新。

+0

非常感谢兰迪。我会马上尝试这个解决方案! – Shekhar 2010-08-26 04:44:47

相关问题