欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

检索 COM 类工厂中 CLSID 为 {000209FF-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 80070005 拒绝访问

程序员文章站 2022-03-06 23:47:58
最近在做一个关于生成word文档的功能,期间出现了几个问题,也不算棘手,但是对于第一次使用office组件的人来说,就比较麻烦了,也不知道为何出现这个错误,其中本问题解决费的时间较多,特此记录,以后方便查阅。 先将问题的场景大体介绍一下: 1、客户端及服务端安装的办公软件为wps; 2、已存在使用M ......

  最近在做一个关于生成word文档的功能,期间出现了几个问题,也不算棘手,但是对于第一次使用office组件的人来说,就比较麻烦了,也不知道为何出现这个错误,其中本问题解决费的时间较多,特此记录,以后方便查阅。

先将问题的场景大体介绍一下:

  1、客户端及服务端安装的办公软件为wps;

  2、已存在使用Microsoft.Office.Interop.Word.dll生成word文档的代码,客户端(包括服务端上的客户端)使用时除表格无法生成,新建文档、插入数据、保存文档接口正常使用,无出现问题;

  3、先因业务需求,需要将该代码,运行在服务端的iis里面(虽说office不适合运行在服务端,但时间不允许重新开发),首先抛出 80040154 没有注册类 的错误,这个错误安装office即可,不过多纠结;

  4、office安装完毕之后,代码运行时抛出此错误:80070005 拒绝访问

 

  为了解决错误,网上查阅了很多资料,照着大家给的方法,总算是解决了

解决方案:

  1、运行dcomcnfg.exe打开组件服务;

  2、依次展开"组件服务"->"计算机"->"我的电脑"->"DCOM配置"->"Microsoft Word 文档"

    检索 COM 类工厂中 CLSID 为 {000209FF-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 80070005 拒绝访问

  3、右键打开“属性”对话框,点击“标识”选项卡,选择交互式用户;点击“安全”选项卡,“启动和激活权限”、“访问权限”选择自定义

    检索 COM 类工厂中 CLSID 为 {000209FF-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 80070005 拒绝访问检索 COM 类工厂中 CLSID 为 {000209FF-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 80070005 拒绝访问

  4、编辑启动和激活权限权限的自定义选项,将NETWORK SERVICE(也有说法需要IIS_IUSERS和everyone用户)添加进去,给与本地激活远程激活的权限,访问权限相同

    检索 COM 类工厂中 CLSID 为 {000209FF-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 80070005 拒绝访问

  5、或许设置完以上代码就可以正常运行,但是我的代码还是抛出错误,这里再配置web.config的<identity impersonate="true" userName="用户名" password="密码"/>,将其放到<system.web>节点下面即可,代码就可以正常运行了