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

C# Microsoft Interop Word:已装Word但类未注册问题求助

问题分析与解决方案

原异常(RPC_E_CALL_REJECTED)原因

未激活的Word 2013启动时会弹出激活提示窗口,直接阻塞了COM调用的响应流程,导致应用无法正常获取Word实例,触发该异常。

卸载旧版本后出现REGDB_E_CLASSNOTREG的核心问题

1. 注册表残留冲突

卸载Word 2013时,安装程序可能误删或破坏了Word 2021的COM组件注册项,导致系统无法找到Word.Application对应的注册类。

2. 位数不匹配

如果你的应用是32位编译,而机器上安装的是64位Word 2021(或反之),COM组件无法跨位数匹配,会触发类未注册的异常。

3. Office组件损坏

卸载旧版本过程中,可能连带损坏了Word 2021的部分核心组件,导致COM注册信息丢失。

修复步骤

  • 重新注册Word 2021 COM组件:
    以管理员身份打开命令提示符,根据Word位数执行对应命令:

    • 64位Word:
      cd "C:\Program Files\Microsoft Office\root\Office16"
      winword.exe /regserver
      
    • 32位Word:
      cd "C:\Program Files (x86)\Microsoft Office\root\Office16"
      winword.exe /regserver
      
  • 匹配应用与Word的位数:
    在开发工具中将应用的目标平台设置为与Word一致的位数(x86对应32位Office,x64对应64位Office),重新编译后部署。

  • 修复Office 2021安装:
    打开「控制面板」→「程序和功能」,找到Microsoft Office 2021,右键选择「更改」,先尝试「快速修复」;若无效,选择「联机修复」。

  • 清理残留注册表(谨慎操作):
    打开注册表编辑器(运行regedit),删除HKEY_CLASSES_ROOT\Word.Application下的旧版本子项,操作前务必备份注册表,之后重新执行COM注册命令。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 13:55:17