전이적 구성 요소 사용

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

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

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

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

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

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

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

    참고

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

     

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

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

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

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

참고

특성 열의 전이 비트가 구성 요소에 대해 설정되지 않는 한, 제품의 후속 유지 관리 설치 시 조건 열의 조건문이 False로 평가되더라도 구성 요소는 설치한 후에 사용하도록 설정된 상태로 유지됩니다.

대부분의 경우 애플리케이션에 전이적 구성 요소가 포함된 경우 Windows 설치 관리자는 애플리케이션의 원본이 애플리케이션을 복구하거나 업그레이드해야 합니다. 이러한 경우 원래 장비 제조업체에서 제공하는 시스템 복원 CD-ROM이 작동하지 않으며 애플리케이션에 대한 실제 설치 원본을 제공해야 합니다.