发布日期:2022 年 12 月 13 日

注意: 

  • 本文于 2023 年 1 月 31 日修订,新增了其他解决方案。

  • 本文于 2023 年 1 月 9 日修订,扩展了症状部分并添加了常见问题解答部分。

  • 本文于 2022 年 12 月 15 日修订,新增了其他解决方案。

摘要

本文提供的帮助有助于解决以下问题:安装 2022 年 12 月 13 日的 .NET Framework 和 .NET 安全更新后,用户可能会遇到如何基于 WPF 的应用程序显示 XPS 文档的问题。

症状

使用表结构、情节提要或超链接等结构或语义元素的 XPS 文档可能无法在基于 WPF 的阅读器中正确显示。 此外,当 XPS 文档加载到基于 WPF 的阅读器中时,某些内联图像可能无法正确显示,或者可能发生空引用异常。

解决方法

Microsoft 确定了此问题的兼容性解决方法,并制作了一个 PowerShell 脚本来解决此问题。

若要安装兼容性解决方案,请按照下列步骤操作。

  1. 下载 PowerShell 脚本

  2. 以管理员身份打开 PowerShell 提示符

  3. 在提示符中,导航到下载脚本的目录

  4. 在提示符内运行命令:.\kb5022083-compat.ps1 -Install

如果命令成功,控制台窗口将显示“安装完成”。 如果命令失败,将显示失败的原因。 要删除兼容性解决方法,请执行上述相同步骤,但将上面的步骤 (4) 替换为:.\kb5022083-compat.ps1 -Uninstall

安装兼容性解决方案后,显示 XPS 文档的基于 WPF 的应用程序应继续像 2022 年 12 月 13 日安全更新之前那样工作。

替代解决方案

如果第一个解决方案不能解决问题,您可以使用注册表项来禁用增强的安全行为。 此方法仅适用于您确定系统处理的所有 XPS 文档都是可信时,例如,它们是由您的系统生成的,而非上传到系统中的,并且任何人都不能更改它们。 如果您接受来自 Internet 的 XPS 文档、来自外部实体的电子邮件或其他不可信任的来源,请不要关闭该功能。

要禁用增强的安全行为,请从提升的命令提示符运行此命令:

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

或者,您可以使用“组策略”创建一个 REG_SZ 条目,其项名称为HKLM\SOFTWARE\Microsoft\.NETFramework\Windows Presentation Foundation\XPSAllowedTypes,值名称为DisableDec2022Patch,值为*

要删除此解决方案并返回增强的安全行为,请从提升的命令提示符下运行此命令: reg delete "HKLM\SOFTWARE\Microsoft\.NETFramework\Windows Presentation Foundation\XPSAllowedTypes" /reg:64 /f

这将禁用机器范围内的增强功能,并且仅当您可以完全信任系统中的所有 XPS 输入时才应使用。

解决方法

此问题已在 2023 年 1 月 31 日发布的带外更新中得到解决。 若要获取此带外更新的独立程序包,请在 Microsoft 更新目录中搜索 KB 编号。 您可以手动将这些更新导入 Windows Server Update Services (WSUS) 和 Microsoft Endpoint Configuration Manager。 有关 WSUS 说明,请参阅 WSUS 和目录站点。 有关 Configuration Manger 的说明,请参阅从 Microsoft 更新目录导入更新

如果您为解决此问题使用了任何解决方案或缓解措施,则不需要再应用它们,我们建议您进行删除。 要删除解决方案,请查看适用于说明的解决方案或替代解决方案。

产品版本

更新

Windows 11 version 22H2

.NET Framework 4.8.1

目录

5023327

Windows 11 Version 21H2

目录

5023367

.NET Framework 4.8

目录

5023323

.NET Framework 4.8.1

目录

5023320

Windows Server 2022

目录

5023368

.NET Framework 4.8

目录

5023324

.NET Framework 4.8.1

目录

5023321

Azure Stack HCI Version 22H2

.NET Framework 4.8

目录

5023324

Azure Stack HCI Version 21H2

.NET Framework 4.8

目录

5023324

Windows 10 Version 22H2

目录

5023366

.NET Framework 4.8

目录

5023322

.NET Framework 4.8.1

目录

5023319

Windows 10 Version 21H2

目录

5023365

.NET Framework 4.8

目录

5023322

.NET Framework 4.8.1

目录

5023319

Windows 10 Version 20H2

目录

5023364

.NET Framework 4.8

目录

5023322

.NET Framework 4.8.1

目录

5023319

Windows 10 1809(2018 年 10 月更新)和 Windows Server 2019

目录

5023363

.NET Framework 4.7.2

目录

5023333

.NET Framework 4.8

目录

5023326

Windows 10 1607(周年更新)和 Windows Server 2016

目录

5023416

.NET Framework 4.7.2

目录

5023332

.NET Framework 4.8

目录

5023325

受影响的更新

以下 .NET 版本受到影响:

  • 安装 2022 年 12 月 13 日安全更新时的 .NET Framework 2.0、3.0、3.5、3.5.1。

  • 安装 2022 年 12 月 13 日安全更新时的 .NET Framework 4.6.2、4.7、4.7.1、4.7.2。

  • 安装 2022 年 12 月 13 日安全更新时的 .NET Framework 4.8。

  • 安装 2022 年 12 月 13 日安全更新时的 .NET Framework 4.8.1。

  • 包含 Windows Desktop 运行时版本 3.1.32 的 .NET Core 3.1。

  • 包含 Windows Desktop 运行时版本 6.0.12 或更新的 .NET 6。

  • 包含 Windows Desktop 运行时版本 7.0.1 或更新的 .NET 7。

Windows 操作系统中提供的 Windows XPS 查看器应用程序不受此问题的影响。

常见问题解答 (FAQ)

这种回归是什么时候引入的?

此回归是在 2022 年 12 月 13 日的 .NET 和 .NET Framework 累积安全更新中引入的。

如果管理员安装本文提供的 PowerShell 脚本,是否会使计算机容易受到攻击?

不需要。 PowerShell 脚本仅解决兼容性问题。 它不会禁用 2022 年 12 月 13 日的安全更新或以其他方式降低其有效性。

如果管理员使用基于注册表的替代解决方法,是否会使计算机容易受到攻击?

是的。 上面列出的替代解决方法禁用 2022 年 12 月 13 日安全修复程序的 WPF 部分。 如果管理员使用替代解决方法,他们应该告知用户不要在这些工作站上打开来自不受信任源的 XPS 文档。

本指南仅适用于加载 XPS 文档的基于 WPF 的应用程序。 用户可以继续使用 Windows 的内置 XPS 查看器应用程序来安全地查看不受信任的 XPS 文档,即使在使用基于注册表的备选解决方法的计算机上也是如此。

Microsoft 如何解决兼容性问题?

2023 年 1 月 31 日发布的带外更新中,某些版本的 .NET Framework 解决了此问题。 对于没有解决问题的 .NET Framework 版本,Microsoft 正在积极研究兼顾兼容性同时解决潜在安全问题的其他更新。

有关保护和安全的信息

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。

社区可帮助你提出和回答问题、提供反馈,并听取经验丰富专家的意见。