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

使用Microsoft.Office.Interop.Word突然触发Word异常如何排查解决

Office Interop Word 突发异常问题复盘与解决参考

问题现象

  • 业务代码已稳定运行约1年,近期突然抛出Word has encountered a problem异常
  • 可手动正常打开目标Word文件(fileName),项目内Word程序集引用状态无异常
  • 调试Word Application对象时,AnswerWizard属性抛出COMException

相关代码如下:

var appWord = new Microsoft.Office.Interop.Word.Application();
var doc = new Document();
doc = appWord.Documents.Add(Template: fileName);

AnswerWizard异常信息:

'((Microsoft.Office.Interop.Word.ApplicationClass)appWord).AnswerWizard' threw an exception of type 'System.Runtime.InteropServices.COMException'

系统事件日志内容:

服务器端身份验证级别策略不允许来自地址192.168.40.204的用户SERA\EPBASVR$ SID(S-1-5-21-3869734172-4259265755-3048270987-18749)激活DCOM服务器,请在客户端应用中将激活身份验证级别至少提升至RPC_C_AUTHN_LEVEL_PKT_INTEGRITY。

根因定位

问题本质是DCOM激活身份验证级别不匹配:期间微软推送的Office更新临时调整了Word DCOM服务器的安全校验策略,要求客户端激活时的身份验证等级最低为RPC_C_AUTHN_LEVEL_PKT_INTEGRITY,旧版本代码调用时未满足该要求,因此触发COM异常。

可行修复方案

如果后续再出现同类问题,可采用以下两种方案解决:

  • 调整DCOM配置:打开组件服务(运行输入dcomcnfg),找到Microsoft Word 应用程序的DCOM配置项,在安全选项卡中给对应服务账号(SERA\EPBASVR$)授予本地激活、远程激活权限,也可按需降低激活权限校验要求
  • 代码层面调整认证等级:初始化Word Application对象前,通过Windows API设置当前线程的RPC认证等级为RPC_C_AUTHN_LEVEL_PKT_INTEGRITY,再创建Interop对象即可通过校验

后续情况说明

该问题出现两周后自行恢复,未做任何人工调整,大概率是微软后续推送的Office补丁回退了上述临时安全策略,或是修复了策略校验的逻辑bug。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 20:48:03