전이적 구성 요소 사용

전이적 구성 요소의 일반적인 용도는 시스템 업그레이드 중에 다시 설치할 제품을 준비하는 것입니다. 설치 패키지 작성자는 시스템 업그레이드 중에 교체되어야 하는 이러한 구성 요소를 전이적 특성이 있는 것으로 지정합니다. 사용자가 나중에 시스템을 업그레이드할 때 제품을 다시 설치해야 합니다. 이 다시 설치 시, 설치 관리자는 전체 제품을 설치할 필요 없이 이전 구성 요소를 제거하고 이후 구성 요소를 설치합니다.

설치 패키지에 두 개의 전이적 구성 요소를 포함하려면

  1. 설치 패키지에 전이적 구성 요소를 모두 포함합니다.

  2. 일반 구성 요소와 동일한 구성 요소 테이블에 두 전이적 구성 요소를 작성합니다. 각 전이적 구성 요소에는 ComponentId 열에 지정된 고유한 GUID가 있어야 합니다.

  3. 각 전이적 구성 요소에 대한 구성 요소 테이블의 특성 열에 msidbComponentAttributesTransitive 비트를 포함합니다. 이 비트가 설정되면 설치 관리자는 재설치 시 Condition 열의 문 값을 재평가합니다.

    값이 이전에 False였으며 True로 변경된 경우 설치 관리자가 구성 요소를 설치합니다.

    값이 이전에 True였으며 False로 변경된 경우 구성 요소에 다른 제품이 클라이언트로 있는 경우에도 설치 관리자가 구성 요소를 제거합니다.

    참고

    전이적 비트가 설정되어 있지 않으면 제품의 후속 유지 관리 설치에서 조건문이 False로 평가되더라도 일단 설치되면 구성 요소는 활성화된 상태로 유지됩니다. 조건은 컴퓨터 상태만을 기반으로 해야 합니다. 사용자 상태 또는 명령줄에 설정된 속성을 기반으로 하는 조건과 함께 사용하지 마세요. 이로 인해 다른 사용자가 사용할 때마다 설치 관리자가 제품 다시 설치를 요구할 수 있기 때문입니다.

     

  4. 첫 번째 전이적 구성 요소의 조건이 False로 변경되면 두 번째 전이적 구성 요소의 조건이 True로 변경되도록 보완 조건식을 제어 테이블의 조건 필드에 입력합니다. 그 결과, 애플리케이션을 다시 설치할 때 첫 번째 구성 요소가 제거되고 두 번째 구성 요소가 설치됩니다.

전이적 구성 요소를 전환하려면 제품을 다시 설치해야 합니다. 따라서 패키지 작성자는 제품을 다시 설치하고 REINSTALLMODE 속성의 모드를 설정하는 방법을 사용자에게 제공해야 합니다. 기본적으로 다시 설치를 트리거하는 세 가지 방법이 있습니다.

  • 전체 UI를 사용하는 패키지를 작성하여 사용자 인터페이스를 통해 다시 설치를 실행하고 구성합니다.
  • msiexec /f를 사용하여 명령줄에서 다시 설치를 실행하고 /f명령줄 옵션 목록에서 모드를 선택합니다.
  • 애플리케이션이 MsiReInstallProduct 또는 MsiReInstallFeature를 호출하도록 합니다.

비트는 컴퓨터 상태에 기반한 조건에서만 사용해야 합니다. 사용자 상태 또는 명령줄에 설정된 속성을 기반으로 하는 조건과 함께 사용하지 마세요. 이로 인해 다른 사용자가 사용할 때마다 설치 관리자가 제품 다시 설치를 요구할 수 있기 때문입니다.

참고

특성 열의 전이적 비트가 구성 요소에 대해 설정되지 않은 경우, 제품의 후속 유지 관리 설치에서 조건 열의 조건문이 False로 평가되더라도 구성 요소는 일단 설치되면 활성화된 상태로 유지됩니다.

대부분의 경우 애플리케이션에 전이적 구성 요소가 포함되어 있으면 Windows Installer가 애플리케이션을 복구하거나 업그레이드하려면 애플리케이션의 원본이 필요합니다. 이런 경우에는 OEM에서 출고한 시스템 복원 CD-ROM이 동작하지 않으며 해당 애플리케이션의 실제 설치 원본을 제공해야 합니다.