KB5022083 Изменение способа отображения XPS-документов приложениями на основе WPF

Примечание

Дата выхода:
13 декабря 2022 г.

Примечание

  • Эта статья была переработана 19 мая 2023 г. для обновления альтернативных разделов реестра для временного решения.
  • Эта статья была изменена 17 февраля 2023 года для обновления резолюции.
  • Эта статья была изменена 31 января 2023 года, чтобы добавить резолюцию.
  • Эта статья была изменена 9 января 2023 г. для расширения симптома и добавления раздела часто задаваемых вопросов.
  • Эта статья была изменена 15 декабря 2022 г. для добавления дополнительного временного решения.

Сводка

В этой статье содержатся сведения об устранении проблемы, когда после установки обновлений для системы безопасности от 13 декабря 2022 г. или 14 февраля 2023 г. или обновлений от 19 января 2023 г. для .NET Framework и .NET пользователи могут столкнуться с проблемами с отображением XPS-документов приложениями на основе WPF.

Проблема

XPS-документы, использующие структурные или семантические элементы, такие как структура таблиц, раскадровки или гиперссылки, могут неправильно отображаться в программах чтения на основе WPF. Кроме того, некоторые встроенные рисунки могут отображаться неправильно или могут возникать исключения ссылок Null при загрузке документов XPS в средства чтения на основе WPF.

Возможное решение

Корпорация Майкрософт нашла обходной путь для этой проблемы и создала скрипт PowerShell для ее решения.

Чтобы установить временное решение для обеспечения совместимости, выполните следующие действия.

  1. Скачайте скрипт PowerShell
  2. Открытие командной строки PowerShell от имени администратора
  3. В командной строке перейдите в каталог, куда был загружен сценарий
  4. Выполните команду в командной строке: .\kb5022083-compat.ps1 -install

В случае успешного выполнения команды в окне консоли появится сообщение "Установка завершена". Если команда не выполняется, отобразится причина сбоя. Чтобы удалить временное решение для обеспечения совместимости, выполните те же действия, что и выше, но замените шаг (4) выше на .\kb5022083-compat.ps1 -Uninstall

После установки временного решения для обеспечения совместимости приложения на основе WPF, отображающие документы XPS, должны продолжать работать так же, как и до обновлений для системы безопасности от 13 декабря 2022 г.

Альтернативное временное решение

Если первое обходное решение не устранит проблему, вы можете использовать запись реестра, чтобы отключить режим усиленной безопасности. Это следует делать только в том случае, если вы точно знаете, что все XPS-документы ваших системных процессов надежны, например, они генерируются вашей системой, а не загружаются в вашу систему, и их никто не может изменить. Не отключайте эту функцию, если вы принимаете документы XPS из Интернета, электронные письма от внешних организаций или из других ненадежных источников.

Чтобы отключить поведение усиленной защиты, выполните следующую команду из командной строки с повышенными привилегиями:

  • 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_SZ с именем HKLM\SOFTWARE\Microsoft\.NETFramework\Windows Presentation Foundation\XPSAllowedTypesключа , именем значения и DisableDec2022Patchзначением*

Чтобы удалить одно из этих обходных путей и вернуть режим усиленной безопасности, выполните следующие команды из командной строки с повышенными привилегиями:

  • 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

Это отключает расширенную функциональность на уровне компьютера и следует использовать только в том случае, если вы полностью доверяете всем входным данным XPS в ваши системы.

Решение

Эта проблема устранена во внеплановых обновлениях, выпущенных 31 января 2023 г. для Windows 10 версии 1607 и Windows Server 2016, а также более новых операционных систем и внеплановых обновлений, выпущенных 17 февраля 2023 г. для более ранних версий Windows и Windows Server. Чтобы получить автономный пакет для этих внештатных обновлений, найдите номер базы знаний в каталоге Центра обновления Майкрософт. Вы можете вручную импортировать эти обновления в Windows Server Update Services (WSUS) и Microsoft Endpoint Configuration Manager. Инструкции для WSUS см. в разделах WSUS и на сайте каталога. Инструкции для Configuration Manger см. в разделе Импорт обновлений из каталога Центра обновления Майкрософт.

