다음을 통해 공유


WPF 애플리케이션 배포

WPF(Windows Presentation Foundation) 애플리케이션을 빌드한 후에는 배포해야 합니다. Windows 및 .NET Framework는 여러 배포 기술을 포함합니다. WPF 애플리케이션을 배포하는 데 사용되는 배포 기술은 애플리케이션 종류에 따라 달라집니다. 이 항목에서는 각 배포 기술과 해당 기술이 각 WPF 애플리케이션 종류의 배포 요구 사항과 함께 사용되는 방법에 대해 간략하게 설명합니다.

배포 기술

Windows 및 .NET Framework에는 다음을 비롯한 여러 배포 기술이 포함되어 있습니다.

  • XCopy 배포.

  • Windows Installer 배포

  • ClickOnce 배포.

XCopy 배포

XCopy 배포는 XCopy 명령줄 프로그램을 사용하여 한 위치에서 다른 위치로 파일을 복사하는 방법을 나타냅니다. XCopy 배포는 다음과 같은 경우에 적합합니다.

  • 애플리케이션이 독립적이며, 실행하기 위해 클라이언트를 업데이트할 필요가 없습니다.

  • 빌드 위치(로컬 디스크, UNC 파일 공유 등)에서 게시 위치(웹 사이트, UNC 파일 공유 등)로 이동하는 경우처럼 한 위치에서 다른 위치로 애플리케이션 파일을 이동해야 합니다.

  • 애플리케이션에 셸 통합(시작 메뉴 바로 가기, 데스크톱 아이콘 등)이 필요하지 않습니다.

XCopy는 간단한 배포 시나리오에 적합하지만 좀더 복잡한 배포 기능이 필요한 경우 제한됩니다. 특히 XCopy를 사용하면 강력한 방식으로 배포를 관리하기 위한 스크립트를 작성, 실행 및 유지 관리하는 오버헤드가 자주 발생합니다. 또한 XCopy는 버전 관리, 제거 또는 롤백을 지원하지 않습니다.

Windows Installer

Windows Installer를 사용하면 클라이언트에 쉽게 배포하고 실행할 수 있는 자체 포함 실행 파일로 애플리케이션을 패키지할 수 있습니다. 또한 Windows Installer는 Windows와 함께 설치되며 바탕 화면, 시작 메뉴 및 프로그램 제어판과 통합할 수 있습니다.

Windows Installer에서는 애플리케이션의 설치 및 제거가 간단하지만 설치된 애플리케이션이 버전 관리 관점에서 최신 버전으로 유지되도록 보장하는 기능은 제공하지 않습니다.

Windows Installer에 대한 자세한 내용은 Windows Installer 배포를 참조하세요.

ClickOnce 배포

ClickOnce에서는 비 웹 애플리케이션에 대해 웹 스타일 애플리케이션 배포를 사용할 수 있습니다. 애플리케이션이 웹 또는 파일 서버에서 게시되고 배포됩니다. ClickOnce는 Windows Installer 설치 애플리케이션처럼 전체 범위의 클라이언트 기능을 지원하지는 않지만 다음을 포함하는 하위 기능은 지원합니다.

  • 시작 메뉴 및 프로그램 제어판과의 통합.

  • 버전 관리, 롤백 및 제거.

  • 항상 배포 위치에서 애플리케이션을 시작하는 온라인 설치 모드.

  • 새 버전이 릴리스되는 경우 자동 업데이트.

  • 파일 확장명 등록.

ClickOnce에 대한 자세한 내용은 ClickOnce 보안 및 배포를 참조하세요.

WPF 애플리케이션 배포

WPF 애플리케이션에 대한 배포 옵션은 애플리케이션 종류에 따라 달라집니다. 배포 측면에서 WPF는 세 가지 중요한 애플리케이션 종류를 제공합니다.

  • 독립 실행형 애플리케이션.

  • 마크업 전용 XAML 애플리케이션

  • XBAP(XAML 브라우저 애플리케이션)

독립 실행형 애플리케이션 배포

독립 실행형 애플리케이션은 ClickOnce 또는 Windows Installer를 사용하여 배포됩니다. 두 방법 모두 독립 실행형 애플리케이션을 실행하려면 완전 신뢰가 필요합니다. 완전 신뢰는 Windows Installer를 사용하여 배포되는 독립 실행형 애플리케이션에 자동으로 부여됩니다. ClickOnce를 사용하여 배포되는 독립 실행형 애플리케이션에는 완전 신뢰가 자동으로 부여되지 않습니다. 대신 ClickOnce는 사용자가 동의해야 독립 실행형 애플리케이션이 설치되는 보안 경고 대화 상자를 표시합니다. 동의하면 독립 실행형 애플리케이션이 설치되고 완전 신뢰가 부여됩니다. 동의하지 않으면 독립 실행형 애플리케이션이 설치되지 않습니다.

