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

在项目中通过该Microsoft.Office.Interop.Word组件,进行模板数据书签替换然后导出word文档。

出现了检索 COM 类工厂中 CLSID 为 {000209FF-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 80070005这个错误。妈蛋,微软的东西就是一堆权限问题,本来想用第三方组件的,而且处理这种问题比较棘手,建议大家以后用第三方组件实现导出word,说多了都是泪。

在网上找到了解决方法,不过我都觉得还是不靠谱,各种权限开放,网站很危险的啊喂!好了,下面贴出解决方案。

方法一(推荐):
  检索 COM 类工厂中 CLSID 为 {000209FF-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 8000401a
  1.运行dcomcnfg.exe打开组件服务,
  2.依次展开"组件服务"->"计算机"->"我的电脑"->"DCOM配置"->"Microsoft Word 文档"
  3.右键打开“属性”对话框,点击“标识”选项卡,选择"下列用户",把管理员的用户及密码正确填写进去...
  4.点击"安全"选项卡,依次把"启动和激活权限","访问权限","配置权限",都选择为自定义,然后依次点击它们的编辑,把everyone添加进去,并加入所有的权限
  5.请设置web.config中的<identity impersonate="true" userName="Administrator" password="abc123"/>帐号和密码,否则会提示检索 COM 类工厂中 CLSID 为 {000209FF-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 80070005。
  例如
  <system.web>
  <identity impersonate="true" userName="Administrator" password="abc123"/>
  </system.web>

方法二:


  1.控制面板-》管理工具-》组件服务-》计算机-》我的电脑-》DCom配置-》找到Microsoft Word文档
  之后
  2.右键“属性”打开此应用程序的属性对话框。
  3.单击"安全"选项卡,分别在"启动和激活权限"和"访问权限"组中选中"自定义",然后 自定义->编辑->添加ASP.NET账户和IUSER_计算机名或Network Service用户
  * 这些帐户仅在计算机上安装有 IIS 的情况下才存在。
   确保允许每个用户访问,然后单击确定。
  4.单击确定关闭 DCOMCNFG
原文地址:https://www.cnblogs.com/ouyangfu/p/4837208.html