Retrieving the COM class factory for component with CLSID {000209FF-0000-0000-C000-000000000046} fai…

  • Post author:
  • Post category:其他


这几天在写一个导出word的功能,使用 Microsoft.Vbe.Interop.dll和Office.dll 在本地都可以正常运行,但是上传到服务器后就报错,如下图:

对于此问题,也在网上查了一些资料,原因就是

这个服务组件的权限问题。

在服务器上,


首先需要安装OFFICE软件

1,运行dcomcnfg打开组件服务

2,依次展开”组件服务”->”计算机”->”我的电脑”->”DCOM配置”

3,找到”Microsoft Word应用程序” 如下图:

4.如果找不到Microsoft Word 97-2003 文档,

1)运行comexp.msc -32打开组件服务(这个是32位,上面是64位)

2)如果还是没有组件则需要安装Office软件,这样Microsoft Word,Excel,PowerPoint这些组件就都有了。

5.右键[属性] 修改[标识],启动用户—->交互式用户

6 修改[安全]

添加“IIS_IUSRS”用户,并在权限中选择【本地启动】、【本地激活】,如下图:


如果还有以下错误:

Exception Details: System.ComponentModel.Win32Exception: 拒绝访问。

在webconfig配置文件中加入如下节点:

  <system.web>
  <identity impersonate="true" userName="administrator" password="Dsog7GgETDhF"/>
  <system.web>

最后确定保存,至此解决问题。

转载于:https://www.cnblogs.com/worf/p/5915827.html