다음을 통해 공유


패치 시퀀싱

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에서 여러 패치를 설치하는 경우 다음 단계에 따라 개별 패치가 제품에 적용되는 순서를 결정합니다.

  1. MsiPatchSequence 테이블이 없이 설치된 패치는 제품에 적용된 순서대로 시퀀스로 배치됩니다. 적용된 첫 번째 패치는 시퀀스에서 먼저 배치됩니다.

  2. MsiPatchSequence 테이블이 없는 새 패치가 시퀀스에 배치됩니다. 이러한 패치는 현재 패치 설치에 의해 적용되고 있습니다. 시스템에 제공된 순서대로 배치되고 1단계의 모든 패치 다음에 배치됩니다.

  3. 사용되지 않는 패치는 패치 시퀀스에서 제거됩니다.

    참고

    패치 패키지는 수정 번호 요약 속성에서 패치에서 제거할 사용되지 않는 패치의 명시적 목록을 지정할 수 있습니다. 이 목록은 버전 3.0 이전의 Windows Installer 버전에서 사용하기 위한 것입니다. Windows Installer 버전 3.0은 패치에 MsiPatchSequence 테이블이 없는 경우에만 사용되지 않는 것으로 표시된 패치를 시퀀스에서 제거합니다.

     

  4. 설치 관리자는 패치 시퀀스를 단계별 실행하여 지정된 시퀀스에 적용할 수 있는 패치를 결정합니다. 여러 패치가 제품에 적용되면 시퀀스의 각 패치는 제품의 설치 데이터베이스(.msi 파일)도 변환합니다. 패치는 패치의 데이터베이스가 모든 앞선 패치 패키지의 변환을 제품 데이터에 적용한 결과로 나온 제품 코드, 버전, 언어upgradecode를 취할 수 있는 경우에만 특정 시퀀스에 적용할 수 있습니다. 설치 관리자는 시퀀스에서 적용할 수 없는 패치를 제거합니다.

  5. 설치 관리자는 MsiPatchSequence 테이블에 시퀀싱 정보가 있는 패치를 배치하기 시작합니다. MsiPatchSequence 테이블이 있는 부 업그레이드 패치는 이전 단계에서 시퀀스된 패치 뒤에 업그레이드 후 가장 낮은 제품 버전에서 가장 높은 제품 버전 순으로 순서대로 배치됩니다. 그런 다음 Windows Installer는 이 시퀀스에서 적용할 수 없는 부 업그레이드 패치를 제거합니다.

  6. MsiPatchSequence 테이블이 있는 부 업그레이드를 대상으로 하는 소규모 업데이트 패치는 시퀀스에서 가장 높은 버전의 부 업그레이드 패치에 할당됩니다.

  7. 이전 단계 이후에 할당되지 않은 상태로 유지되고 MsiPatchSequence 테이블이 있는 모든 소규모 업데이트 패치는 MsiPatchSequence 테이블이 있는 첫 번째 부 업그레이드 전과 msiPatchSequence 테이블이 없는 .msi 설치 데이터베이스 및 모든 패치 다음에 순서대로 배치됩니다. 그런 다음 Windows Installer는 이 시퀀스에서 적용할 수 없는 소규모 업데이트 패치를 제거합니다.

  8. Windows Installer 버전 3.0은 시퀀스에서 대체된 패치를 제거합니다. 패치가 패치 시퀀스의 앞부분에서 발생하는 패치를 대체하는 경우 패치에는 이전 패치의 모든 수정 사항이 포함됩니다. 이전 패치는 더 이상 필요하지 않습니다. Windows Installer에서 대체된 패치를 제거하려면 MsiPatchSequence 테이블의 정보가 필요합니다.

    참고

    이전 패치 집합을 대체하기 위한 패치를 작성하여 모든 패치 패밀리의 이전 패치를 대체해야 합니다. 소규모 업데이트 패치는 소규모 업데이트만 대체할 수 있습니다. 부 업그레이드는 소규모 업데이트와 기타 부 업그레이드를 모두 대체할 수 있습니다.

     

  9. MsiPatchSequence 테이블을 전달하는 소규모 업데이트 패치는 MsiPatchSequence 테이블의 시퀀싱 정보에 따라 제품 버전 내에서 시퀀싱됩니다. 이로써 최종 패치 시퀀스가 결정됩니다.

더 이상 사용하지 않아야 하는 패치는 패치 시퀀스에서 제거할 수 있습니다. 패치 시퀀스에서 패치를 제거하는 방법에 대한 자세한 내용은 패치 제거를 참조하세요.

MsiPatchSequence 테이블을 사용하여 작성된 순서대로 패치를 적용하는 방법에 대한 예제는 다중 패치 적용 예제를 참조하세요.