다음을 통해 공유


패치 패키지

Windows Installer 패치(.msp 파일)는 Windows Installer 애플리케이션에 업데이트를 제공하는 데 사용되는 파일입니다. 패치는 애플리케이션을 업데이트하는 데 필요한 모든 정보를 포함하는 자체 포함 패키지입니다. 패치 패키지(.msp 파일)는 업데이트된 전체 애플리케이션에 대한 Windows Installer 패키지(.msi 파일)보다 훨씬 작을 수 있습니다. 애플리케이션에 소규모 업데이트를 제공하는 방법에 대한 자세한 내용은 패치 크기 줄이기를 참조하세요.

패치 패키지는 애플리케이션에 대한 실제 업데이트를 포함하고 패치를 받을 수 있는 애플리케이션 버전을 설명합니다. 패치에는 최소 두 개의 데이터베이스 변환이 포함됩니다. 하나의 변환은 애플리케이션의 설치 데이터베이스에 있는 정보를 업데이트합니다. 다른 변환은 설치 관리자가 파일 패치 적용에 사용하는 정보를 추가합니다. 설치 관리자는 변환에서 제공하는 정보를 사용하여 패치 패키지의 캐비닛 파일 스트림에 저장된 패치 파일을 적용합니다. 패치 패키지에는 설치 패키지(.msi 파일)와 같은 데이터베이스가 없습니다.

Windows Installer 버전 3.0부터 패치 패키지에는 MsiPatchSequence 테이블의 다른 업데이트와 관련된 패치 적용 순서를 설명하는 정보 및 MsiPatchMetadata 테이블의 자세한 추가 정보가 포함될 수 있습니다.

사용자는 네트워크 관리 이미지에서 애플리케이션 및 업데이트를 설치할 수 있습니다. 패치 패키지를 관리 설치에 적용할 수 있지만 업데이트를 제공하는 권장 방법은 사용자가 원래 애플리케이션을 설치한 다음, 해당 컴퓨터에서 애플리케이션의 로컬 인스턴스에 패치를 적용하는 것입니다. 이렇게 하면 사용자가 관리 이미지와의 동기화 상태를 유지할 수 있습니다. 패치가 관리 설치에 적용되는 경우 해당 관리 설치의 모든 클라이언트는 업데이트를 받기 위해 애플리케이션을 다시 캐시하고 재설치해야 합니다. 사용자가 다시 캐시하고 재설치할 때까지 사용자는 패치된 관리 설치에서 주문형 설치 및 복구 설치를 할 수 없습니다.

Windows Installer 3.0부터 관리자가 아닌 사용자는 패치를 관리자의 신뢰로 승인한 후 사용자당 관리형 애플리케이션에 패치를 적용할 수 있습니다. 이를 수행하는 방법에 대한 자세한 내용은 사용자당 관리형 애플리케이션 패치 적용을 참조하세요. 또 다른 방법은 최소 권한 사용자 계정 패치를 사용하는 것입니다.

참고

AllowLockdownPatch 정책이 설정된 경우 관리자가 아닌 사용자는 상승된 권한으로 설치를 실행하는 동안 기존 애플리케이션에 패치를 적용할 수 있습니다. 이 메서드는 상승된 권한으로 실행할 수 있는 애플리케이션에 신뢰할 수 없는 패치를 적용할 수 있으므로 권장되지 않습니다.

 

패치 패키지는 다음과 같은 부분으로 구성됩니다. 패치 패키지 생성에 대한 자세한 내용은 패치 패키지 만들기를 참조하세요.

요약 정보 스트림

패치 패키지의 요약 정보 스트림은 패치의 ID 및 목적에 대한 정보를 제공합니다.

요약 정보 스트림에는 최소한 다음이 포함됩니다.

  • 패치를 고유하게 식별하는 GUID입니다. 이 패치의 GUID에는 이 패치로 대체된 이전 패치의 GUID 목록이 추가됩니다.
  • 이 패치의 유효한 대상에 대한 제품 코드가 세미콜론으로 구분된 목록입니다.
  • 처리되는 순서대로 나열된 변환 하위 스토리지 이름이 세미콜론으로 구분된 목록입니다.
  • 패치 원본이 세미콜론으로 구분된 목록입니다.

하위 스토리지 변환

패치 패키지에는 파일, 레지스트리 항목, 사용자 인터페이스 및 사용자 지정을 추가하거나 제거할 수 있는 변환이 포함되어 있습니다. 변환은 패키지에 하위 스토리지로 포함됩니다. 패치 패키지에는 각 대상 데이터베이스에 대해 두 개의 변환이 포함됩니다. 하나의 변환은 설치 데이터베이스에 대한 실제 업데이트이며 설치 패키지의 원래 이미지와 업데이트된 이미지 간의 차이에서 생성됩니다. 다른 변환은 Patch, PatchPackage, Media, InstallExecuteSequenceAdminExecuteSequence 테이블에 항목을 추가합니다. 하위 스토리지의 정보는 특정 UpgradeCode, ProductCode, ProductVersionProductLanguage와 연결됩니다. 여러 대상에 적용할 수 있는 패치 패키지에는 이러한 변환 쌍이 둘 이상 포함되어 있습니다.

캐비닛 파일 스트림

패치에 포함된 캐비닛 파일 스트림에는 다음과 같은 유형의 파일이 포함될 수 있습니다.

  • 이전 버전의 파일을 새 버전으로 변경하는 데 필요한 정보가 포함된 패치 파일입니다. 단일 패치 파일을 사용하여 이전 버전의 파일을 하나 이상 업데이트할 수 있습니다.
  • 이전 버전에 없는 애플리케이션에 더해지는 추가 파일입니다.
  • 전체 대체 파일입니다. 드문 경우지만 파일의 새 버전이 해당 파일의 이전 버전을 업데이트하는 데 필요한 패치보다 작으면 새 파일을 전체 파일에 포함할 수 있습니다. 이러한 파일은 이전 버전에 설치된 새 파일입니다.

패치 패키지 만들기