다음을 통해 공유


여러 패치 예제

다음 예제에서는 Windows Installer 3.0 이상을 사용하여 패치를 작성하는 순서대로 적용하는 방법을 보여 줍니다.

본보기

이 예제에는 QFE1, QFE2 및 ServicePack1라는 세 가지 패치가 있으며 각각 MsiPatchSequence 테이블이 있습니다. 이러한 패치는 애플리케이션 버전 1.0에 적용되도록 작성되었습니다.

패치 이름 패치 유형 시퀀스 번호
QFE1 소규모 업데이트 1.1.0
QFE2 소규모 업데이트 1.2.0
ServicePack1 소규모 업그레이드 1.3.0

 

각 패치의 MsiPatchSequence 테이블에는 패치 패밀리, 제품 코드 및 시퀀스 번호가 포함된 레코드가 하나만 있습니다. 세 개의 패치는 모두 동일한 제품에 적용되며 AppPatch라는 동일한 패치 패밀리에 속합니다. 패치에는 msidbPatchSequenceSupersedeEarlier 특성이 없습니다.

QFE1 작은 업데이트에 대한 msiPatchSequence 테이블 .

PatchFamily 제품 코드 순서 특성
AppPatch {18A9233C-0B34-4127-A966-C257386270BC} 1.1.0

 

QFE2 작은 업데이트대한 MsiPatchSequence 테이블.

PatchFamily 제품 코드 순서 특성
AppPatch {18A9233C-0B34-4127-A966-C257386270BC} 1.2.0

 

MsiPatchSequence Table for ServicePack1 마이너 업그레이드.

PatchFamily 제품 코드 순서 특성
AppPatch {18A9233C-0B34-4127-A966-C257386270BC} 1.3.0

 

사용자가 제품의 버전 1.0을 설치한 다음 QFE2를 적용한 다음 나중에 QFE1을 적용하기로 결정한 경우 Windows Installer는 제품에 대한 패치 애플리케이션의 유효 시퀀스가 QFE1보다 먼저 적용되도록 합니다. 사용자가 ServicePack1을 적용한 다음 나중에 QFE2 및 QFE1을 함께 적용하는 경우 Windows Installer는 제품에 대한 패치 애플리케이션의 유효 시퀀스가 QFE1보다 먼저 QFE1이고 ServicePack1보다 앞서 있는지 확인합니다.

ServicePack1에 MsiPatchSequence 테이블의 특성 열에 설정된 msidbPatchSequenceSupersedeEarlier 있는 경우 서비스 팩에 QFE1 및 QFE2의 모든 변경 내용이 포함됩니다. 이 경우 ServicePack1이 적용될 때 QFE1 및 QFE2가 적용되지 않습니다.

Windows Installer 2.0: 지원되지 않습니다. Windows Installer 3.0 이전 버전은 트랜잭션당 하나의 패치만 설치할 수 있으며 패치는 제공된 시퀀스에 적용됩니다. 앞의 예제에서 QFE2가 먼저 적용된 다음 QFE1이 적용되는 경우 두 트랜잭션이며, 패치는 QFE2 시퀀스 QFE2 다음에 QFE1이 오는 애플리케이션의 버전 1.0에 적용됩니다. ServicePack1이 먼저 적용되는 경우 ServicePack1은 애플리케이션 버전을 변경하는 부 업그레이드이므로 이후 트랜잭션에서 QFE1 또는 QFE2를 적용할 수 없습니다. QFE1 및 QFE2는 애플리케이션의 버전 1.0에만 적용할 수 있습니다.