ImageFamilies 테이블(Patchwiz.dll)
이미지 패밀리는 최신 버전으로 업데이트된 제품의 하나 이상의 업그레이드된 이미지 그룹입니다. 업그레이드된 각 이미지는 하나의 패밀리에만 속할 수 있습니다. 이미지 패밀리에 속하는 업그레이드된 이미지는 하나 이상의 파일을 공유합니다. 각 이미지 패밀리에는 대상 파일과 업그레이드된 파일 간의 차이점을 업데이트하는 데 필요한 이진 패치 및 새 파일이 포함된 .msp 파일에 고유한 캐비닛 파일이 있습니다. 캐비닛 파일은 공유 파일에서 사용되는 이진 패치 및 새 파일을 복제하지 않습니다.
패치 생성 데이터베이스(.pcp 파일)에 하나 이상의 레코드가 포함된 ImageFamilies 테이블이 필요합니다. 이 테이블은 UiCreatePatchPackageEx 함수에서 사용됩니다.
ImageFamilies 테이블에는 Media 테이블추가할 패치 정보가 포함되어 있습니다. 패치는 미디어 테이블에 하나의 항목을 추가합니다. ImageFamilies 테이블의 각 레코드는 최신 버전의 제품으로 업데이트된 관련 제품 이미지 그룹을 나타냅니다.
ImageFamilies 테이블에는 다음 열이 있습니다. 패치가 Windows Installer 및 Patchwiz.dll 버전 2.0에 적용된 경우 MediaSrcPropName, MediaDiskId 및 FileSequenceStart 열에서 null 값을 사용할 수 있습니다.
열 | 형 | 열쇠 | Nullable |
---|---|---|---|
가족 | 문자 메시지 | Y | N |
MediaSrcPropName | 문자 메시지 | Y | |
MediaDiskId | 정수 | Y | |
FileSequenceStart | 정수 | Y | |
DiskPrompt | 문자 메시지 | Y | |
VolumeLabel | 문자 메시지 | Y |
열
-
패밀리
-
이 필드에 입력된 값은 최신 버전의 제품으로 업데이트된 관련 제품 이미지 그룹의 식별자입니다. 총 8자의 영숫자 또는 밑줄로 제한됩니다. 설치 관리자는 테이블의 각 패밀리에 대한 Windows Installer 패치 파일(.msp 파일)에 캐비닛 스트림을 포함합니다. 캐비닛에는 대상 이미지를 제품의 업그레이드된 이미지로 업데이트하는 데 필요한 이진 패치 및 새 파일이 포함되어 있습니다. 설치 관리자는 패밀리 이름 앞에 PCW_CAB_ 접두사를 지정하여 새 Media 테이블 항목의 캐비닛 필드에 입력하는 캐비닛의 스트림 이름을 생성합니다.
-
mediaSrcPropName
-
업그레이드된 이미지의 항목을 새 Media 테이블의 원본 필드에 입력한 값입니다. 이 필드는 Patchwiz.dll 버전 2.0을 사용하고 속성 테이블(Patchwiz.dll) MinimumRequiredMsiVersion이 200으로 설정된 경우에만 null일 수 있습니다.
-
mediaDiskId
-
설치 관리자는 새 Media 테이블 레코드의 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
-
설치 관리자는 새 Media 테이블 레코드의 DiskPrompt 필드에 이 값을 입력합니다.
-
VolumeLabel
-
설치 관리자는 이 값을 새 미디어 레코드의 VolumeLabel 필드에 입력합니다.
발언
패치는 .msp 파일의 캐비닛 이름을 Media 테이블에 추가된 새 레코드의 캐비닛 필드에 추가합니다. 포함된 캐비닛이므로 이름 앞에 '#' 문자가 수록됩니다. 패치는 Media 테이블에서 새 레코드의 원본 필드에 속성을 추가합니다. 두 패치가 동일한 소스 속성을 가질 수 없습니다.
이미지 패밀리 내에서 공유되는 파일은 업그레이드된 각 제품군 이미지에 동일한 파일 테이블 키가 있어야 합니다. 업그레이드된 이미지 간에 공유되는 모든 파일 테이블 키는 동일한 파일을 나타내야 하며 업그레이드된 모든 이미지에서 동일해야 합니다. 파일 테이블 키는 파일 테이블파일 열에 입력된 값입니다.
MediaDiskId 및 FileSequenceStart에 대한 제한은 32767입니다. 이 제한을 늘리려면 ImageFamilies 테이블을 Msidb.exe 있는 .idt 파일로 내보내고 열 형식을 i2에서 i4로 변경하거나 I2에서 I4로 변경한 다음 .idt 파일을 다시 .pcp 데이터베이스로 가져옵니다. 열 형식이 다른 두 패키지 간에 변환 및 패치를 만들 수 없습니다.