Upgrade 테이블
Upgrade 테이블에는 주요 업그레이드 진행 중에 필요한 정보가 포함되어 있습니다. 설치 관리자의 업그레이드 기능을 완전히 사용하도록 설정하려면 모든 패키지에 UpgradeCode 속성과 Upgrade 테이블이 있어야 합니다. Upgrade 테이블의 각 레코드는 업그레이드의 영향을 받는 제품 집합을 식별하는 데 사용되는 업그레이드 코드, 제품 버전 및 언어 정보를 특유의 방식으로 조합하여 제공합니다. FindRelatedProducts 작업이 시스템에 설치되어 업그레이드의 영향을 받는 제품을 검색하면 ActionProperty 열에 지정된 속성에 해당 제품 코드를 추가합니다. RemoveExistingProducts 작업 및 MigrateFeatureStates 작업은 ActionProperty 열에 나열된 제품만 제거하거나 마이그레이션합니다.
Upgrade 테이블에는 다음 표에 표시된 열이 포함되어 있습니다.
Column | 형식 | 키 | Nullable |
---|---|---|---|
UpgradeCode | GUID | Y | N |
VersionMin | Text | Y | Y |
VersionMax | Text | Y | Y |
언어 | Text | Y | Y |
특성 | 정수 | Y | N |
제거 | Formatted | N | Y |
ActionProperty | 식별자 | N | N |
열
-
UpgradeCode
-
이 열의 UpgradeCode 속성은 FindRelatedProducts 작업으로 검색할 모든 제품의 업그레이드 코드를 지정합니다.
-
VersionMin
-
FindRelatedProducts 작업에서 검색한 제품 버전 범위에서 하한에 해당하는 버전입니다. 범위에 VersionMin이 포함되도록 특성에 msidbUpgradeAttributesVersionMinInclusive를 입력합니다. VersionMin이 빈 문자열(“”)과 같은 경우 0과 동일하게 평가됩니다. VersionMin이 null인 경우 FindRelatedProducts는 msidbUpgradeAttributesVersionMinInclusive를 무시하고 모든 이전 버전을 검색합니다. VersionMin과 VersionMax는 둘 다 null이어서는 안 됩니다.
VersionMin은 ProductVersion 속성에 설명된 대로 유효한 제품 버전이어야 합니다. Windows Installer는 제품 버전의 처음 세 필드만 사용합니다. 제품 버전에 네 번째 필드를 포함하면 설치 관리자가 네 번째 필드를 무시합니다.
-
VersionMax
-
FindRelatedProducts 작업으로 검색된 제품 버전 범위에서 상한에 해당하는 버전입니다. 범위에 VersionMax이 포함되도록 특성에 msidbUpgradeAttributesVersionMaxInclusive를 입력합니다. VersionMax가 빈 문자열(“”)인 경우 0과 동일하게 평가됩니다. VersionMax가 null인 경우 FindRelatedProducts는 msidbUpgradeAttributesVersionMaxInclusive를 무시하고 VersionMin 및 msidbUpgradeAttributesVersionMinInclusive에 지정된 하한보다 크거나 같은 모든 제품 버전을 검색합니다. VersionMin과 VersionMax는 둘 다 null이어서는 안 됩니다.
VersionMax는 ProductVersion 속성에 설명된 대로 유효한 제품 버전이어야 합니다. Windows Installer는 제품 버전의 처음 세 필드만 사용합니다. 제품 버전에 네 번째 필드를 포함하면 설치 관리자가 네 번째 필드를 무시합니다.
-
Language
-
FindRelatedProducts로 검색한 언어 집합입니다. LANGID(숫자 언어 식별자) 목록을 쉼표로 구분하여 입력합니다. 특성에 msidbUpgradeAttributesLanguagesExclusive를 입력하여 목록에 나열된 언어를 제외한 모든 언어를 검색합니다. 언어가 null이거나 빈 문자열(“”)인 경우 FindRelatedProducts는 msidbUpgradeAttributesLanguagesExclusive를 무시하고 모든 언어를 검색합니다.
-
Attributes
-
이 열에는 Upgrade 테이블의 특성을 지정하는 비트 플래그가 포함되어 있습니다.
비트 플래그 이름 Decimal 16진수 attribute msidbUpgradeAttributesMigrateFeatures 1 0x001 MigrateFeatureStates 작업에 논리를 사용하도록 설정하여 기능 상태를 마이그레이션합니다. msidbUpgradeAttributesOnlyDetect 2 0x002 제품 및 애플리케이션을 검색하지만 제거하지는 않습니다. msidbUpgradeAttributesIgnoreRemoveFailure 4 0x004 제품 또는 애플리케이션을 제거하지 못하더라도 설치를 계속합니다. msidbUpgradeAttributesVersionMinInclusive 256 0x100 VersionMin의 값을 포함하여 버전 범위를 검색합니다. msidbUpgradeAttributesVersionMaxInclusive 512 0x200 VersionMax의 값을 포함하여 버전 범위를 검색합니다. msidbUpgradeAttributesLanguagesExclusive 1024 0x400 Language 열에 나열된 언어를 제외한 모든 언어를 검색합니다. -
Remove
-
설치 관리자는 REMOVE 속성을 이 열에 지정된 기능으로 설정합니다. 제거할 기능은 런타임에 결정할 수 있습니다. 이 필드에 입력된 Formatted 문자열은 쉼표로 구분된 기능 이름 목록으로 평가되어야 합니다. 예: [Feature1],[Feature2],[Feature3] 필드에 빈 문자열(“”)로 평가되는 서식 지정 텍스트가 포함되어 있으면 아무 기능도 제거되지 않습니다. 설치 관리자는 Remove 필드가 비어 있는 경우에만 REMOVE=ALL을 설정합니다. 빈 문자열과 빈 필드의 차이점에 유의하세요. 필드가 비어 있으면 null입니다.
-
ActionProperty
-
FindRelatedProducts 작업이 시스템에 설치되어 있는 관련 제품을 검색하면 이 필드에 지정된 속성에 해당 제품 코드를 추가합니다. 이 열에 지정된 속성은 퍼블릭 속성이어야 하며 패키지 작성자는 SecureCustomProperties 속성에 속성을 추가해야 합니다. Upgrade 테이블의 각 행에는 고유한 ActionProperty 값이 있어야 합니다. FindRelatedProducts 작업 이후 이 속성의 값은 시스템에서 검색되고 세미콜론(;)으로 구분된 목록 제품 코드입니다.
유효성 검사