ClickOnce 배포 개요

업데이트: 2007년 11월

ClickOnce는 사용자와의 최소 상호 작용을 통해 설치하고 실행할 수 있는 배포 기술로, 자동으로 업데이트되는 Windows 기반 응용 프로그램을 사용할 수 있게 합니다. ClickOnce 배포는 배포와 관련된 다음과 같은 세 가지 주요 문제를 극복합니다.

  • 응용 프로그램 업데이트의 어려움. Microsoft Windows Installer 배포에서는 응용 프로그램이 업데이트될 때마다 전체 응용 프로그램을 다시 설치해야 합니다. ClickOnce 배포에서는 업데이트를 자동으로 제공할 수 있습니다. 응용 프로그램에서 변경된 부분만 다운로드된 다음 새 side-by-side 폴더에서 업데이트된 전체 응용 프로그램이 다시 설치됩니다.

  • 사용자 컴퓨터에 대한 영향. Windows Installer 배포의 경우 응용 프로그램은 많은 경우 공유 구성 요소에 의존하지만 ClickOnce 배포의 경우 각 응용 프로그램은 독립적이며 다른 응용 프로그램과 충돌할 수 없습니다.

  • 보안 권한. Windows Installer 배포의 경우 관리 권한이 필요하고 제한된 사용자 설치만 허용되지만, ClickOnce 배포의 경우 관리 권한이 없는 사용자가 설치하고 응용 프로그램에 필요한 코드 액세스 보안 권한만 부여할 수 있습니다.

과거 이러한 문제로 인해 개발자는 쉽게 설치하기 위해 Windows Forms의 풍부한 인터페이스와 응답성을 포기하면서 Windows 기반 응용 프로그램 대신 웹 응용 프로그램을 만들어야 했습니다. ClickOnce를 사용하여 배포한 응용 프로그램에서는 두 기술을 모두 가장 적합하게 사용할 수 있습니다.

ClickOnce 응용 프로그램의 정의

간단히 말해 ClickOnce 응용 프로그램은 ClickOnce 기술을 사용하여 게시하는 Windows Presentation Foundation, Windows Forms 또는 콘솔 응용 프로그램입니다. ClickOnce 응용 프로그램은 웹 페이지, 네트워크 파일 공유 또는 CD-ROM과 같은 미디어를 통해 게시할 수 있습니다. ClickOnce 응용 프로그램은 최종 사용자의 컴퓨터에 설치하거나 컴퓨터가 오프라인일 경우에도 로컬로 실행할 수 있고 최종 사용자의 컴퓨터에 영구적으로 설치하지 않고 온라인 전용 모드로 실행할 수도 있습니다. 자세한 내용은 ClickOnce 배포 전략 선택을 참조하십시오.

ClickOnce 응용 프로그램은 자동으로 업데이트할 수 있으며, 사용할 수 있는 최신 버전을 확인하여 자동으로 업데이트된 파일로 대체합니다. 개발자는 업데이트 동작을 지정할 수 있으며, 네트워크 관리자가 업데이트를 필수로 표시하는 등의 업데이트 전략을 제어할 수도 있습니다. 최종 사용자나 관리자가 업데이트를 이전 버전으로 롤백할 수도 있습니다. 자세한 내용은 ClickOnce 업데이트 전략 선택을 참조하십시오.

ClickOnce 응용 프로그램은 격리되므로 ClickOnce 응용 프로그램을 설치하거나 실행해도 기존 응용 프로그램을 중단할 수 없습니다. ClickOnce 응용 프로그램은 독립적이며, 각 ClickOnce 응용 프로그램은 안전한 사용자별 및 응용 프로그램별 캐시에 설치되고 해당 캐시에서 실행됩니다. 기본적으로 ClickOnce 응용 프로그램은 인터넷이나 인트라넷 보안 영역에서 실행됩니다. 필요한 경우 응용 프로그램에서는 고급 보안 권한을 요청할 수 있습니다. 자세한 내용은 ClickOnce 배포 및 보안을 참조하십시오.

ClickOnce 배포 작동 방식

핵심 ClickOnce 배포 아키텍처는 두 개의 XML 매니페스트 파일인 응용 프로그램 매니페스트 및 배포 매니페스트를 기반으로 합니다.

응용 프로그램 매니페스트는 응용 프로그램 자체에 대해 설명합니다. 여기에는 어셈블리, 응용 프로그램을 구성하는 종속성과 파일, 필수 권한, 업데이트를 사용할 수 있는 위치 등이 포함됩니다. 응용 프로그램 개발자는 Visual Studio 2008의 게시 마법사 또는 Windows SDK(소프트웨어 개발 키트)의 매니페스트 생성 도구(Mage.exe)를 사용하여 응용 프로그램 매니페스트를 작성합니다. 자세한 내용은 방법: ClickOnce 응용 프로그램 게시를 참조하십시오.

배포 매니페스트는 응용 프로그램 배포 방법에 대해 설명합니다. 여기에는 응용 프로그램 매니페스트의 위치 및 클라이언트에서 실행해야 하는 응용 프로그램 버전이 포함됩니다. 관리자는 Windows SDK의 매니페스트 생성 도구(Mage.exe)를 사용하여 배포 매니페스트를 작성합니다.

참고:

Microsoft Visual Studio 2005의 게시 마법사도 배포 매니페스트를 생성합니다.

