이 페이지에서는 Win32 앱 격리를 활용하기 위해 애플리케이션을 패키지하는 데 필요한 모든 것을 다룹니다.
중요
이 기능은 미리 보기 상태입니다. 일부 정보는 상업용으로 출시되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적, 또는 묵시적인 보증을 하지 않습니다.
필수 구성 요소
애플리케이션을 격리된 Win32 앱으로 패키지하려면 다음이 필요합니다.
Visual Studio 버전 17.10.2 이상
1단계 - Windows 11 SDK 10.0.26100.0(이상)을 포함하여 Visual Studio에 필요한 워크로드 설치
Visual Studio 설치 관리자를 열고 기존 설치를 수정합니다. 워크로드 탭에서 Windows 애플리케이션 개발 상자를 선택합니다(필요에 따라 C++에서 개발을 위해 C++ WinUI 앱 개발 도구 상자 선택). 이 Windows 11 SDK 10.0.26100.0 (이상)도 필요합니다.
2단계 - 앱 프로젝트 만들기
Visual Studio에서 비어 있는 앱, Windows 애플리케이션 패키징 프로젝트로 패키지됨(데스크톱의 WinUI 3) 템플릿을 사용하여 새 C# 또는 C++ 프로젝트를 만듭니다. 이 만들기 를 클릭한 다음 TPV(대상 플랫폼 버전) 및 TPMinV(대상 플랫폼 최소 버전)에 대해 10.0.26100.0 (이상)을 선택합니다.
3단계 - NuGet을 사용하여 Microsoft.Windows.SDK.BuildTools 버전 10.0.26100.1742 이상 설치
이 프로젝트 -> NuGet 패키지 관리 로 이동하여 Microsoft.Windows.SDK.BuildTools 버전 10.0.26100.1(이상)을 설치합니다.
4단계 - Packaging.appxmanifest 및 프로젝트 파일 편집
매니페스트 파일에서 다음을 변경해야 합니다.
참고: 격리된 win32 애플리케이션은 동일한 패키지 내의 다른 애플리케이션 유형과 호환되지 않습니다.
이 xmlns:uap18="http://schemas.microsoft.com/appx/manifest/uap/windows10/18" 가 아직 없는 경우 <Package> 요소에 추가합니다.
이 uap18 요소의 끝에 있는 IgnorableNamespaces 에 <Package> 를 추가합니다.
이 <Dependencies> 에서 TargetDeviceFamily 를 <TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.26100.0" MaxVersionTested="10.0.26226.0" />으로 변경합니다.
참고
모든 기능을 최소 빌드에서 사용할 수 있는 것은 아닙니다. 자세한 내용은 릴리스 정보 를 확인하세요. 또한 다음 매니페스트 변경으로 앱이 격리된 앱이 될 수 있지만 Win32 앱 격리가 지원되지 않는 운영 체제에서 Win32 앱으로 계속 실행할 수 있습니다.
<Application>에서 기존 entrypoint/trustlevel/runtimebehavior를 EntryPoint="Windows.FullTrustApplication"uap18:EntryPoint="Isolated.App"uap18:TrustLevel="appContainer" uap18:RuntimeBehavior="appSilo"으로 대체합니다.
이 <Application> 확장에서는 부모 EntryPoints=*에서 상속된 Executable=* 또는 <Application> 을 제거합니다.
이 desktop7:Scope="user" 에 대한 확장 요소에 windows.protocol 를 추가합니다.
참고
기본적으로 앱이 패키지된 Win32이므로 Visual Studio는 <rescap:Capability name="runFullTrust"> 에 <Capabilities> 를 자동으로 추가합니다. 앱에 comServer 기능이 필요하기 때문에 사용자 전역 상태(예: FirewallRules 또는 runFullTrust)에 영향을 줄 수 있는 다른 매니페스트된 확장이 없으면 제거해야 합니다.