S 모드에서 Windows 10용 Windows 앱 테스트

S 모드에서 Windows 10을 실행하는 디바이스에서 Windows 앱이 제대로 작동하는지 테스트할 수 있습니다. 실제로 앱을 Microsoft Store에 게시하려는 경우 Microsoft Store 요구 사항이므로 이를 수행해야 합니다. 앱을 테스트하기 위해 Windows 10 Pro를 실행하는 디바이스에 Windows Defender 애플리케이션 제어(WDAC) 정책을 적용할 수 있습니다.

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

이 모드는 안전하며 시스템이 시작되지 않도록 차단하지 않습니다.

(선택 사항) 호출 스택에서 특정 실패 지점 찾기

호출 스택에서 차단 문제가 발생하는 특정 지점을 찾으려면 이 레지스트리 키를 추가한 다음, 커널 모드 디버깅 환경을 설정합니다.

이름 Type Value
HKEY_LOCAL_MACHINE\SYSTEM\CurentControlSet\Control\CI DebugFlags REG_DWORD 1

reg-setting

프로덕션 모드 정책

이 정책은 Windows 10 S에서의 실행을 시뮬레이션할 수 있도록 Windows 10 S와 일치하는 코드 무결성 규칙을 적용합니다. 이는 가장 엄격한 정책이므로 최종 프로덕션 테스트에 적합합니다. 이 모드에서 앱에는 사용자의 디바이스에 적용되는 것과 동일한 제한 사항이 적용됩니다. 이 모드를 사용하려면 Microsoft Store에서 앱에 서명해야 합니다.

자체 서명된 앱을 사용하는 프로덕션 모드 정책

이 모드는 프로덕션 모드 정책과 비슷하지만, zip 파일에 포함된 테스트 인증서를 사용하여 서명된 작업을 실행할 수도 있습니다. 이 zip 파일의 AppxTestRootAgency 폴더에 포함된 PFX 파일을 설치합니다. 그런 다음, 이를 통해 앱에 서명합니다. 이렇게 하면 스토어 서명 없이 빠르게 반복할 수 있습니다.

인증서의 게시자 이름이 앱 게시자 이름과 일치해야 하므로 ID 요소의 게시자 특성 값을 "CN=Appx Test Root Agency Ex"로 일시적으로 변경합니다. 테스트가 완료되면 해당 특성을 원래 값으로 다시 변경할 수 있습니다.

다음으로, 정책 설치 및 시스템 다시 시작

이러한 정책으로 인해 부팅 오류가 발생할 수 있으므로 해당 정책은 가상 머신에 적용하는 것이 좋습니다. 이는 이러한 정책을 통해 드라이버를 포함하여 Microsoft Store에서 서명하지 않은 코드가 실행되지 않도록 차단하기 때문입니다.

이러한 정책을 로컬 머신에 적용하려면 감사 모드 정책으로 시작하는 것이 가장 좋습니다. 이 정책을 사용하면 코드 무결성 이벤트 로그를 검토하여 적용된 정책으로 인해 중요한 작업이 차단되지 않도록 할 수 있습니다.

정책을 적용할 준비가 끝나면 선택한 정책에 대한 .P7B 파일을 찾아서 이름을 SIPolicy.P7B로 변경한 다음, 파일을 시스템의 C:\Windows\System32\CodeIntegrity\ 위치에 저장합니다.

그런 다음, 시스템을 다시 시작합니다.

참고

시스템에서 정책을 제거하려면 .P7B 파일을 삭제한 다음, 컴퓨터를 다시 시작합니다.

다음 단계

질문에 대한 답변 찾기

질문이 있으세요? Stack Overflow에서 질문하세요. 저희 팀은 이러한 태그를 모니터링합니다.

App Consult 팀에서 게시한 자세한 블로그 문서 참조

데스크톱 브리지를 사용하여 Windows 10에서 클래식 데스크톱 애플리케이션 포팅 및 테스트

S 모드에서 Windows를 쉽게 테스트할 수 있는 도구에 대해 알아보기

APPX 패키지 해제, 수정, 다시 패키징, 서명을 참조하세요.