Share via


ImageFamilies 테이블(Patchwiz.dll)

이미지 패밀리는 가장 최신 버전으로 업데이트된 제품의 업그레이드된 이미지가 하나 이상 포함된 그룹입니다. 업그레이드된 각 이미지는 하나의 패밀리에만 속할 수 있습니다. 이미지 패밀리에 속한 업그레이드된 이미지는 하나 이상의 파일을 공유합니다. 각 이미지 패밀리에는 대상 파일과 업그레이드된 파일의 차이점을 업데이트하는 데 필요한 이진 패치 및 새 파일이 포함된 .msp 파일 전용 캐비닛 파일이 있습니다. 캐비닛 파일은 공유 파일에서 사용하는 이진 패치 및 새 파일을 복제하지 않습니다.

모든 패치 생성 데이터베이스(.pcp 파일)에는 하나 이상의 레코드가 포함된 ImageFamilies 테이블이 필요합니다. 이 테이블은 UiCreatePatchPackageEx 함수에서 사용됩니다.

ImageFamilies 테이블에는 미디어 테이블에 추가될 패치 정보가 포함되어 있습니다. 패치는 미디어 테이블에 하나의 항목을 추가합니다. ImageFamilies 테이블의 각 레코드는 최신 버전의 제품으로 업데이트된 관련 제품 이미지 그룹을 나타냅니다.

ImageFamilies 테이블에는 다음과 같은 열이 있습니다. 패치가 Windows Installer 및 Patchwiz.dll 버전 2.0에 적용된 경우 MediaSrcPropName, MediaDiskId, FileSequenceStart 열에서 null 값을 사용할 수 있습니다.

Column 형식 Nullable
패밀리 text Y N
MediaSrcPropName text Y
MediaDiskId 정수 Y
FileSequenceStart 정수 Y
DiskPrompt text Y
VolumeLabel text Y

 

Family

이 필드에 입력된 값은 최신 버전의 제품으로 업데이트된 관련 제품 이미지 그룹의 식별자입니다. 총 8개의 영숫자 또는 밑줄로 제한됩니다. 설치 관리자는 테이블의 각 패밀리에 대한 Windows Installer 패치 파일(.msp 파일)에 캐비닛 스트림을 포함합니다. 캐비닛에는 대상 이미지를 업그레이드된 제품 이미지로 업데이트하는 데 필요한 이진 패치 및 새 파일이 포함되어 있습니다. 설치 관리자는 패밀리 이름 앞에 PCW_CAB_ 접두사를 추가하여 새 미디어 테이블 항목의 Cabinet 필드에 입력하는 캐비닛의 스트림 이름을 생성합니다.

MediaSrcPropName

업그레이드된 이미지의 새 미디어 테이블 항목의 Source 필드에 입력한 값입니다. 이 필드는 Patchwiz.dll 버전 2.0을 사용하고 속성 테이블(Patchwiz.dll)의 MinimumRequiredMsiVersion이 200으로 설정된 경우에만 null일 수 있습니다.

MediaDiskId

설치 관리자는 새 미디어 테이블 레코드의 DiskId 필드에 이 값을 입력합니다. DiskID 값은 대상 패키지의 현재 DiskID보다 커야 합니다. MediaDiskId 제한은 32767입니다. 이 필드는 Patchwiz.dll 버전 2.0을 사용하고 속성 테이블(Patchwiz.dll)의 MinimumRequiredMsiVersion이 200으로 설정된 경우에만 null일 수 있습니다.

FileSequenceStart

이 필드는 시작 파일의 시퀀스 번호입니다. 이 동일한 파일 시퀀스 번호는 동일한 제품의 두 패치에 없어야 합니다. 이렇게 하려면 이 필드의 값이 이전 패치 또는 원본 설치 패키지에서 사용된 모든 시퀀스 번호보다 커야 합니다. 패치의 가장 큰 시퀀스 번호는 패치 캐비닛 파일의 총 항목 수를 해당 패치의 FileSequenceStart 번호에 추가하여 확인할 수 있습니다. 이를 확인하는 한 가지 방법은 패치를 만드는 동안 Patchwiz.dll에서 생성된 .ddf 파일을 확인하는 것입니다. FileSequenceStart 제한은 32767입니다. 이 필드는 Patchwiz.dll 버전 2.0을 사용하고 속성 테이블(Patchwiz.dll)의 MinimumRequiredMsiVersion이 200으로 설정된 경우에만 null일 수 있습니다.

DiskPrompt

설치 관리자는 새 미디어 테이블 레코드의 DiskPrompt 필드에 이 값을 입력합니다.

VolumeLabel

설치 관리자는 새 Media 레코드의 VolumeLabel 필드에 이 값을 입력합니다.

설명

패치는 미디어 테이블에 추가된 새 레코드의 캐비닛 필드에 .msp 파일의 캐비닛 이름을 추가합니다. 포함된 캐비닛이므로 이름에는 ‘#’ 문자로 접두사가 추가됩니다. 패치는 미디어 테이블에 있는 새 레코드의 원본 필드에 속성을 추가합니다. 두 패치가 동일한 원본 속성을 가질 수 없습니다.

이미지 패밀리 내에서 공유되는 파일에는 업그레이드된 각 패밀리 이미지에 동일한 파일 테이블 키가 있어야 합니다. 업그레이드된 이미지 간에 공유되는 파일 테이블 키는 동일한 파일을 나타내야 하며 업그레이드된 모든 이미지에서 동일해야 합니다. 파일 테이블 키는 파일 테이블의 파일 열에 입력된 값입니다.

MediaDiskId 및 FileSequenceStart 제한은 32767입니다. 이 제한을 늘리려면 ImageFamilies 테이블을 Msidb.exe와 함께 .idt 파일로 내보내고 열 형식을 i2에서 i4로 변경하거나 I2에서 I4로 변경한 다음, .idt 파일을 .pcp 데이터베이스로 다시 가져옵니다. 열 형식이 다른 두 패키지 간에 변환 및 패치를 만들 수 없습니다.