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

WPF RichTextBox拼写检查在Win8.1俄文系统触发COM异常(0x80040153)求助

解决Windows 8.1俄文系统下WPF RichTextBox拼写检查触发的注册表异常问题

问题场景

在安装了最新更新的俄文版Windows 8.1系统中,使用俄语版.NET Framework 4.7时,启用WPF RichTextBox的拼写检查功能会触发以下异常:

System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Runtime.InteropServices.COMException: Invalid value for registry (Exception from HRESULT: 0x80040153 (REGDB_E_INVALIDVALUE)) 
at System.StubHelpers.StubHelpers.GetWinRTFactoryObject(IntPtr pCPCMD) 
at Wind...

问题原因

这个错误的核心是Windows拼写检查组件的注册表注册异常,在俄文系统搭配俄语版.NET 4.7的环境下,.NET尝试调用WinRT拼写检查工厂对象时,无法正确读取有效的注册表值,从而抛出COM异常。

解决方案

以下是几个经过验证的修复步骤,按优先级从高到低排列:

  • 修复拼写检查组件的注册表项

    1. 按下Win+R打开运行窗口,输入regedit回车启动注册表编辑器。
    2. 导航到路径:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Spellchecking\Providers
    3. 检查俄语(ru-RU)相关的子项,确认其CLSID和Path值是否存在且有效。如果发现损坏或无效的条目,可以删除后从同版本的正常俄文系统导出对应注册表项导入,或者手动修复值内容。
    4. 修改完成后重启系统。
  • 重新注册拼写检查COM组件

    1. 按下Win+X选择「命令提示符(管理员)」(或Windows PowerShell(管理员))。
    2. 依次执行以下命令重新注册核心拼写检查组件:
      regsvr32.exe /s MsSpellCheck.dll
      regsvr32.exe /s MsSpellCheckHost.exe
      
    3. 执行完成后重启系统,再测试RichTextBox的拼写检查功能。
  • 修复.NET Framework 4.7俄语版

    1. 打开「控制面板」→「程序和功能」,找到「Microsoft .NET Framework 4.7」(俄语版本)。
    2. 右键选择「更改」,在弹出的窗口中选择「修复」选项,按照向导完成修复流程。
    3. 修复完成后重启系统,验证问题是否解决。
  • 临时禁用拼写检查(紧急场景)
    如果暂时无法彻底修复,可以先禁用拼写检查功能来避免异常:

    • 在XAML中设置:
      <RichTextBox SpellCheck.IsEnabled="False" />
      
    • 或者在C#代码后台设置:
      yourRichTextBox.SpellCheck.IsEnabled = false;
      

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 07:06:59