Поделиться через


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

Вы можете протестировать приложение Windows, чтобы обеспечить правильную работу на устройствах под управлением Windows 10 в режиме S. На самом деле, если вы планируете опубликовать приложение в Microsoft Store, это необходимо сделать, так как это требование к магазину. Чтобы протестировать приложение, можно применить политику управления приложениями Защитника Windows (WDAC) на устройстве под управлением Windows 10 Pro.

Политика WDAC применяет правила, которые приложения должны соответствовать для запуска в Windows 10 S.

Это важно

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

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

Скачайте политики WDAC здесь.

Затем выберите тот, который имеет наибольшее смысл для вас. Ниже приведена сводка по каждой политике.

Политика Принуждение Сертификат подписи Имя файла
Политика режима аудита Проблемы с журналами / не блокируются Магазин 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 Флаги отладки REG_DWORD 1

настройка реестра

Политика рабочего режима

Эта политика применяет правила целостности кода, соответствующие Windows 10 S, чтобы имитировать работу в 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 с помощью Desktop Bridge.

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

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