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 작업을 사용하는 방법에 대한 자세한 내용은 향후 주요 업그레이드를 위한 애플리케이션 준비참조하세요.