KB5022083 Зміна способу відображення XPS-документів у програмах на основі WPF

Примітка.

Дата випуску:
13 грудня 2022 р.

Примітка.

  • Цю статтю переглянуто 19 травня 2023 р. з метою оновлення альтернативних розділів реєстру для вирішення цієї проблеми.
  • Цю статтю було переглянуто 17 лютого 2023 року з метою оновлення роздільної здатності.
  • Цю статтю було переглянуто 31 січня 2023 року, щоб додати резолюцію.
  • Цю статтю було відредаговано 9 січня 2023 року, щоб розгорнути ознаку та додати розділ поширених запитань.
  • Цю статтю було відредаговано 15 грудня 2022 року, щоб додати додатковий спосіб вирішення.

Зведення

Ця стаття допомагає усунути проблему, якщо після інсталяції оновлень системи безпеки від 13 грудня 2022 р. чи 14 лютого 2023 р. або оновлень для .NET Framework та .NET від 19 січня 2023 р. у користувачів можуть виникати проблеми з тим, як програми на базі WPF відтворюють документи XPS.

Ознака

Документи 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. Щоб отримати автономний пакет для цих нестандартних оновлень, виконайте пошук за номером бази знань у каталозі Microsoft Update. Ви можете вручну імпортувати ці оновлення до служб WSUS і Microsoft Endpoint Configuration Manager. Інструкції щодо WSUS див. в розділі WSUS і на сайті каталогу. Інструкції щодо Диспетчера конфігурацій див. в статті "Імпорт оновлень із каталогу Microsoft Update".

Якщо ви використовували обхідний шлях або зведення ризиків до мінімуму для вирішення цієї проблеми, вони більше не потрібні. Радимо їх вилучити. Щоб вилучити спосіб вирішення, перегляньте спосіб вирішення або альтернативний спосіб, який застосовано до інструкцій.

Версія продукту на оновлення.
Windows 11 версії 22H2
.NET Framework.NET Framework 4.8.1 Каталог 5023327
Windows 11 версії 21H2 Каталог 5023367
.NET Framework.NET Framework 4.8 Каталог 5023323
.NET Framework.NET Framework 4.8.1 Каталог 5023320
Windows ServerWindows Server 2022 Каталог 5023368
.NET Framework.NET Framework 4.8 Каталог 5023324
.NET Framework.NET Framework 4.8.1 Каталог 5023321
Azure Stack HCI, версія 22H2
.NET Framework.NET Framework 4.8 Каталог 5023324
Azure Stack HCI, версія 21H2
.NET Framework.NET Framework 4.8 Каталог 5023324
Windows 10Windows 10 Version 22H2 Каталог 5023366
.NET Framework.NET Framework 4.8 Каталог 5023322
.NET Framework.NET Framework 4.8.1 Каталог 5023319
Windows 10Windows 10 Version 21H2 Каталог 5023365
.NET Framework.NET Framework 4.8 Каталог 5023322
.NET Framework.NET Framework 4.8.1 Каталог 5023319
Windows 10Windows 10 Version 20H2 Каталог 5023364
.NET Framework.NET Framework 4.8 Каталог 5023322
.NET Framework.NET Framework 4.8.1 Каталог 5023319
Windows 10Windows 10 1809 (оновлення за жовтень 2018 р.) та Windows ServerWindows Server 2019 Каталог 5023363
.NET Framework.NET Framework 4.7.2 Каталог 5023333
.NET Framework.NET Framework 4.8 Каталог 5023326
Windows 10Windows 10 1607 (Anniversary Update) і Windows ServerWindows Server 2016 Каталог 5023416
.NET Framework.NET Framework 4.7.2 Каталог 5023332
.NET Framework.NET Framework 4.8 Каталог 5023325
Windows Embedded 8.1 і Windows ServerWindows Server 2012 R2
.NET Framework.NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2 Каталог 5023819
.NET Framework.NET Framework 4.8 Каталог 5023822
Windows Embedded 8 і Windows ServerWindows Server 2012
.NET Framework.NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2 Каталог 5023818
.NET Framework.NET Framework 4.8 Каталог 5023821
Windows Embedded 7 Standard і Windows Server 2008 R2 з пакетом оновлень 1 (SP1)
.NET Framework.NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2 Каталог 5023820
.NET Framework.NET Framework 4.8 Каталог 5023823
Windows Server 2008 із пакетом оновлень 2 (SP2)
.NET Framework.NET Framework 4.6.2 Каталог 5023820

Оновлення, яких це стосується

Це стосується таких версій .NET:

  • .NET Framework.NET Framework 2.0, 3.0, 3.5, 3.5.1, коли інсталюється оновлення системи безпеки 13 грудня 2022 року.
  • .NET Framework.NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2, коли інсталюється оновлення системи безпеки від 13 грудня 2022 року.
  • .NET Framework.NET Framework 4.8, коли інсталюється оновлення системи безпеки від 13 грудня 2022 року.
  • .NET Framework.NET Framework 4.8.1, коли інсталюється оновлення системи безпеки від 13 грудня 2022 року.
  • .NET Core 3.1 із середовищем виконання Windows для настільних ПК версії 3.1.32.
  • .NET 6 із середовищем виконання Windows для настільних ПК версії 6.0.12 або пізнішої.
  • .NET 7 із середовищем виконання Windows для настільних ПК версії 7.0.1 або пізнішої.

Ця проблема не впливає на програму для перегляду Windows XPS, доступну в складі операційної системи Windows.

Запитання й відповіді

Коли був запроваджений цей регрес?

Цей відступ запроваджено в сукупних оновленнях системи безпеки для .NET і .NET Framework від 13 грудня 2022 року.

Якщо адміністратор інсталює сценарій PowerShell, наведений у цій статті, чи залишиться комп'ютер вразливим?

Ні. Сценарій PowerShell стосується лише питань сумісності. Воно не вимикає оновлення системи безпеки від 13 грудня 2022 року та іншим чином не знижує його ефективність.

Якщо адміністратор скористається альтернативним обхідним шляхом на основі реєстру, чи залишиться комп'ютер вразливим?

Так. Альтернативний спосіб вирішення, зазначений вище, вимикає частину WPF у виправленні системи безпеки від 13 грудня 2022 року. Якщо адміністратор використовує альтернативний обхідний шлях, він має радити своїм користувачам не відкривати документи XPS із ненадійних джерел на цих робочих станціях.

Ця настанова стосується лише програм на основі WPF, які завантажують документи XPS. Користувачі можуть і надалі використовувати вбудовану у Windows програму перегляду XPS, щоб безпечно переглядати ненадійні документи XPS, навіть на комп'ютерах, де використовується альтернативний спосіб вирішення на основі реєстру.

Що робить корпорація Майкрософт для вирішення проблеми сумісності?

Цю проблему вирішено для деяких версій .NET Framework.NET Framework в нестандартних оновленнях, випущених 31 січня 2023 р. Для версій .NET Framework, які не вирішено, корпорація Майкрософт активно досліджує додаткове оновлення, щоб відновити сумісність, а також вирішити основну проблему безпеки.

Відомості про захист і безпеку