배포 개요

이 섹션의 항목에서는 다양한 유형의 Windows 앱 배포에 대한 옵션과 지침을 소개합니다.

앱 패키지의 장단점

첫 번째 결정은 앱을 패키지할지 여부를 나타냅니다.

  • 패키지에 포함된 앱. 패키지 앱은 런타임에 패키지 ID가 있는 유일한 종류입니다. 백그라운드 작업, 알림, 라이브 타일, 사용자 지정 컨텍스트 메뉴 확장, 공유 대상 등 많은 Windows 확장성 기능에는 패키지 ID가 필요합니다. 운영 체제(OS)가 해당 API의 호출자를 식별할 수 있어야 하기 때문입니다. 패키지 ID가 필요한 기능을 참조하세요.
    • 일반적으로 패키지 앱의 프로세스는 경량 앱 컨테이너 내에서 실행됩니다. 파일 시스템 및 레지스트리 가상화를 사용하여 격리됩니다(레거시 앱용 AppContainerMSIX AppContainer 앱 참조). 그러나 앱 컨테이너에서 실행되지 않도록 패키지된 앱을 구성할 수 있습니다.
    • 패키지된 앱은 MSIX 기술을 사용하여 패키지됩니다(MSIX란? 참조).
    • 외부 위치로 패키지된 앱. 하지만 일부 기존 앱은 아직 모든 콘텐츠를 MSIX 패키지 내에 포함할 준비가 되지 않았기 때문에 앱을 외부 위치로 패키징하는 옵션이 있습니다. 이를 통해 앱에 패키지 ID를 부여하여 이를 필요로 하는 기능을 사용할 수 있습니다. 자세한 내용은 외부 위치로 패키지하여 패키지 ID 부여를 참조하세요.
    • 패키지된 앱은 MSIX를 사용하여 설치됩니다. 하지만 외부 위치로 패키징을 선택하면 '자체 설치 프로그램' 모델로 간주할 수 있습니다. 따라서 해당 옵션을 사용하려면 설치 관리자 작업을 수행해야만 합니다. 본질적으로 패키지된 앱과 패키지되지 않은 앱 사이의 하이브리드 옵션입니다.
  • 비 패키지 앱. 패키지되지 않은 앱을 만들어 MSIX 사용을 모두 옵트아웃할 수 있습니다. 그러나 패키지되지 않은 앱은 런타임에 패키지 ID를 갖지 않습니다. 따라서 특정 Windows 기능이 누락됩니다(패키지 ID가 필요한 기능 참조).

각 형식의 앱은 Microsoft Store에 게시하고 해당 방식으로 또는 Windows App Installer를 통해 설치할 수 있습니다.

Important

앱을 패키지하고 앱 컨테이너에서 실행되도록 구성하는 것이 좋습니다. 고객을 위한 원활하고 현대적이며 안정적인 설치 및 업데이트 환경이 될 것이며, 런타임 시 보안이 보장됩니다.

패키지됨(선택적으로 앱 컨테이너에서 실행) 외부 위치로 패키지되거나 패키지되지 않음
장점 사용자에게 앱을 쉽게 설치, 제거 및 업데이트할 수 있는 방법을 제공합니다. 제거는 깨끗합니다. 앱이 제거되면 시스템이 설치 전과 동일한 상태로 복원되며 아티팩트가 남아 있지 않습니다. 이러한 종류의 앱은 증분 및 자동 업데이트도 지원합니다. 그리고 Microsoft Store는 이러한 종류의 앱을 최적화합니다(Store 내부 또는 외부에서 사용할 수 있음).

패키지 ID를 갖는 이점을 가져옵니다.
이러한 옵션을 사용하면 앱의 종류, 호출할 수 있는 API, 레지스트리 및 파일 시스템에 대한 앱 액세스에 제한이 없습니다.

외부 위치로 패키지하면 패키지 ID를 갖는 이점을 가져올 수 있습니다.
단점 앱은 앱의 종류와 앱이 시스템 내에서 가질 수 있는 기관 측면에서 제한됩니다. 예를 들어, NT 서비스는 불가능합니다. IPC(프로세스 간 통신) 옵션은 제한됩니다. Microsoft Store에 게시하는 경우 권한 있는/상승된 액세스가 제한됩니다. 파일/레지스트리 액세스는 가상화됩니다(유연한 가상화도 참조). 또한 경우에 따라 엔터프라이즈 정책은 Microsoft Store를 사용하지 않도록 설정하여 업데이트를 사용하지 않도록 설정할 수 있습니다. 이러한 옵션을 사용하면 앱이 제거된 후 부실한 구성 데이터 및 소프트웨어가 누적될 위험이 있는 앱입니다. 이는 고객과 시스템에 문제가 될 수 있습니다.

앱은 일반적으로 .exe 또는 .msi 파일을 사용하거나 다른 설치 및 업데이트 솔루션을 통해 설치 및 업데이트됩니다. 사용자 지정 설치 프로그램, ClickOnce 또는 xcopy 배포를 사용합니다.

패키지되지 않은 앱에는 패키지 ID를 갖는 이점이 없습니다.

패키지 설치 위치, 작업 디렉터리, 파일 및 레지스트리 가상화에 대한 자세한 내용은 패키지 데스크톱 앱이 Windows에서 실행되는 방식 이해를 참조하세요.

Windows 앱 SDK 사용

앱을 패키지할지 여부를 결정한 후에는 앱에서 Windows 앱 SDK를 사용할지 여부를 결정할 수 있습니다. Windows 앱 SDK 배포 개요를 참조하세요.

Win32 및 .NET 데스크톱 앱

WPF(Windows Presentation Foundation) 및 WinForms(Windows Forms)를 포함한 Win32 데스크톱 앱(클래식 데스크톱 앱이라고도 함) 또는 .NET 앱을 빌드하는 경우 MSIX를 사용하여 앱을 패키지하고 배포할 수 있습니다.

다른 설치 기술을 사용하여 이러한 유형의 앱을 패키지하고 배포할 수도 있습니다.

UWP 앱

UWP 앱이 MSIX를 사용하여 패키지되고 배포되었습니다.