만들어진 후 배포 매니페스트는 배포 위치에 복사됩니다. 배포 위치는 웹 서버, 네트워크 파일 공유 또는 CD와 같은 미디어가 될 수 있습니다. 응용 프로그램 매니페스트와 모든 응용 프로그램 파일도 배포 매니페스트에 지정된 배포 위치에 복사됩니다. 이 위치는 배포 위치와 같을 수도 있고 다를 수도 있습니다. Microsoft Visual Studio 2005의 게시 마법사를 사용하면 복사 작업이 자동으로 수행됩니다.

참고:

개발자가 관리자인 경우, 즉 배포 매니페스트를 배포할 파일 공유 또는 웹 사이트에 대한 관리자 자격 증명이 있는 경우 이 매니페스트만 있으면 됩니다. 개발자가 관리자가 아닌 경우 관리자는 명령줄 도구를 사용하여 매니페스트를 업데이트하고 서명해야 합니다.

매니페스트를 배포 위치에 배포한 후 최종 사용자는 웹 페이지나 폴더에서 배포 매니페스트 파일을 나타내는 아이콘을 클릭하여 응용 프로그램을 다운로드하고 설치할 수 있습니다. 대부분의 경우 최종 사용자에게는 설치 확인 여부를 묻는 단순한 대화 상자가 표시된 후 설치가 진행되고 응용 프로그램은 추가 개입 없이 시작됩니다. 또한 응용 프로그램에 고급 권한이 필요한 경우 이 대화 상자에서는 설치를 진행하기 전에 사용자에게 권한을 부여할지 여부를 묻습니다.

응용 프로그램이 시작 메뉴 및 제어판의 프로그램 추가/제거 그룹에 추가됩니다. 다른 배포 기술과 달리 Program Files 폴더, 레지스트리 또는 데스크탑에는 아무 것도 추가되지 않으며 설치하는 데 관리 권한이 필요합니다.

참고:

또한 응용 프로그램이 시작 메뉴 및 프로그램 추가/제거 그룹에 추가되지 않도록 하여 응용 프로그램이 웹 응용 프로그램처럼 동작하도록 만들 수 있습니다. 자세한 내용은 ClickOnce 배포 전략 선택을 참조하십시오.

응용 프로그램 개발자가 업데이트된 버전의 응용 프로그램을 만들면 개발자는 새 응용 프로그램 매니페스트를 생성하고 파일을 배포 위치에 복사합니다. 배포 위치는 일반적으로 원래 응용 프로그램 배포 폴더의 형제 폴더입니다. 관리자는 배포 매니페스트를 업데이트하여 새 응용 프로그램 버전의 위치를 지정합니다.

참고:

Microsoft Visual Studio 2005의 게시 마법사를 사용하여 이러한 단계를 수행할 수 있습니다.

배포 매니페스트에서는 배포 위치 및 응용 프로그램이 업데이트된 버전을 확인하는 업데이트 위치(웹 페이지 또는 네트워크 파일 공유)가 들어 있습니다. ClickOnce게시 속성을 사용하여 응용 프로그램이 업데이트를 확인하는 시기 및 빈도를 지정합니다. 업데이트 동작은 배포 매니페스트에서 지정하거나 ClickOnce API를 사용하여 응용 프로그램의 사용자 인터페이스에서 사용자 선택으로 제공할 수 있습니다. 또한 게시 속성을 사용하여 업데이트를 필수로 만들거나 이전 버전으로 롤백할 수 있습니다. 자세한 내용은 ClickOnce 업데이트 전략 선택을 참조하십시오.

ClickOnce 및 Windows Installer 비교 표

다음 표에서는 ClickOnce 배포와 Windows Installer 배포의 기능을 비교합니다.

기능

ClickOnce

Windows Installer

자동 업데이트1

사후 설치 롤백2

아니요

웹에서 업데이트

아니요

공유 구성 요소 또는 다른 응용 프로그램에 영향을 주지 않음

아니요

보안 권한 부여됨

응용 프로그램에 필요한 권한만 부여(보다 안전함)

기본적으로 완전 신뢰 부여(덜 안전함)

필요한 보안 권한

인터넷 또는 인트라넷 영역(CD-ROM 설치의 경우 완전 신뢰)

Administrator

응용 프로그램 및 배포 매니페스트 서명

아니요

설치 사용자 인터페이스

단일 프롬프트

Multipart 마법사

요청 시 어셈블리 설치

아니요

공유 파일 설치

아니요

드라이버 설치

아니요

예(사용자 지정 작업 사용)

전역 어셈블리 캐시에 설치

아니요

여러 사용자를 위한 설치

아니요

시작 메뉴에 응용 프로그램 추가

시작 그룹에 응용 프로그램 추가

아니요

즐겨찾기 메뉴에 응용 프로그램 추가

아니요

파일 형식 등록

아니요

시간 레지스트리 액세스 설치3

제한됨

이진 파일 패치

아니요

응용 프로그램 설치 위치

ClickOnce 응용 프로그램 캐시

Program Files 폴더

설명

1. Windows Installer의 경우 응용 프로그램 코드로 프로그래밍 방식 업데이트를 구현해야 합니다.

2. ClickOnce의 경우 프로그램 추가/제거에서 롤백을 사용할 수 있습니다.

3. ClickOnce 배포는 완전 신뢰 권한으로만 HKEY_LOCAL_MACHINE(HKLM)에 액세스할 수 있습니다.

자세한 내용은 배포 전략 선택을 참조하십시오.

참고 항목

작업

방법: ClickOnce 응용 프로그램 게시

개념

ClickOnce 배포 전략 선택

ClickOnce 업데이트 전략 선택

ClickOnce 배포 및 보안

배포 전략 선택

기타 리소스

ClickOnce 배포