Microsoft.Office.Interop.Word 部署异常

问题描述

实现按模版导出,使用Office组件,部署后无法导出

主要引用

Microsoft.Office.Interop.Word 12.0.0.0

实际环境

Windows 2008 + iis7 + word 2007

主要异常

无法操作word
无法创建word
System.Runtime.InteropServices.COMException(0x800A13E9): Word 出现问题
System.Runtime.InteropServices.COMException(0x800A107A): 类型不匹配

问题判断

因在其他机器上部署均正常访问,判断异常原因为权限问题,windows 2008权限要求比较高,不断尝试权限修改方式。

解决方法

方法1.修改web.config

在 web.config 文件中 system.web 标签之后加入


方法2.修改文件夹权限

将系统中生成 word 对应文件夹赋权,iis用户赋全部操作权限(NETWORK SERVICE、IIS_IUSRS)。

方法3.添加目录

C:/Windows/System32/config/systemprofile
C:/Windows/SysWOW64/config/systemprofile

目录下创建名为Desktop目录。

方法4.修改组件服务

  1. 在运行中输入 dcomcnfg.exe
  2. 查看组件服务——》计算机——》我的电脑——》DCOM配置——》Microsoft Office Word 2003-2007文档或word应用程序
  3. 右键单击选择属性
  4. 弹出属性对话框选择标示选项卡选择交互式用户
  5. 选择安全选项卡启动和激活权限选择自定义
  6. 点击编辑按钮添加 USERS用户组 并添加 IUSR_机器名用户
  7. 再选择安全选项卡访问权限选择自定义
  8. 点击编辑按钮添加 USERS 用户组并添加 IUSR_机器名用户

注:上一步中有可能在DCOM配置中找不到 Microsoft Office Word 2003-2007文档或应用程序。由于 windows2008 是64位的原因需要在运行中输入 mmc-32 回车。进入组件服务控制台,选择文件菜单单击添加/删除管理单元,添加组件服务保存控制台1即可。

建议每修改均测试下功能是否能正常使用,若全部方法均修改后还是无法使用,条件允许的情况下建议重装系统。

你可能感兴趣的:(Microsoft.Office.Interop.Word 部署异常)