Share via


Windows Installer 패키지 사용자 지정

Visual Studio의 배포 도구를 사용하여 설치 중에 표시되는 UI(사용자 인터페이스)를 제어할 수 있습니다. 설치 UI를 사용자 지정하여 사용자에게 정보를 표시하거나 사용자로부터 정보를 수집할 수 있습니다.

또한 병합 모듈과 사용자 지정 작업을 사용하여 설치 관리자 패키지를 사용자 지정할 수도 있습니다. 병합 모듈은 공유 구성 요소를 전달하는 데 사용되고, 사용자 지정 작업은 설치 중에 처리할 수 없는 작업을 수행하기 위해 설치 종료 시 코드를 실행하는 데 사용됩니다.

설치 사용자 인터페이스

사용자 인터페이스 편집기는 표시할 대화 상자를 지정하고 사용자 지정하는 데 사용됩니다. 각 사용자 인터페이스 대화 상자는 설치 중에 표시되는 설치 마법사의 각 페이지를 나타냅니다.

사용자 인터페이스 편집기에서 마법사의 목적 소개(환영 대화 상자), 사용자의 설치 디렉터리 지정 허용(설치 폴더 대화 상자), 설치 진행 상황 표시(진행률 대화 상자) 등 일반적인 시나리오를 처리할 수 있는 미리 정의된 다양한 대화 상자를 사용할 수 있습니다. 또한 다양한 사용자 지정 대화 상자를 사용하여 확인란, 옵션 단추, 텍스트 상자 등을 통해 선택 항목을 표시하거나 정보를 수집할 수 있습니다. 자세한 내용은 방법: 사용자 인터페이스 편집기에서 설치 대화 상자 추가 및 제거를 참조하십시오.

참고

Visual Studio 설치 및 배포 프로젝트에서는 사용자가 직접 빌드하는 사용자 지정 대화 상자나 기타 사용자 인터페이스 요소가 지원되지 않습니다. 설치 대화 상자 제한 사항도 참조하십시오.

각 사용자 인터페이스 대화 상자에는 모양을 제어하는 데 사용할 수 있는 속성이 포함되고, 사용자 지정 대화 상자에는 설치 중에 설치 변경 조건을 사용하여 확인할 수 있는 속성이 포함됩니다. 자세한 내용은 사용자 인터페이스 편집기의 속성을 참조하십시오.

병합 모듈

병합 모듈에는 모든 관련 파일, 리소스, 레지스트리 항목 및 설치 논리와 함께 .dll과 같은 구성 요소가 포함됩니다. 병합 모듈은 직접 설치할 수 없고, 대신 설치 관리자에 병합되어 응용 프로그램에 구성 요소의 기능을 제공합니다.

병합 모듈 권장 사항

병합 모듈은 서비스하고 업데이트하기가 어려울 수 있습니다. 병합 모듈이 포함된 설치 프로젝트의 개발자는 병합 모듈 소유자의 협조가 없으면 병합 모듈에 수정 프로그램을 제공할 수 없습니다. 또한 병합 소유자도 최종 사용자 컴퓨터에 업데이트를 직접 보낼 수 없습니다.

대신 Windows Installer와 같이 이러한 기능을 설치 프로그램에 통합할 수 있습니다. 자세한 내용은 응용 프로그램 배포 필수 구성 요소를 참조하십시오.

대상 변경 가능 병합 모듈

기본적으로 병합 모듈의 파일은 모듈 소유자가 지정한 폴더 위치에 설치됩니다. 일부 경우에는 병합 모듈의 사용자가 파일 설치 위치를 결정할 수 있도록 할 수도 있습니다. 예를 들어 병합 모듈의 어셈블리가 여러 응용 프로그램에서 사용되는 경우에는 병합 모듈 사용자가 전역 어셈블리 캐시에 어셈블리가 설치되도록 선택하고, 그렇지 않은 경우에는 응용 프로그램 디렉터리에 어셈블리가 설치되도록 선택할 수 있습니다.

병합 모듈 사용자가 파일의 대상을 다른 위치로 변경할 수 있도록 하려면 파일 시스템 편집기모듈 대상 변경 가능 폴더에 파일을 저장합니다. 실제 병합 모듈이 다른 배포 프로젝트에 추가된 경우, 이 프로젝트를 만든 사람은 병합 모듈에 의해 노출된 모듈 대상 변경 가능 폴더 속성을 설정하여 위치를 선택할 수 있습니다. 모듈 대상 변경 가능 폴더 속성은 동적 속성입니다. 따라서 솔루션 탐색기에서 병합 모듈을 선택한 경우 속성 창에 있는 KeyOutput 노드 아래의 (MergeModuleProperties) 노드에 이 속성이 나타납니다.

참고

파일 시스템 편집기에서 모듈 대상 변경 가능 폴더의 이름을 변경하는 경우 속성의 이름도 함께 변경됩니다. 이 속성은 병합 모듈이 빌드될 때까지 속성 창에 나타나지 않습니다.

사용자 지정 작업

