다음을 통해 공유


여러 패치 적용 예제

다음 예제에서는 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 ProductCode 시퀀스 특성
AppPatch {18A9233C-0B34-4127-A966-C257386270BC} 1.1.0

 

QFE2 소규모 업데이트에 대한 MsiPatchSequence 테이블입니다.

PatchFamily ProductCode 시퀀스 특성
AppPatch {18A9233C-0B34-4127-A966-C257386270BC} 1.2.0

 

ServicePack1 부 업그레이드에 대한 MsiPatchSequence 테이블입니다.

PatchFamily ProductCode 시퀀스 특성
AppPatch {18A9233C-0B34-4127-A966-C257386270BC} 1.3.0

 

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

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

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