Windows Installer 3.0부터 작성자는 MsiPatchSequence 테이블의 패치 패키지 데이터베이스에 패치 시퀀싱 정보를 추가할 수 있습니다. 설치 관리자는 이 정보를 사용하여 설치 패키지에 적용할 수 있는 패치를 결정하고, 최상의 패치 시퀀스를 결정하고, 시스템에 제공되는 순서와 관계없이 일정한 순서로 패치를 설치할 수 있습니다.
Windows Installer 2.0: 지원되지 않습니다. Windows Installer 3.0 이전의 Windows Installer 버전은 MsiPatchSequence 테이블이 포함되어 있는지 여부에 관계없이 시스템에 제공되는 순서대로 패치를 설치합니다.
패치 시퀀싱 기능을 사용하려면 다음이 필요합니다.
- 패치 패키지(.msp 파일)에는 시퀀싱 정보가 포함된 MsiPatchSequence 테이블이 있어야 합니다. 설치 관리자는 MsiPatchSequence 테이블이 없는 패치를 시스템에 제공된 순서대로 설치합니다.
- 패치는 Windows Installer 3.0 이상을 사용하여 설치됩니다.
Windows Installer 버전 3.0에는 애플리케이션이 최상의 패치 시퀀스를 결정하는 데 사용할 수 있는 다음과 같은 함수가 있습니다.
- MsiDeterminePatchSequence 함수는 패치 목록을 가져와서 설치된 제품에 적용할 수 있는 순서를 결정합니다. 이 함수는 시스템에 이미 설치된 패치 또는 제품을 고려합니다.
- MsiDetermineApplicablePatches 함수는 패치 목록을 가져와서 설치된 제품에 적용할 수 있는 순서를 결정합니다. 이 함수는 시스템에 이미 설치된 패치 또는 제품을 고려하지 않습니다.
Windows Installer 버전 3.0은 단일 패치 설치에서 제품에 여러 패치를 적용할 수 있습니다. 패치 그룹에는 패치 시퀀스 정보(MsiPatchSequence 테이블)와 그렇지 않은 패치가 포함된 패치가 포함될 수 있습니다. Windows Installer는 시스템에 제공되는 순서대로 이 테이블 없이 패치 패키지를 설치합니다. 설치 관리자는 MsiPatchSequence 테이블이 없지만 다음 섹션에 설명된 방법으로 사용되지 않거나 대체된 패치로 표시된 패치 패키지를 설명합니다.
Windows Installer 버전 3.0에서 여러 패치를 설치하는 경우 다음 단계에 따라 개별 패치가 제품에 적용되는 순서를 결정합니다.
MsiPatchSequence 테이블이 없는 설치된 패치는 제품에 적용된 순서대로 배치됩니다. 적용된 첫 번째 패치는 시퀀스에서 먼저 배치됩니다.
새 패치가 MsiPatchSequence 테이블 없이 시퀀스에 추가됩니다. 이러한 패치는 현재 패치 설치에 의해 적용되고 있습니다. 시스템에 제공된 순서대로 배치되고 1단계의 모든 패치 다음에 배치됩니다.
사용되지 않는 패치는 패치 시퀀스에서 제거됩니다.
메모
패치 패키지는 수정 번호 요약 속성에 패치에서 제거할 사용되지 않는 패치의 명시적 목록을 지정할 수 있습니다. 이 목록은 버전 3.0 이전의 Windows Installer 버전에서 사용하기 위한 것입니다. Windows Installer 버전 3.0은 패치에 MsiPatchSequence 테이블없는 경우에만 시퀀스에서 사용되지 않는 것으로 표시된 패치를 제거합니다.
설치 관리자는 패치 시퀀스를 단계별 실행하여 지정된 시퀀스에 적용할 수 있는 패치를 결정합니다. 여러 패치가 제품에 적용되면 시퀀스의 각 패치는 제품의 설치 데이터베이스(.msi 파일)도 변환합니다. 패치는 데이터베이스 변환이 이전의 모든 패치 패키지의 변환을 제품 데이터베이스에 적용하여 제품 코드, 버전, 언어및 업그레이드 코드를 생성할 수 있는 경우에만 특정 순서로 적용될 수 있습니다. 설치 관리자는 시퀀스에서 적용할 수 없는 패치를 제거합니다.
설치 관리자는 MsiPatchSequence 테이블에 시퀀싱 정보가 있는 패치를 배치하기 시작합니다. 소규모 업그레이드 MsiPatchSequence 테이블이 포함된 패치는 이전 단계에서 시퀀스된 패치 뒤에 배치되며, 업그레이드가 완료된 이후 가장 낮은 제품 버전에서 가장 높은 제품 버전 순서로 배치됩니다. 그런 다음 Windows Installer는 이 시퀀스에서 적용할 수 없는 사소한 업그레이드 패치를 제거합니다.
작은 업데이트MsiPatchSequence 테이블이 있는 부 업그레이드를 대상으로 하는 패치가 시퀀스에서 가장 높은 버전의 부 업그레이드 패치에 할당됩니다.
모든 이전 단계 이후에도 할당되지 않은 상태로 남아 있는 작은 업데이트 패치로서 MsiPatchSequence 테이블이 있는 것은, MsiPatchSequence 테이블이 있는 첫 번째 보조 업그레이드 앞에 위치되며, MsiPatchSequence 테이블이 없는 .msi 설치 데이터베이스와 패치 이후에 배치됩니다. 그런 다음 Windows Installer는 이 시퀀스에서 적용할 수 없는 작은 업데이트 패치를 제거합니다.
Windows Installer 버전 3.0은 시퀀스에서 대체된 패치를 제거합니다. 패치가 패치 시퀀스의 앞부분에서 발생하는 패치를 대체하면 패치에는 이전 패치의 모든 수정 사항이 포함됩니다. 이전 패치는 더 이상 필요하지 않습니다. Windows Installer를 사용하려면 대체된 패치를 제거하려면 MsiPatchSequence 테이블의 정보가 필요합니다.
메모
이전 패치 집합을 대체하기 위한 패치를 작성하여 모든 패치 패밀리의 이전 패치를 대체해야 합니다. 작은 업데이트 패치는 작은 업데이트만 대체할 수 있습니다. 부 업그레이드 작은 업데이트와 기타 사소한 업그레이드를 모두 대체 할 수 있습니다.
MsiPatchSequence 테이블을 전달하는 작은 업데이트 패치를 MsiPatchSequence 테이블의 시퀀싱 정보에 따라 제품 버전 내에서 시퀀싱됩니다. 최종 패치 시퀀스가 결정됩니다.
더 이상 사용하지 않아야 하는 패치는 패치 시퀀스에서 제거할 수 있습니다. 패치 시퀀스에서 패치를 제거하는 방법에 대한 자세한 내용은 패치 제거참조하세요.
MsiPatchSequence 테이블을 사용하여 작성된 순서대로 패치를 적용하는 방법에 대한 예제는 다중 패치 예제참조하세요.