응용 프로그램 배포 필수 구성 요소
응용 프로그램이 성공적으로 설치되고 실행될지 확인하려면 우선 응용 프로그램이 종속된 모든 구성 요소가 이미 대상 컴퓨터에 설치되어 있는지 확인해야 합니다. 예를 들어, Visual Studio를 사용하여 만든 대부분의 응용 프로그램은 .NET Framework에 종속되므로 응용 프로그램을 설치하기 전에 대상 컴퓨터에 올바른 버전의 공용 언어 런타임이 있어야 합니다.
필수 구성 요소 대화 상자에서 이러한 필수 구성 요소를 선택하고 .NET Framework 및 기타 재배포 가능 요소도 함께 설치할 수 있는데, 이를 부트스트래핑이라고 합니다. 그런 다음 Visual Studio는 부트스트래퍼라고도 하는 Windows 실행 프로그램인 Setup.exe를 생성합니다. 부트스트래퍼는 응용 프로그램이 실행되기 전에 이러한 필수 구성 요소를 설치합니다. 필수 구성 요소를 선택하는 방법에 대한 자세한 내용은 필수 구성 요소 대화 상자를 참조하십시오.
각 필수 구성 요소는 부트스트래퍼 패키지입니다. 부트스트래퍼 패키지는 필수 구성 요소를 설치하는 방법을 설명하는 매니페스트 파일이 포함된 디렉터리 및 파일의 그룹입니다. 필수 구성 요소 대화 상자에 응용 프로그램 필수 구성 요소가 나열되지 않으면 사용자 지정 부트스트래퍼 패키지를 만들어 Visual Studio에 추가할 수 있습니다. 그러면 필수 구성 요소 대화 상자에서 필수 구성 요소를 선택할 수 있습니다. 자세한 내용은 부트스트래퍼 패키지 만들기를 참조하십시오.
기본적으로 부트스트래핑은 Visual Studio의 설치 프로젝트를 사용한 Windows Installer 배포와 ClickOnce 배포 모두에 대해 사용됩니다. Windows Installer 배포용으로 생성된 부트스트래퍼는 서명되지 않지만 ClickOnce 배포에서는 부트스트래퍼가 서명됩니다. 구성 요소의 부트스트래핑을 사용하지 않을 수도 있지만, 모든 대상 컴퓨터에 올바른 버전의 구성 요소가 이미 설치되어 있는 경우에만 사용하지 않아야 합니다.
부트스트래핑 및 Windows Installer 배포
Visual Studio의 설치 프로젝트를 사용하여 응용 프로그램을 배포하는 경우 기본 시작 조건이 .NET Framework 4 Client Profile이고 기본 부트스트래퍼 패키지로 .NET Framework 4 Client Profile 및 Windows Installer 3.1이 선택됩니다. 응용 프로그램이 다른 버전의 .NET Framework를 대상으로 하는 경우 필수 구성 요소 대화 상자의 필수 구성 요소를 업데이트해야 합니다. 자세한 내용은 방법: Windows Installer 배포에서 필수 구성 요소 설치를 참조하십시오.
Visual Studio의 설치 프로젝트를 사용하여 부트스트래퍼를 생성하는 경우 Setup.exe가 서명되지 않지만 SignTool.exe를 사용하여 Setup.exe에 서명할 수 있습니다. 자세한 내용은 방법: SignTool.exe를 사용하여 설치 파일에 서명(Windows Installer)을 참조하십시오.
부트스트래핑 및 ClickOnce 배포
클라이언트 컴퓨터에 응용 프로그램을 설치하기 전에 ClickOnce에서는 클라이언트를 검사하여 응용 프로그램 매니페스트에 지정된 특정 요구 사항을 만족하는지 확인합니다. 이러한 요구 사항은 다음과 같습니다.
필요한 최소 버전의 공용 언어 런타임. 이 항목은 응용 프로그램 매니페스트에서 어셈블리 종속성으로 지정됩니다.
응용 프로그램을 실행하는 데 필요한 최소 버전의 Windows 운영 체제. 이 항목은 응용 프로그램 매니페스트에서 <osVersionInfo> 요소를 사용하여 지정됩니다. <dependency> 요소(ClickOnce 응용 프로그램)를 참조하십시오.
GAC(전역 어셈블리 캐시)에 미리 설치해야 하는 모든 어셈블리의 최소 버전. 이 항목은 어셈블리 매니페스트에서 어셈블리 종속성 선언에 의해 지정됩니다.
ClickOnce에서는 누락된 필수 구성 요소를 확인할 수 있고 사용자는 부트스트래퍼를 사용하여 필수 구성 요소를 설치할 수 있습니다. 자세한 내용은 방법: ClickOnce 응용 프로그램을 사용하여 필수 구성 요소 설치를 참조하십시오.
참고
Visual Studio 및 MageUI.exe와 같은 도구에 의해 매니페스트에 생성된 기본값을 변경하려면 텍스트 편집기에서 응용 프로그램 매니페스트를 편집하고 응용 프로그램과 배포 매니페스트 모두에 다시 서명해야 합니다. 자세한 내용은 방법: 응용 프로그램 및 배포 매니페스트에 다시 서명을 참조하십시오.
Visual Studio 및 ClickOnce를 사용하여 응용 프로그램을 배포하는 경우 솔루션의 .NET Framework 버전에 따라 기본적으로 선택되는 부트스트래퍼 패키지가 달라집니다. 그러나 대상 .NET Framework 버전을 변경하는 경우에는 필수 구성 요소 대화 상자의 옵션을 수동으로 업데이트해야 합니다.
대상 .NET Framework |
선택된 부트스트래퍼 패키지 |
---|---|
.NET Framework 4 Client Profile |
.NET Framework 4 Client Profile Windows Installer 3.1 |
.NET Framework 4 |
.NET Framework 4 Windows Installer 3.1 |
ClickOnce 배포를 사용하면 ClickOnce 게시 마법사에서 생성한 Publish.htm 페이지는 응용 프로그램만 설치하는 링크나 응용 프로그램과 부트스트랩된 구성 요소를 모두 설치하는 링크를 가리킵니다.
Visual Studio의 ClickOnce 게시 마법사 또는 게시 페이지를 사용하여 부트스트래퍼를 생성하는 경우 Setup.exe가 자동으로 서명됩니다. 그러나 고객의 인증서를 사용하여 부트스트래퍼에 서명하려는 경우에는 파일 서명을 나중에 할 수 있습니다. 자세한 내용은 방법: SignTool.exe를 사용하여 설치 파일에 서명(Windows Installer)을 참조하십시오.
부트스트래핑 및 MSBuild
Visual Studio를 사용하지 않고 명령줄에서 응용 프로그램을 컴파일할 경우 MSBuild(Microsoft Build Engine) 작업을 사용하여 ClickOnce 부트스트래핑 응용 프로그램을 만들 수 있습니다. 자세한 내용은 GenerateBootstrapper 작업을 참조하십시오.
부트스트래핑을 사용하는 대신 Microsoft SMS(Systems Management Server)와 같은 전자 소프트웨어 배포 시스템을 사용하여 구성 요소를 사전 배포할 수도 있습니다.
부트스트래퍼(Setup.exe) 명령줄 인수
Visual Studio에서 생성된 Setup.exe 및 MSBuild 작업은 다음과 같은 작은 명령줄 인수 집합을 지원합니다. 이러한 인수 집합을 벗어나서 부트스트래핑 응용 프로그램에 제공한 인수는 응용 프로그램 설치 관리자에게 전달됩니다.
부트스트래퍼 옵션을 변경하는 경우 서명되지 않은 부트스트래퍼를 변경한 다음 부트스트래퍼 파일 서명을 나중에 해야 합니다. 자세한 내용은 방법: SignTool.exe를 사용하여 설치 파일에 서명(Windows Installer) 또는 방법: SignTool.exe를 사용하여 설치 파일에 서명(ClickOnce)을 참조하십시오.
명령줄 인수 |
설명 |
---|---|
-?, -h, -help |
도움말 대화 상자를 표시합니다. |
-url, -componentsurl |
이 설정에 대한 저장 URL 및 구성 요소 URL을 표시합니다. |
-url=location |
Setup.exe가 ClickOnce 응용 프로그램을 찾을 URL을 설정합니다. |
-componentsurl=location |
Setup.exe가 .NET Framework와 같은 종속성을 찾을 URL을 설정합니다. |
-homesite=true|false |
true이면 공급업체 사이트의 원하는 위치에서 종속성을 다운로드합니다. 이로 인해 -componentsurl 설정이 재정의됩니다. false이면 -componentsurl에 지정된 URL에서 종속성을 다운로드합니다. |
운영 체제 지원
제한된 기능과 낮은 비용의 유지 관리 서버 환경을 제공하는 Windows Server 2008 Server Core 또는 Windows Server 2008 R2 Server Core에서는 Visual Studio 부트스트래퍼가 지원되지 않습니다. 예를 들어 Server Core 설치 옵션은 .NET Framework 3.5 Server Core 프로필만 지원하므로 전체 .NET Framework에 의존하는 Visual Studio 기능은 실행될 수 없습니다.