You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows Server 2019使用Microsoft.Office.Interop.Word运行报错问题咨询

问题根因及排查方案

核心限制说明

微软官方明确不支持桌面版Microsoft Office应用在服务、非交互式任务计划这类非用户交互上下文环境中运行,Office运行依赖交互式用户会话的UI组件、用户配置文件资源,Windows Server 2019的会话隔离机制比旧版系统更严格,是同款代码旧系统正常、新系统报错的核心原因。

你遇到的0x80010105 (RPC_E_SERVERFAULT)异常本质是Word COM组件在当前运行上下文启动失败,具体触发原因和修复方案如下:

具体触发原因

  • 代码冗余配置冲突:你代码中设置了appWord.Visible = true,非交互式上下文没有可用的桌面会话渲染Word窗口,直接触发COM调用崩溃
  • DCOM权限配置不完整:你仅修改了DCOM基础权限,未配置对应的启动标识,非交互式场景无法正确加载Word进程
  • 路径权限不足:任务计划/服务运行的账户没有你传入的Word模板文件的读取权限,或是路径解析异常
  • Desktop文件夹权限不足:你已经创建了对应路径的Desktop文件夹,但未给运行账户开放对应权限,临时文件写入失败

可行修复步骤

  1. 调整冗余代码:移除非必要的Visible = true设置,调整后代码如下:
appWord = new Application();
wordDocument = appWord.Documents.Add(Template: Path.GetFullPath(...), Visible: false);
appWord.Visible = false;
  1. 重新配置Word DCOM参数:
    • 按下Win+R输入dcomcnfg打开组件服务,依次展开「组件服务>计算机>我的电脑>DCOM配置」,找到「Microsoft Word 97 - 2003 文档」
    • 右键点击属性切换到「标识」选项卡,如果任务计划/服务是用户登录后运行,选择「交互式用户」;如果需要用户未登录时后台运行,选择「下列用户」填入运行程序的账户账号密码
    • 切换到「安全」选项卡,分别在「启动和激活权限」「访问权限」「配置权限」三处点击自定义,添加程序运行的账户,授予所有允许权限
  2. 验证路径权限:确保传入Documents.Add的模板文件对程序运行账户开放读取权限,直接传入绝对路径,避免相对路径解析错误
  3. 补充Desktop文件夹权限:给C:\Windows\System32\config\systemprofile\Desktop和C:\Windows\SysWOW64\config\systemprofile\Desktop两个文件夹添加程序运行账户,授予完全控制权限
  4. 任务计划特殊配置:如果使用任务计划运行,打开任务属性的「常规」选项卡,勾选「使用最高权限运行」,运行账户要和DCOM配置的账户保持一致

长期兼容方案

如果需要长期在服务场景生成/处理Word文档,建议替换Office Interop方案,改用Open XML SDK、NPOI、DocX等不需要依赖Office安装的类库,从根本上避免COM交互的环境兼容问题。

内容的提问来源于stack exchange,提问作者Tomas Kroupa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 10:12:03