주요 업그레이드

주요 업그레이드는 ProductCode 속성을 변경해야 하는 제품의 포괄적인 업데이트입니다.

일반적인 주요 업그레이드는 이전 버전의 애플리케이션을 제거하고 새 버전을 설치합니다. 주요 업그레이드는 기능 구성 요소 트리를 다시 구성할 수 있습니다. 자세한 내용은 ProductCode제품 코드 변경을 참조하세요.

Windows Installer를 사용한 주요 업그레이드 동안 설치 관리자는 사용자의 컴퓨터에서 보류 중인 업그레이드와 관련된 애플리케이션을 검색하고 발견되는 경우 시스템 레지스트리에서 설치된 애플리케이션의 버전을 검색합니다. 그런 다음, 설치 관리자는 업그레이드 데이터베이스의 정보를 사용하여 설치된 애플리케이션을 업그레이드할지 여부를 결정합니다.

설치 관리자 업그레이드 기능을 사용하도록 설정하려면 각 패키지에 UpgradeCode 속성과 Upgrade 테이블이 있어야 합니다. 각 독립 실행형 제품 또는 제품군에는 자체 UpgradeCode가 있어야 합니다. UpgradeCode 사용에 대한 자세한 내용은 UpgradeCode 사용 섹션을 참조하세요. Upgrade 테이블의 각 레코드는 업그레이드의 영향을 받는 제품 세트를 식별하는 데 사용되는 업그레이드 코드, 제품 버전 및 언어 정보를 조합하여 제공합니다. FindRelatedProducts 작업이 영향 받는 제품이 시스템에 설치되었음을 감지하면 Upgrade 테이블의 ActionProperty 열에 있는 속성에 해당 제품 코드를 추가합니다. RemoveExistingProducts 작업MigrateFeatureStates 작업은 ActionProperty 목록에 나열된 제품을 제거하거나 마이그레이션합니다. 또한 패키지 작성자는 향후 주요 업그레이드를 위한 애플리케이션 준비 항목에 설명된 절차를 따를 수 있습니다.

사용자에게 최신 버전의 애플리케이션이 이미 설치되어 있는 경우 주요 업그레이드가 설치되지 않도록 Windows Installer 업그레이드 패키지를 작성할 수 있습니다. 최신 버전을 통해 설치되지 않는 패키지를 작성하는 방법에 대한 자세한 내용은 이전 패키지가 최신 버전을 통해 설치되지 않도록 방지를 참조하세요.

참고

Windows Installer는 제품 버전의 처음 세 필드만 사용합니다. 이러한 필드에 대한 설명은 ProductVersion 속성을 참조하세요. 제품 버전에 네 번째 필드를 포함하면 설치 관리자가 네 번째 필드를 무시합니다.

 

업데이트된 제품에 대한 전체 패키지를 설치하여 주요 업그레이드를 적용하는 권장 방법입니다. 제품을 설치하여 주요 업그레이드를 적용하는 방법에 대한 자세한 내용은 제품을 설치하여 주요 업그레이드 적용을 참조하세요.

제품에 대한 패치 패키지로 적용된 주요 업그레이드는 다른 업데이트를 사용하여 시퀀싱할 수 없으며 제거 가능한 패치가 아닙니다. Windows Installer 패키지에 주요 업그레이드 패치 패키지를 적용하는 방법에 대한 자세한 내용은 제품의 로컬 설치를 패치하여 주요 업그레이드 적용을 참조하세요. 패치 패키지를 사용하여 주요 업그레이드를 적용하는 것은 권장되지 않으며, 대신 전체 제품을 설치하여 주요 업그레이드를 적용하는 것이 좋습니다.

참고

애플리케이션이 사용자별 설치 컨텍스트에 설치된 경우 사용자별 컨텍스트를 사용하여 애플리케이션에 대한 주요 업그레이드도 수행해야 합니다. 애플리케이션이 컴퓨터별 설치 컨텍스트에 설치된 경우 컴퓨터별 컨텍스트를 사용하여 애플리케이션에 대한 주요 업그레이드도 수행해야 합니다. Windows Installer는 설치 컨텍스트에서 주요 업그레이드를 설치하지 않습니다.

 

UPGRADINGPRODUCTCODE 속성을 사용하여 주요 업그레이드를 처리하도록 InstallValidate 이후 시퀀싱되는 사용자 지정 작업을 조건화할 수 있습니다.

  • 제품을 제거하는 동안 사용자 지정 작업을 실행하지만 주요 업그레이드에 의한 제품 제거 중에는 실행하지 않으려면 이 조건을 사용합니다.

    REMOVE="ALL" AND NOT UPGRADINGPRODUCTCODE

  • 주요 업그레이드 중에만 사용자 지정 작업을 실행하려면 이 조건을 사용합니다.

    UPGRADINGPRODUCTCODE