MsiPatchSequence 테이블

MsiPatchSequence 테이블에는 설치 관리자가 다른 모든 패치와 관련된 소규모 업데이트 패치의 적용 시퀀스를 결정하는 데 필요한 모든 정보가 포함되어 있습니다. 테이블은 패치의 변환이 아닌 패치 파일의 데이터베이스에 있어야 합니다. 설치 관리자는 주요 업그레이드 패치를 적용할 때 이 테이블을 무시합니다. 부 업그레이드 패치를 적용할 때 설치 관리자는 이 테이블만 사용하여 시퀀싱하지 않아야 하는 대체된 패치를 식별합니다.

MsiPatchSequence 테이블에는 다음과 같은 열이 있습니다.

Column 형식 Nullable
PatchFamily 식별자 Y N
ProductCode GUID Y Y
시퀀스 버전 N N
특성 정수 N Y

 

PatchFamily

패치가 이 필드에 명명된 패치 패밀리의 멤버임을 지정합니다. 동일한 제품 버전을 대상으로 하는 동일한 패치 패밀리의 패치는 Sequence 열의 값을 기준으로 정렬됩니다. 패치 패밀리 내의 패치는 증가하는 시퀀스 순서대로 대상 제품에 적용됩니다. PatchFamily는 대체할 패치를 결정하는 데도 사용됩니다. 패치는 여러 행에 나열될 수 있으며 둘 이상의 제품에 적용되거나 여러 수정 사항이 포함된 경우 여러 패치 패밀리에 속할 수 있습니다.

Windows Installer는 PatchFamily 값을 다른 PatchFamily 값에 대한 같음 여부 비교 이외의 방식으로 해석하지 않습니다. PatchFamily 값은 패치 집합이 대상으로 하는 ProductCode 내에서 고유해야 합니다. 복잡한 패치 시나리오에서 PatchFamily 식별자는 전역적으로 고유해야 할 수 있습니다.

ProductCode

이 필드의 값은 선택 사항입니다. 이 필드에 제품 코드 GUID를 입력하고 패치가 지정된 제품에 적용되는 경우 해당 패치는 정렬되어 지정된 PatchFamily의 멤버로 적용됩니다. 이 필드에 제품 코드 GUID를 입력하고 ProductCode에서 지정한 제품에 패치가 적용되지 않는 경우 이 행은 무시됩니다. ProductCode의 값이 NULL인 경우 패치는 제품 코드에 관계없이 패치의 모든 대상에 대해 정렬되어 PatchFamily의 멤버로 적용됩니다.

패치에는 동일한 PatchFamily에 여러 행이 있고 패치가 대상으로 하는 각 제품에 대해 다른 ProductCode가 있을 수 있습니다. PatchFamily에 대한 한 행은 ProductCode에 대해 NULL을 지정할 수 있습니다. 대상 제품이 NULL 이외의 ProductCode가 있는 행과 일치하는 경우 설치 관리자는 일치하는 행을 사용하고 NULL ProductCode가 있는 행을 무시합니다. 지정된 제품 코드가 대상과 일치하지 않는 경우 패치는 제품 코드에 관계없이 패치의 모든 대상에 대해 정렬되어 PatchFamily의 멤버로 적용됩니다.

Sequence

Sequence 열의 값은 지정된 PatchFamily 내에서 이 패치의 시퀀스를 지정합니다. Sequence의 값은 버전 데이터 형식으로 표현됩니다. 값에는 1개에서 4개의 필드가 포함되며 각 필드의 범위는 0에서 65535 사이입니다. PatchFamily의 멤버는 증가하는 시퀀스 값의 순서대로 정렬되어 대상 제품에 적용됩니다. 예를 들어 값이 1, 1.1, 1.2, 2.01, 2.01.1, 2.01.1.1과 같이 증가합니다.

Attributes

msidbPatchSequenceSupersedeEarlier 특성이 행에 있으면 소규모 업데이트 패치가 동일한 PatchFamily에서 Sequence 값이 더 적은 모든 패치에서 제공하는 업데이트를 대체함을 나타냅니다. 이 패치에는 지정된 PatchFamily의 이전 패치에서 제공된 모든 수정 사항이 포함되어 있습니다. 이 특성은 이 패치가 모든 경우에 이전 패치를 대체한다는 것을 의미하지는 않는데, 이전 패치가 여러 패치 패밀리에 속할 수 있기 때문입니다.

소규모 업데이트 패치는 어떤 상황에서든, msidbPatchSequenceSupersedeEarlier가 설정된 경우에도 부 업그레이드 또는 주요 업그레이드 패치를 대체할 수 없습니다.

속성 의미
0x00 단순한 시퀀싱 값을 나타냅니다.
msidbPatchSequenceSupersedeEarlier 0x01 이 제품군의 이전 패치를 대체하는 패치를 나타냅니다.

 

유효성 검사

ICE03
ICE06

Windows Installer 2.0 이하에서 지원되지 않음