부트스트래퍼 패키지 만들기
설치 프로그램은 Windows Installer(.msi) 파일 및 실행 가능한 프로그램 등의 재배포 가능 구성 요소를 검색하고 설치하도록 구성할 수 있는 일반 설치 관리자입니다. 이 설치 관리자를 부트스트래퍼라고도 합니다. 부트스트래퍼는 구성 요소 설치를 관리하기 위한 메타데이터를 지정하는 XML 매니페스트 집합을 통해 프로그래밍됩니다.
부트스트래퍼는 먼저 필수 구성 요소가 이미 설치되어 있는지 여부를 검색합니다. 필수 구성 요소가 설치되어 있지 않으면 부트스트래퍼에서는 먼저 사용권 계약을 표시합니다. 그런 다음 최종 사용자가 사용권 계약에 동의한 후 필수 구성 요소 설치가 시작됩니다. 모든 필수 구성 요소가 검색되면 부트스트래퍼는 응용 프로그램 설치 관리자를 시작합니다.
사용자 지정 패키지 만들기
Bootstrapper Manifest Generator를 사용하여 부트스트래퍼 패키지를 기술하는 매니페스트를 만들 수 있습니다. 또는 Visual Studio에서 XML 편집기를 사용하여 매니페스트를 생성할 수도 있습니다. 자세한 내용은 방법: 패키지 매니페스트 만들기 및 방법: 제품 매니페스트 만들기를 참조하십시오. 부트스트래퍼 패키지를 만드는 방법에 대한 예제를 보려면 연습: 사용자 지정 부트스트래퍼를 만들어 개인 정보 취급 방침 프롬프트 표시를 참조하십시오.
부트스트래퍼 패키지를 만들려면 재배포 가능 구성 요소를 EXE 또는 MSI 파일 형식으로 Bootstrapper Manifest Generator에 제공해야 합니다. 그러면 Bootstrapper Manifest Generator에서 다음 파일을 만듭니다.
패키지의 모든 언어 중립 메타데이터가 포함된 제품 매니페스트(product.xml). 이 매니페스트에는 모든 지역화된 재배포 가능 구성 요소 버전에 공통되는 메타데이터가 포함되어 있습니다.
언어별 메타데이터가 포함된 패키지 매니페스트(package.xml). 이 매니페스트에는 일반적으로 지역화된 오류 메시지가 포함되어 있습니다. 구성 요소에는 지역화된 버전의 해당 구성 요소별로 최소한 하나의 패키지 매니페스트가 있어야 합니다.
이러한 파일이 만들어지면 제품 매니페스트 파일을 사용자 지정 부트스트래퍼의 이름이 지정된 폴더에 배치합니다. 패키지 매니페스트 파일은 로캘 이름이 지정된 폴더에 배치되어야 합니다. 예를 들어, 패키지 매니페스트 파일이 영어 재배포용일 경우 해당 파일을 en이라는 이름의 폴더에 배치합니다. 이 프로세스를 각 로캘(일본어의 경우 ja, 독일어의 경우 de)별로 반복합니다. 최종적인 사용자 지정 부트스트래퍼 패키지의 폴더 구조는 다음과 같을 수 있습니다.
CustomBootstrapperPackage
product.xml
CustomBootstrapper.msi
de
eula.rtf
package.xml
en
eula.rtf
package.xml
ja
eula.rtf
package.xml
끝으로, 재배포 가능 파일을 부트스트래퍼 폴더 위치로 복사합니다. 자세한 내용은 방법: 지역화된 부트스트래퍼 패키지 만들기를 참조하십시오.
\Program Files\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages
부트스트래퍼 폴더 위치는 다음 레지스트리 키의 Path 값을 통해 확인할 수도 있습니다.
HKLM\Software\Microsoft\GenericBootstrapper\4.0
각 재배포 가능 구성 요소는 패키지 디렉터리 아래에 있는 해당 하위 폴더에 표시됩니다. 제품 매니페스트 및 재배포 가능한 파일은 이 하위 폴더로 배치됩니다. 지역화된 버전의 구성 요소 및 패키지 매니페스트는 문화권 이름에 따라 이름이 지정된 하위 폴더에 배치됩니다. 문화권 이름에 대한 자세한 내용은 Localization 속성에 있는 표를 참조하십시오.
이러한 파일이 부트스트래퍼 폴더로 복사되면 Visual Studio 필수 구성 요소 대화 상자에서 해당 부트스트래퍼 패키지가 자동으로 표시됩니다. 사용자 지정 부트스트래퍼 패키지가 나타나지 않으면 필수 구성 요소 대화 상자를 닫았다가 다시 엽니다. 자세한 내용은 필수 구성 요소 대화 상자를 참조하십시오.
다음 표는 부트스트래퍼에서 자동으로 채우는 속성을 보여 줍니다.
Property |
설명 |
---|---|
ApplicationName |
응용 프로그램의 이름입니다. |
ProcessorArchitecture |
실행 파일의 대상이 되는 플랫폼의 프로세서 및 워드 당 비트 수입니다. 값은 다음과 같습니다.
|
Microsoft Windows 95, Windows 98 또는 Windows ME 운영 체제의 버전 번호. 버전 구문은 주.부.서비스 팩입니다. |
|
Windows NT, Windows 2000, Windows XP, Windows Vista, Windows Server 2008 또는 Windows 7 운영 체제의 버전 번호. 버전 구문은 주.부.서비스 팩입니다. |
|
설치 중에 실행되는 Windows Installer 어셈블리(msi.dll)의 버전 |
|
이 속성은 사용자에게 관리자 권한이 있는지 여부를 설정합니다. 값은 true 또는 false입니다. |
|
InstallMode |
설치 모드는 어느 위치에서 구성 요소가 설치되어야 하는지 나타냅니다. 값은 다음과 같습니다.
|
응용 프로그램 설치에서 재배포 가능 요소 분리
재배포 가능 파일이 설치 프로젝트에서 배포되지 않도록 할 수 있습니다. 이렇게 하려면 .NET Framework 디렉터리의 RedistList 폴더에 재배포 가능 목록을 만듭니다.
%ProgramFiles%\Microsoft.NET\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>
참고 항목
작업
방법: ClickOnce 응용 프로그램을 사용하여 필수 구성 요소 설치
참조
기타 리소스
Use the Visual Studio 2005 Bootstrapper to Kick-Start Your Installation