마크업 전용 XAML 애플리케이션 배포

마크업 전용 XAML 페이지는 일반적으로 HTML 페이지와 같은 웹 서버에 게시되며 Internet Explorer를 사용하여 볼 수 있습니다. 마크업 전용 XAML 페이지는 인터넷 영역 권한 설정에 정의된 제한 사항이 있는 부분 신뢰 보안 샌드박스 내에서 실행됩니다. 또한 HTML 기반 웹 애플리케이션과 동등한 보안 샌드박스를 제공합니다.

WPF 애플리케이션의 보안에 대한 자세한 내용은 보안을 참조하세요.

마크업 전용 XAML 페이지는 XCopy 또는 Windows Installer를 사용하여 로컬 파일 시스템에 설치할 수 있습니다. 이러한 페이지는 Internet Explorer 또는 Windows 탐색기를 사용하여 볼 수 있습니다.

XAML에 대한 자세한 내용은 WPF의 XAML을 참조하세요.

XAML 브라우저 애플리케이션 배포

Warning

XBAP를 사용하려면 Internet Explorer 및 이전 버전의 Firefox와 같은 레거시 브라우저가 작동해야 합니다. 이러한 구형 브라우저는 일반적으로 Windows 10 및 Windows 11에서 지원되지 않습니다. 최신 브라우저는 보안 위험으로 인해 XBAP 앱에 필요한 기술을 더 이상 지원하지 않습니다. XBAP를 사용하도록 설정하는 플러그 인은 더 이상 지원되지 않습니다. 자세한 내용은 WPF XBAP(브라우저 호스팅 애플리케이션)에 대한 질문과 대답을 참조하세요.

XBAP는 배포하려면 다음과 같은 파일 세 개가 필요한 컴파일된 애플리케이션입니다.

  • ApplicationName.exe: 실행 가능한 어셈블리 애플리케이션 파일입니다.

  • ApplicationName.xbap: 배포 매니페스트입니다.

  • ApplicationName.exe.manifest: 애플리케이션 매니페스트입니다.

참고

배포 및 애플리케이션 매니페스트에 대한 자세한 내용은 WPF 애플리케이션 만들기를 참조하세요.

이러한 파일은 XBAP가 빌드될 때 생성됩니다. 자세한 내용은 방법: 새 WPF 브라우저 애플리케이션 프로젝트 만들기를 참조하세요. 마크업 전용 XAML 페이지처럼 XBAP는 일반적으로 웹 서버에 게시되고 Internet Explorer를 사용하여 볼 수 있습니다.

XBAP는 배포 기술 중 하나를 사용하여 클라이언트에 배포할 수 있습니다. 그러나 다음과 같은 기능을 제공하는 ClickOnce가 권장됩니다.

  1. 새 버전이 게시될 때 자동 업데이트.

  2. 완전 신뢰로 실행되는 XBAP에 대한 권한 상승.

기본적으로 ClickOnce는 .deploy 확장명을 사용하여 애플리케이션 파일을 게시합니다. 그러면 문제가 될 수 있지만 사용하지 않도록 설정할 수 있습니다. 자세한 내용은 ClickOnce 배포 시 서버 및 클라이언트 구성 문제를 참조하세요.

XBAP(XAML 브라우저 애플리케이션) 배포에 대한 자세한 내용은 WPF XAML 브라우저 애플리케이션 개요를 참조하세요.

.NET Framework 설치

WPF 애플리케이션을 실행하려면 Microsoft .NET Framework가 클라이언트에 설치되어 있어야 합니다. Internet Explorer는 WPF 브라우저에서 호스팅되는 애플리케이션이 표시될 때 클라이언트가 .NET Framework와 함께 설치되었는지 여부를 자동으로 감지합니다. .NET Framework가 설치되어 있지 않으면 Internet Explorer는 사용자에게 설치하라는 메시지를 표시합니다.

.NET Framework가 설치되어 있는지 여부를 감지하기 위해 Internet Explorer에는 .xaml, .xps, .xbap 및 .application 확장명을 사용하는 콘텐츠 파일에 대한 대체 MIME(Multipurpose Internet Mail Extensions) 처리기로 등록된 부트스트래퍼 애플리케이션이 포함되어 있습니다. 이러한 파일 형식으로 이동하고 .NET Framework가 클라이언트에 설치되어 있지 않으면 부트스트래퍼 애플리케이션에서 설치 권한을 요청합니다. 권한을 제공하지 않을 경우 .NET Framework와 애플리케이션이 모두 설치되지 않습니다.

권한이 부여되면 Internet Explorer는 Microsoft BITS(Background Intelligent Transfer Service)를 사용하여 .NET Framework를 다운로드하고 설치합니다. .NET Framework를 설치하고 나면 원래 요청한 파일이 새 브라우저 창에서 열립니다.

자세한 내용은 .NET Framework 및 애플리케이션 배포를 참조하세요.

참고 항목