不是原创。

《KB5022083 Change in how WPF-based applications render XPS documents》

https://support.microsoft.com/en-gb/topic/kb5022083-change-in-how-wpf-based-applications-render-xps-documents-a4ae4fa4-bc58-4c37-acdd-5eebc4e34556

在安装 2022 年 12 月 13 日或 2023 年 2 月 14 日的安全更新,或 .NET Framework 和 .NET 的 2023 年 1 月 19 日更新后,会遇到WPF程序渲染xps文档失败的异常,错误提示:StoryFragments part failed to load(StoryFragments部分加载失败)。

安全彻底的解决方法★★★★★:保持系统更新,此问题已在2023年1月31日的Windows 10 1607、Windows Server 2022和更新版本的操作系统带外更新中,和更早版本Windows的2023年2月17日带外更新中解决。也可以按页面引导,下载独立的更新程序手动安装。

以下为临时解决方案,使用场景严格受限,仅在不接触非可信来源xps文件的情况下使用,否则会有重大安全隐患。

解决方法一:运行以下powershell脚本(管理员权限)

  1. 修复请执行 .\kb5022083-compat.ps1 -Install
  2. 撤销此修复请执行 .\kb5022083-compat.ps1 -Uninstall
  3. 下载地址:https://download.microsoft.com/download/0/9/c/09cf661b-6ffb-498e-a031-f75105cdfba0/kb5022083-compat.ps1

解决方法二:如果方法一无效,可以运行以下命令添加注册表项禁用增强安全功能(管理员权限)


reg add "HKLM\SOFTWARE\Microsoft\.NETFramework\Windows Presentation Foundation\XPSAllowedTypes" /v "DisableDec2022Patch" /t REG_SZ /d "*" /reg:64
reg add "HKLM\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\Windows Presentation Foundation\XPSAllowedTypes" /v "DisableDec2022Patch" /t REG_SZ /d "*" /reg:64

撤销此修复请执行以下命令

reg delete "HKLM\SOFTWARE\Microsoft\.NETFramework\Windows Presentation Foundation\XPSAllowedTypes" /reg:64 /f
reg delete "HKLM\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\Windows Presentation Foundation\XPSAllowedTypes" /reg:64 /f

也可以通过手动添加/删除对应注册表项来应用/撤销修复

分类: articles