Тестирование приложения для Windows 10 в S-режиме

Можно протестировать приложение Windows, чтобы убедиться, что оно будет работать правильно на устройствах под управлением Windows 10 S. На самом деле, если вы планируете опубликовать приложение в Microsoft Store, это необходимо, поскольку таковы обязательные требования Store. Чтобы протестировать приложение, можно применить политику управления приложениями в Microsoft Defender на устройстве под управлением Windows 10 Pro.

Эта политика применяет правила, которым должны соответствовать приложения для работы в Windows 10 в S-режиме.

Важно!

Мы рекомендуем применять эти политики к виртуальной машине, однако если вы хотите применить их к локальному компьютеру, предварительно ознакомьтесь с рекомендациями, приведенными в разделе "Установка политики и перезапуск компьютера" этой статьи.

Скачивание политик и выбор одной из них

Скачайте политики управления приложениями в Microsoft Defender здесь.

Затем выберите наиболее подходящую политику. Вот краткая информация по каждой из них.

Политика Принудительное применение Сертификат для подписи Имя файла
Политика режима аудита Ведет журнал ошибок / не блокирует Магазин SiPolicy_Audit.p7b
Политика режима производства Да Магазин SiPolicy_Enforced.p7b
Политика режима производства с самозаверяющимися приложениями Да Тестовый сертификат AppX SiPolicy_DevModeEx_Enforced.p7b

Мы рекомендуем начать с политики режима аудита. Просмотрите журналы событий целостности кода и используйте эти сведения, чтобы внести изменения в ваше приложение. Затем, когда будете готовы провести финальное тестирование, примените политику режима производства.

Ниже представлена дополнительная информация о каждой политике.

Политика режима аудита

В этом режиме ваше приложение работает, даже если оно выполняет задачи, не поддерживаемые в Windows 10 S. Windows регистрирует все исполняемые файлы, которые были бы заблокированы в журналах событий целостности кода.

Эти журналы можно найти, открыв Просмотр событий и перейдя в это расположение: Журналы приложений и служб ->Microsoft ->Windows ->CodeIntegrity ->Operational.

code-integrity-event-logs

Этот режим безопасен и не помешает запуску системы.

(Необязательно) Поиск конкретных точек сбоя в стеке вызовов

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

Клавиши Название Тип Применение
HKEY_LOCAL_MACHINE\SYSTEM\CurentControlSet\Control\CI DebugFlags REG_DWORD 1

reg-setting

Политика режима производства

Данная политика применяет правила целостности кода, согласующиеся с Windows 10 S, поэтому вы можете имитировать работу под управлением этой операционной системы. Это самая строгая политика, и она отлично подходит для проведения финального тестирования производства. В этом режиме на ваше приложение распространяются такие же ограничения, какие на него были бы наложены на устройстве пользователя. Чтобы использовать этот режим, ваше приложение должно быть подписано Microsoft Store.

Политика режима производства с самозаверяющимися приложениями

Эта политика аналогична политике режима производства, но она также позволяет запускать продукты, подписанные с помощью тестового сертификата, который входит в этот ZIP-файл. Установите PFX-файл, находящийся в папке AppxTestRootAgency этого ZIP-файла. Затем подпишите приложение с его помощью. Так вы сможете быстро выполнить итерацию, не подписывая приложение через Магазин.

Поскольку имя издателя сертификата должно соответствовать имени издателя приложения, вам придется временно изменить значение атрибута Publisher элемента Identity на "CN=Appx Test Root Agency Ex". После выполнения тестов этому атрибуту можно вернуть исходное значение.

Установка политики и перезапуск компьютера

Мы рекомендуем применять эти политики к виртуальной машине, поскольку они могут привести к ошибкам при загрузке. Это связано с тем, что эти политики блокируют выполнение кода, не подписанного Microsoft Store, включая драйверы.

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

Когда будете готовы применить политику, найдите P7B-файл выбранной вами политики, переименуйте его в SIPolicy.P7B и сохраните в вашей системе в этом расположении: C:\Windows\System32\CodeIntegrity\.

Затем перезапустите компьютер.

Примечание

Чтобы удалить политику из системы, удалите файл P7B и перезапустите систему.

Дальнейшие действия

Получение ответов на вопросы

Есть вопросы? Задайте их на Stack Overflow. Наша команда следит за этими тегами.

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

См. Перенос и тестирование классических приложений на Windows 10 S с помощью моста для классических приложений.

Узнайте о средствах, которые упрощают тестирование для Windows в режиме S

См. Распаковка, изменение, перепаковка и подписание APPX.