다음을 통해 공유


Windows Installer를 사용하여 런타임 응용 프로그램 배포

업데이트: 2007년 11월

Microsoft Windows Installer 2.0에서 공용 언어 런타임 어셈블리를 설치 및 관리할 수 있습니다. Windows Installer 패키지의 개발자는 전역 어셈블리 캐시나 특정 응용 프로그램에 대해 격리된 위치에 어셈블리를 설치할 수 있습니다. 응용 프로그램을 격리할 수 있는 이 향상된 기능이야말로 .NET Framework의 중요한 부분입니다. Windows Installer 2.0을 사용하는 패키지 개발에 대한 자세한 내용은 Windows Installer 설명서를 참조하십시오.

Windows Installer에는 공용 언어 런타임 어셈블리를 지원하는 다음과 같은 기능이 있습니다.

  • 전역 어셈블리 캐시에 어셈블리를 설치, 복구 또는 제거합니다.

  • 특정 응용 프로그램에 지정된 전용 위치에 어셈블리를 설치, 복구 또는 제거합니다.

  • 어셈블리의 설치, 복구 또는 제거 실패를 롤백합니다.

  • 전역 어셈블리 캐시에 강력한 이름의 어셈블리를 필요 시 설치합니다.

  • 특정 응용 프로그램에 지정된 전용 위치에 어셈블리를 필요 시 설치합니다.

  • 어셈블리를 패치합니다.

  • 어셈블리를 가리키는 바로 가기 메뉴를 보급합니다.

Windows Installer 패키지를 만든 사람은 MsiAssembly 및 MsiAssemblyName 테이블을 채워서 이 기능을 사용할 수 있습니다.

Windows Installer 2.0에서 어셈블리를 사용하는 방법

Windows Installer는 Microsoft .NET Framework로 빌드된 어셈블리를 하나의 Windows Installer 구성 요소로 취급합니다. Installer의 구성 요소 테이블에 나열된 단일 Windows Installer 구성 요소에 어셈블리를 구성하는 모든 파일이 포함되어야 합니다.

Windows Installer는 Microsoft .NET Framework를 사용하여 전역 어셈블리 캐시에 어셈블리를 설치합니다. 전역 어셈블리 캐시에 어셈블리를 설치할 경우 Installer는 정규 Windows Installer 구성 요소를 설치하는 데 사용한 것과 같은 디렉터리 구조와 파일 버전 관리 규칙을 사용하지 않습니다. 어셈블리는 전역 어셈블리 캐시에 하나의 단위로 추가 및 제거됩니다. 즉, 어셈블리를 구성하는 파일은 언제나 함께 설치되거나 제거됩니다.

Windows Installer에서는 두 단계의 트랜잭션 프로세스를 사용하여 어셈블리를 포함하는 제품을 설치합니다. 그러면 설치 관리자는 실패한 설치를 롤백할 수 있습니다.

전역 어셈블리 캐시에서 어셈블리 제거

Windows Installer는 어셈블리와는 별도로 유지하는 클라이언트 목록을 기반으로 어셈블리를 제거할지 여부를 결정합니다. Windows Installer는 어셈블리의 모든 Windows Installer 클라이언트를 나타내는 하나의 핀 비트를 보관합니다. 어셈블리는 각 클라이언트마다 하나의 핀 비트를 보관합니다. Installer는 첫 번째 Windows Installer 클라이언트의 어셈블리를 고정하고 마지막 Windows Installer 클라이언트가 제거되면 어셈블리 고정을 해제합니다. 그러면 파일이 전역 어셈블리 캐시에서 삭제됩니다.

참고 항목

작업

방법: 간단한 Windows Forms 컨트롤 개발

개념

COM에서 액세스할 수 있도록 응용 프로그램 배포

.NET Framework 응용 프로그램의 배포 시나리오

기타 리소스

.NET Framework 응용 프로그램 배포