사용자 지정 작업은 설치 중에 처리할 수 없는 작업을 수행하기 위해 설치 종료 시 .dll, .exe 또는 어셈블리 같은 코드를 실행하는 데 사용됩니다. 예를 들어 설치 중에 대상 컴퓨터에서 로컬 데이터베이스를 만들려면 데이터베이스를 만들고 구성하는 실행 파일을 만든 다음 이 실행 파일을 배포 프로젝트에 사용자 지정 작업으로 추가합니다. 자세한 내용은 연습: 설치할 때 사용자 지정 작업을 사용하여 데이터베이스 만들기를 참조하십시오.

Visual Studio의 사용자 지정 작업 편집기를 사용하여 배포 프로젝트에서 사용자 지정 작업을 추가하고 해당 속성을 설정할 수 있습니다. 배포 프로젝트에는 여러 가지 사용자 지정 작업이 포함될 수 있습니다. 자세한 내용은 방법: 사용자 지정 작업 편집기에서 사용자 지정 작업 추가 및 제거를 참조하십시오.

사용자 지정 작업은 설치가 완료된 후에 실행되므로 설치 제어를 위해 사용되는 속성에는 액세스할 수 없습니다. 설치 관리자에서 사용자 지정 작업으로 정보를 전달해야 할 경우에는 CustomActionData 속성을 설정하여 그렇게 할 수 있습니다. 자세한 내용은 연습: 사용자 지정 작업을 사용하여 설치하는 동안 메시지 표시을 참조하십시오.

경고

사용자 지정 작업이 실패하면 전체 설치가 롤백됩니다.

또한 Condition 속성을 사용하여 원하는 사용자 지정 작업에 조건을 지정할 수 있습니다. 이를 통해, 설치 중에 대상 컴퓨터에 존재하는 조건에 따라 서로 다른 사용자 지정 작업을 실행할 수 있습니다. 예를 들어, 대상 컴퓨터의 운영 체제 버전에 따라 서로 다른 사용자 지정 작업을 실행할 수 있습니다. 자세한 내용은 Condition 속성을 참조하십시오.

사용자 지정 작업 권장 사항

사용자 지정 작업을 사용하여 유연한 설치 관리자 패키지를 만들 수 있지만 다양한 최종 사용자 컴퓨터 및 구성에서 문제가 발생할 수 있습니다. 따라서 Install, Uninstall, RollbackCommit 메서드를 구현하는 사용자 지정 작업을 개발해야 합니다. 또한 사용자 지정 작업이 복구, 완화, 제품 업그레이드, 제품 다운그레이드, OS 업그레이드, OS 다운그레이드, 서비스/패치, 참조 횟수 계산 등의 시나리오를 지원할 수 있는지 확인해야 합니다.

사용자 지정 작업 지침에 대한 자세한 내용은 Tao of the Windows Installer, Part 2의 Rule 25를 참조하십시오.

조건부 배포

Visual Studio 배포에서 가장 중요한 기능 중 하나는 설치에 대한 조건을 설정하여 경우에 따라 설치를 사용자 지정할 수 있다는 것입니다. 조건부 배포를 사용하면 운영 체제 버전에 따라 서로 다른 파일을 설치하거나 기존의 키 값을 기준으로 레지스트리 설정을 사용자 지정하고, 종속 응용 프로그램이 대상 컴퓨터에 설치되어 있지 않은 경우 설치를 중지시킬 수 있습니다.

Visual Studio의 배포 도구에서는 시작 조건과 Condition 속성을 통해 두 가지 방식으로 조건부 배포를 사용할 수 있습니다.

시작 조건

시작 조건은 대상 컴퓨터에서 조건을 확인하고 조건이 맞지 않을 경우 설치를 중지시키기 위해 사용됩니다. 시작 조건을 설정하여 운영 체제 버전, 파일의 존재 유무, 레지스트리 값, Window Installer 구성 요소, 공용 언어 런타임 및 인터넷 정보 서비스를 확인할 수 있습니다. 시작 조건은 시작 조건 편집기에서 지정합니다. 자세한 내용은 배포 시 시작 조건 관리를 참조하십시오.

Condition 속성

파일, 폴더, 레지스트리 항목, 사용자 지정 작업 또는 시작 조건의 Condition 속성은 Windows Installer에 의해 노출되거나 설치 관리자의 다른 요소에 의해 설정된 속성을 확인하는 데 사용됩니다. 사용자 지정 속성은 시작 조건 편집기의 시작 조건, 파일 시스템 편집기의 사용자 지정 폴더 또는 사용자 인터페이스 편집기의 사용자 지정 대화 상자에 대해 지정할 수 있습니다. 사용자 지정 속성을 지정할 때 이름에는 반드시 대문자가 포함되어야 하고, 이미 존재하는 속성 또는 Windows Installer 속성 이름과 충돌해서는 안 됩니다.

조건은 설치 관리자의 다른 요소에 의해 노출되는 Property 속성(예: 파일 검색을 위한 Property 속성) 또는 Windows Installer에 의해 노출되는 속성(예: 운영 체제 버전)이 될 수 있습니다.

자세한 내용은 Condition 속성을 참조하십시오.

조건 부울 연산자

부울 연산자를 사용하여 여러 속성을 확인할 수 있습니다. 자세한 내용은 Windows Installer Conditional Statement Syntax를 참조하십시오.

참고 항목

개념

설치 및 배포 프로젝트

기타 리소스

Visual Studio 설치 관리자 배포