사용자 지정 필수 구성 요소 추가

업데이트: 2007년 11월

부트스트래퍼는 Windows Installer 파일 또는 실행 가능한 프로그램으로 패키지된 거의 모든 재배포 가능 구성 요소를 부트스트랩하도록 구성할 수 있는 일반 설치 관리자입니다. 부트스트래퍼는 구성 요소 설치를 관리하기 위해 부트스트래퍼에 필요한 모든 메타데이터를 지정하는 간단한 XML 매니페스트 집합을 통해 프로그래밍되며, 응용 프로그램에서 사용해야 하는 Windows Installer나 ClickOnce 같은 설치 관리자 기술을 지정하지 않습니다.

사용자가 Setup.exe를 시작하면 먼저 설치된 필수 구성 요소가 있는지 검색됩니다. 필수 구성 요소가 하나라도 없는 경우 부트스트래퍼는 이러한 구성 요소와 해당 사용권 계약 내용이 들어 있는 설치 대화 상자를 표시합니다. 모든 필수 구성 요소가 검색되면 부트스트래퍼는 응용 프로그램 설치 관리자를 시작합니다.

사용자가 계약에 동의하면 다운로드 및 설치 프로세스가 시작됩니다. 필수 구성 요소가 모두 설치되면 부트스트래퍼는 응용 프로그램의 설치 프로세스를 시작합니다.

사용자 지정 패키지 만들기

재배포 가능 구성 요소의 패키지를 만들 필요가 없는 경우도 있습니다. 일반적으로 파일을 GAC에 설치하거나 전역 등록을 수행하거나 Windows 서비스를 구성해야 하는 공유 구성 요소 또는 시스템 구성 요소의 패키지만 빌드하면 됩니다.

또한 응용 프로그램과 함께 재배포 가능한 파일을 제공할 수 있는지 제어 공급자에게 문의해야 합니다. 종속성이 없는 경우 등 간단한 복사 작업만으로 필수 구성 요소를 재배포할 수 있는 경우에는 패키지를 만들 필요가 없습니다. 파일이 설치 프로그램에 포함되어 있거나 로컬 복사로 설정되어 있는지만 확인하면 됩니다. 속성 보기에 있는 파일의 Copy 속성이 True로 설정되어 있어야 합니다.

또한 설치 관리자를 사용해야 하는지 확인해야 합니다. 설치 관리자를 사용해야 하는 경우 부트스트래퍼 패키지를 사용합니다.

새 구성 요소 패키지를 만들려면 다음을 제공해야 합니다.

  • EXE 또는 MSI 파일 형식의 재배포 가능 구성 요소

  • 패키지의 모든 언어 중립 메타데이터가 포함된 제품 매니페스트(product.xml). 이 매니페스트에는 모든 지역화된 재배포 가능 구성 요소 버전에 공통되는 메타데이터가 포함되어 있습니다.

  • 언어별 메타데이터가 포함된 패키지 매니페스트(package.xml). 이 매니페스트에는 일반적으로 지역화된 오류 메시지가 포함되어 있습니다. 구성 요소에는 지역화된 버전의 해당 구성 요소별로 최소한 하나의 패키지 매니페스트가 있어야 합니다.

매니페스트 파일은 수동으로 만들어야 하며 매니페스트 파일에 포함된 메타데이터는 Windows SDK(소프트웨어 개발 키트)에 포함된 패키지 스키마 요소에 설명된 대로 특정 스키마를 따라야 합니다. 스키마 참조에 대한 자세한 내용은 제품 및 패키지 스키마 참조를 참조하십시오. Visual Studio에 통합된 설치 작성기는 빌드할 때 매니페스트 파일의 유효성을 검사합니다.

이러한 매니페스트에서 패키지 간의 종속성은 DependsOnProduct 스키마 요소를 사용하여 지정합니다.

그런 다음 재배포 가능한 파일과 함께 제품 및 패키지 매니페스트 파일을 Visual Studio가 재배포 가능 패키지를 위해 예약한 특수 폴더에 복사해야 합니다.

\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages

재배포 가능 구성 요소와 해당 매니페스트를 이 폴더로 복사하는 설치 관리자를 작성하려면 다음 레지스트리 키의 Path 값에서 부트스트래퍼 폴더 위치를 프로그래밍 방식으로 결정할 수 있습니다.

HKLM\Software\Microsoft\GenericBootstrapper\3.5

각 재배포 가능 구성 요소는 패키지 디렉터리 아래에 있는 해당 하위 폴더에 표시됩니다. 그런 다음 제품 매니페스트 및 재배포 가능한 파일이 이 하위 폴더로 배치됩니다. 지역화된 버전의 구성 요소는 패키지 매니페스트와 함께 문화권 이름에 따라 이름이 지정된 하위 폴더에 배치됩니다(CultureInfo의 표 참조).