Если вы использовали какие-либо временные решения или способы устранения этой проблемы, они больше не нужны, и мы рекомендуем вам удалить их. Чтобы удалить временное решение, просмотрите временное решение или альтернативное временное решение, которое было применено для инструкций.

Версия продукта Обновление Статья базы знаний
Windows 11 версии 22H2
платформа .NET Framework 4.8.1 Каталог 5023327
Windows 11 версии 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 версии 22H2
платформа .NET Framework 4.8 Каталог 5023324
Azure Stack HCI версии 21H2
платформа .NET Framework 4.8 Каталог 5023324
Windows 10 версии 22H2 Каталог 5023366
платформа .NET Framework 4.8 Каталог 5023322
платформа .NET Framework 4.8.1 Каталог 5023319
Windows 10 версии 21H2 Каталог 5023365
платформа .NET Framework 4.8 Каталог 5023322
платформа .NET Framework 4.8.1 Каталог 5023319
Windows 10 версии 20H2 Каталог 5023364
платформа .NET Framework 4.8 Каталог 5023322
платформа .NET Framework 4.8.1 Каталог 5023319
Windows 10 1809 (обновление за октябрь 2018 г.) и 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
Windows Embedded 8.1 и Windows Server 2012 R2
платформа .NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2 Каталог 5023819
платформа .NET Framework 4.8 Каталог 5023822
Windows Embedded 8 и Windows Server 2012
платформа .NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2 Каталог 5023818
платформа .NET Framework 4.8 Каталог 5023821
Windows Embedded 7 Standard и Windows Server 2008 R2 SP1
платформа .NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2 Каталог 5023820
платформа .NET Framework 4.8 Каталог 5023823
Windows Server 2008 с пакетом обновления 2 (SP2)
.NET Framework 4.6.2 Каталог 5023820

Затронутые обновления

Проблема затрагивает следующие версии .NET:

  • платформа .NET Framework 2.0, 3.0, 3.5, 3.5.1 при установке обновления для системы безопасности от 13 декабря 2022 г.
  • платформа .NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2 при установке обновления для системы безопасности от 13 декабря 2022 г.
  • платформа .NET Framework 4.8 при установке обновления для системы безопасности от 13 декабря 2022 г.
  • платформа .NET Framework 4.8.1 при установке обновления для системы безопасности от 13 декабря 2022 г.
  • .NET Core 3.1 и среда выполнения Windows Desktop версии 3.1.32.
  • .NET 6 со средой выполнения Windows Desktop версии 6.0.12 или более поздней.
  • .NET 7 со средой выполнения Windows Desktop версии 7.0.1 или более поздней.

Эта проблема не затрагивает приложение Windows XPS Viewer, предоставляемое в операционной системе Windows.

Вопросы и ответы

Когда была введена эта регрессия?

Эта регрессия появилась в накопительных обновлениях безопасности для .NET и .NET .NET Framework от 13 декабря 2022 г.

Если администратор установит сценарий PowerShell, описанный в этой статье, сделает ли он компьютер уязвимым?

Нет. Сценарий PowerShell рассматривает только совместимость. Он не отключает обновление для системы безопасности от 13 декабря 2022 г. и не снижает его эффективность иным образом.

Если администратор использует альтернативное обходное решение на основе реестра, сделает ли это компьютер уязвимым?

Да. Альтернативное временное решение, указанное выше, отключает часть WPF исправления безопасности от 13 декабря 2022 г. Если администратор использует альтернативное решение, он должен указать своим пользователям, чтобы они не открывали документы XPS из ненадежных источников на этих рабочих станциях.

Это руководство относится только к приложениям на основе WPF, загружающим документы XPS. Пользователи могут продолжать использовать встроенное в Windows приложение для просмотра XPS для безопасного просмотра ненадежных документов XPS даже на компьютерах, использующих альтернативное временное решение на основе реестра.

Что корпорация Майкрософт делает для решения проблемы совместимости?

Эта проблема устранена для некоторых версий платформы .NET Framework во внеплановых обновлениях, выпущенных 31 января 2023 г. Корпорация Майкрософт изучает дополнительное обновление для версий .NET Framework, которые не исправлены, и которое восстанавливает совместимость, а также устраняет основную проблему безопасности.

Сведения о защите и безопасности