다음을 통해 공유


MigrateFeatureStates 작업

MigrateFeatureStates 작업은 업그레이드하는 동안 및 관련 애플리케이션을 통해 새 애플리케이션을 설치할 때 사용됩니다. MigrateFeatureStates는 기존 애플리케이션의 기능 상태를 읽은 다음, 보류 중인 설치에서 이러한 기능 상태를 설정합니다. 이 메서드는 새 기능 트리가 원본에서 크게 변경되지 않은 경우에만 유용합니다.

MigrateFeatureStates 작업은 제품이 처음 설치된 경우에만 실행됩니다. MigrateFeatureStates 작업은 유지 관리 모드 또는 제거 중에 실행되지 않습니다.

MigrateFeatureStates 작업은 업그레이드 테이블 각 레코드를 순서대로 실행하고 각 행의 업그레이드 코드, 제품 버전 및 언어를 시스템에 설치된 모든 제품과 비교합니다. MigrateFeatureStates 작업이 대응을 검색하고 업그레이드 테이블의 특성 열에서 msidbUpgradeAttributesMigrateFeatures 비트 플래그가 설정된 경우 설치 관리자는 제품에 대한 기존 기능 상태를 쿼리하고 새 애플리케이션에서 동일한 기능에 대해 이러한 상태를 설정합니다. 이 작업은 미리 선택된 속성이 설정되지 않은 경우에만 기능 상태를 마이그레이션합니다.

시퀀스 제한

MigrateFeatureStates 작업은 CostFinalize 작업이직후에 와야 합니다. MigrateFeatureStates는 InstallUISequence 테이블InstallExecuteSequence 테이블순서를 지정해야 합니다. InstallUISequence에서 작업이 이미 실행된 경우 설치 관리자는 InstallExecuteSequence에서 MigrateFeatureStates가 실행되지 않도록 방지합니다.

ActionData 메시지

MigrateFeatureSettings는 각 제품에 대한 작업 데이터 메시지를 보냅니다.

발언

둘 이상의 설치된 제품이 기능을 공유하는 경우 해당 기능의 설치 상태가 제품마다 다를 수 있습니다. MigrateFeatureState 작업은 기능 설치 상태를 마이그레이션할 때 다음 우선 순위 순서를 사용합니다. 로컬 실행, 원본에서 실행, 보급 및 제거. 예를 들어 설치된 제품 A에는 INSTALLSTATE_LOCAL 기능 Y가 있을 수 있으며 설치된 제품 B에는 INSTALLSTATE_ABSENT 기능 Y가 있을 수 있습니다. 업그레이드에서 제품 C를 설치하고 기능 Y의 설치 상태를 마이그레이션하는 경우 MigrateFeatureState는 제품 C에서 기능 Y의 설치 상태를 INSTALLSTATE_LOCAL 설정합니다.

제품 업그레이드에 MigrateFeatureStates 작업을 사용하는 방법에 대한 자세한 내용은 향후 주요 업그레이드를 위한 애플리케이션 준비참조하세요.