부트스트래퍼 폴더에 복사된 이러한 파일은 개발자가 확인란을 통해 선택할 수 있도록 Visual Studio 필수 구성 요소 대화 상자에 자동으로 표시됩니다.

부트스트래퍼를 사용하여 설치를 구성하는 방법에 대한 자세한 내용은 MSDN 문서 Use the Visual Studio 2005 Bootstrapper to Kick-Start Your Installation을 참조하십시오.

응용 프로그램 설치와 별도로 부트스트래퍼 패키지 재배포 구성 요소 관리

일반적으로 부트스트래퍼 패키지 재배포 가능 구성 요소에 속하는 모든 구성 요소는 이들 구성 요소를 사용하는 응응 프로그램과 별도로 관리해야 합니다. 예를 들어 Acme.DataWidgets.dll 구성 요소가 포함된 Acme.DataWidgets.msi라는 부트스트래퍼 패키지가 있다고 가정합니다. Acme.DataWidgets.dll은 개발 시에 프로젝트의 bindir 디렉터리에 표시되지 않아야 할 뿐 아니라 응용 프로그램의 설치 관리자 패키지에도 배포되지 않아야 합니다.

따라서 동일한 핵심 부트스트래퍼 패키지의 재배포 가능한 설치 관리자를 사용하여 개발 컴퓨터의 GAC에 부트스트래퍼 구성 요소를 설치하는 것이 좋습니다. 이렇게 하면 부트스트래퍼 구성 요소가 개발 시에 프로젝트의 bindir 디렉터리에 복사되지 않습니다. 또한 RedistList 파일이 부트스트래퍼 재배포 가능 패키지에 속하는 모든 어셈블리를 설명하도록 정의하는 것이 좋습니다. 이렇게 하면 부트스트래퍼 구성 요소가 응용 프로그램 배포 프로젝트에 포함되지 않습니다. RedistList 파일은 개발자 컴퓨터에만 설치하면 됩니다.

이를 위해 .NET Framework 디렉터리(\WINDOWS\Microsoft.NET\Framework)의 RedistList 폴더에 재배포 가능 목록을 만듭니다.

재배포 가능 목록은 company_name + component_name + RedistList.xml 형식으로 이름을 지정해야 하는 XML 파일입니다. 따라서 예를 들어 "Acme"에서 만든 "Datawidgets"라는 구성 요소의 경우에는 Acme.DataWidgets.RedistList.xml을 사용합니다. 재배포 가능 목록의 내용 예는 다음과 같습니다.

<?xml version="1.0" encoding="UTF-8"?>
<FileList Redist="Acme.DataWidgets" >
<File AssemblyName="Acme.DataGrid" Version="1.0.0.0" PublicKeyToken="b03f5f7f11d50a3a" Culture="neutral" ProcessorArchitecture="MSIL" InGAC="true" />
</FileList>

필수 구성 요소 대화 상자에 패키지 추가

필수 구성 요소 대화 상자를 사용하면 설치하기 전에 응용 프로그램에 필요한 구성 요소를 선택할 수 있습니다. Visual Studio에는 다양한 표준 필수 구성 요소가 포함되어 있습니다. 그러나 다른 Microsoft 또는 타사 구성 요소를 필수 구성 요소로 추가할 수도 있습니다. 그러기 위해서는 위에 설명한 대로 제품 및 패키지 매니페스트를 작성해야 합니다.

필수 구성 요소 대화 상자의 설치할 필수 구성 요소 선택 목록에 설치할 수 있는 필수 구성 요소 패키지가 표시됩니다. 이 목록의 패키지 순서는 매니페스트에 지정된 종속성을 기반으로 하며, 패키지 설치 순서를 지정합니다.

부트스트래퍼에 추가한 일반 패키지는 필수 구성 요소 대화 상자에 MyPackage로 표시됩니다. Visual Studio는 설치할 패키지를 자동으로 선택하지 않습니다.

ClickOnce 프로젝트의 경우 Visual Studio는 설치할 필수 구성 요소 선택에서 기본적으로 .NET Framework 확인란을 선택하여 모든 프로젝트 형식에 대해 .NET Framework를 포함하도록 권장합니다.

Windows Installer 프로젝트에서 현재 프로젝트가 설치 또는 웹 설치 프로젝트인 경우 .NET Framework 확인란이 기본적으로 선택됩니다. 빌드할 때 .NET Framework와 Windows Installer 패키지가 모두 선택되지 않으면 빌드 경고가 표시됩니다.

참고 항목

작업

방법: ClickOnce 응용 프로그램을 사용하여 필수 구성 요소 설치

개념

필수 구성 요소 배포(Visual Studio)

참조

필수 구성 요소 대화 상자

제품 및 패키지 스키마 참조

기타 리소스

https://msdn.microsoft.com/msdnmag/issues/04/10/Bootstrapper/