다음을 통해 공유


MSIX 컨테이너의 런타임 문제 해결

이 문서에서는 MSIX 컨테이너에서 발생하는 런타임 문제를 해결하는 방법을 검토합니다. MSIX 컨테이너 자체는 비교적 간단하고 간단합니다. 수정 패키지의 도움으로 동일한 패키지 ID 내에서 더 많은 애플리케이션이 실행되므로 가상 레지스트리 및 가상 파일 시스템은 애플리케이션이 설치되는 순서대로 과도하게 배치됩니다.

이러한 애플리케이션이 설치되는 순서로 인해 예상된 레지스트리 키를 덮어쓰고 예상 파일을 바꿀 수 있는 예기치 않은 문제가 발생할 수 있습니다.

이러한 문제를 진단하는 데 도움을 주기 위해 Invoke-CommandInDesktopPackage 는 MSIX 컨테이너 내에서 애플리케이션을 실행하는 데 사용할 수 있는 PowerShell cmdlet입니다. 이렇게 하면 사용자가 MSIX 컨테이너 내에서 명령 프롬프트, 레지스트리 편집기, PowerShell을 실행하고 병합된 파일 시스템 및 병합된 레지스트리 하이브를 볼 수 있습니다.

Important

Invoke-CommandInDesktopPackage를 사용하려면 디바이스가 18922년 이전의 Windows 10 빌드에 대한 개발자 모드여야 합니다.

병합된 파일 시스템 보기

컨테이너 내에서 실행되는 애플리케이션에서 관찰한 대로 파일 시스템을 보려면 다음 PowerShell 명령을 사용합니다.

Invoke-CommandInDesktopPackage -AppId "AppPackage1" -PackageFamilyName "Contoso.AppPackage1_8h66172c634n0" -Command "cmd.exe" -PreventBreakaway

위의 명령은 Contoso.AppPackage1_8h66172c634n0 패키지 컨테이너에서 cmd.exe 인스턴스를 시작합니다. 컨테이너 내에서 명령 프롬프트를 실행할 때 파일 시스템을 탐색하고 병합된 파일을 볼 수 있습니다.

병합된 레지스트리 하이브 보기

컨테이너 내부를 실행하는 애플리케이션에서 관찰한 대로 전체 디바이스 레지스트리 하이브를 보려면 다음 PowerShell 명령을 사용합니다.

Invoke-CommandInDesktopPackage -AppId "AppPackage1" -PackageFamilyName "Contoso.AppPackage1_8h66172c634n0" -Command "regedit.exe" -PreventBreakaway

위의 명령은 Contoso.AppPackage1_8h66172c634n0 패키지 컨테이너의 컨텍스트 내에서 레지스트리 편집기를 시작합니다. 여기에서 로컬 컴퓨터 및 현재 사용자 레지스트리 키를 검색하고 문제를 일으키는 가능한 범죄자를 식별할 수 있습니다.

동일한 컨테이너에서 후속 프로세스를 시작하려면 Invoke-CommandInDesktopPackage를 사용하는 동안 '-PreventBreakaway' 플래그를 사용합니다. 그렇지 않으면 후속 시작이 컨테이너에서 중단됩니다.

참고 항목

컨테이너 내에서 모든 애플리케이션을 시작할 수 있는 것은 아닙니다. 예를 들어 explorer.exe는 컨테이너를 중단합니다.