用C#动态生成Word文档功能实现了,在本地的机器运行时是好的,但程序发布安装到远程服务器上就报错了,
报错信息为:检索 COM 类工厂中 CLSID 为 {000209FF-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 80070005
这使我很纠结,看了很多的信息后,现在才算是搞定了。 为了不忘记特意再此做下记录来!
方法一(推荐):
检索 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