Freigeben über


ImageFamilies-Tabelle (Patchwiz.dll)

Eine Bildfamilie ist eine Gruppe von mindestens einem aktualisierten Bild eines Produkts, das auf die neueste Version aktualisiert wurde. Jedes aktualisierte Image kann nur einer Familie angehören. Aktualisierte Bilder, die zu einer Bildfamilie gehören, teilen eine oder mehrere Dateien. Jede Bildfamilie verfügt über eine eigene CAB-Datei in der MSP-Datei, die die Binären Patches und neue Dateien enthält, die zum Aktualisieren der Unterschiede zwischen Ziel- und aktualisierten Dateien erforderlich sind. Die CAB-Datei repliziert nicht die binären Patches und neuen Dateien, die von den freigegebenen Dateien verwendet werden.

Eine ImageFamilies-Tabelle mit mindestens einem Datensatz ist in jeder Patcherstellungsdatenbank (PCP-Datei) erforderlich. Diese Tabelle wird von der UiCreatePatchPackageEx--Funktion verwendet.

Die Tabelle "ImageFamilies" enthält die Patchinformationen, die der Media-Tabellehinzugefügt werden sollen. Ein Patch fügt der Media-Tabelle einen Eintrag hinzu. Jeder Datensatz in den ImageFamilies-Tabellen bezieht sich auf eine Gruppe verwandter Produktbilder, die auf die neueste Version des Produkts aktualisiert wurden.

Die Tabelle "ImageFamilies" enthält die folgenden Spalten. Ein Nullwert kann in den Spalten "MediaSrcPropName", "MediaDiskId" und "FileSequenceStart" verwendet werden, wenn der Patch mit Windows Installer und Patchwiz.dll Version 2.0 angewendet wird.

Spalte Art Schlüssel Nullable
Familie Text Y N
MediaSrcPropName Text Y
MediaDiskId ganze Zahl Y
FileSequenceStart ganze Zahl Y
DiskPrompt Text Y
VolumeLabel Text Y

 

Spalten

Familie

Der in diesem Feld eingegebene Wert ist ein Bezeichner für eine Gruppe verwandter Produktbilder, die auf die neueste Version des Produkts aktualisiert wurden. Beschränkt auf insgesamt 8 alphanumerische Zeichen oder Unterstriche. Das Installationsprogramm bettet einen Cab-Stream in die Windows Installer-Patchdatei (MSP-Datei) für jede Familie in der Tabelle ein. Die Kabinett enthält die binären Patches und neue Dateien, die zum Aktualisieren eines Zielimages in ein aktualisiertes Image des Produkts erforderlich sind. Das Installationsprogramm präfixt den Familiennamen mit PCW_CAB_, um den Streamnamen des Cabts zu generieren, der in das Feld "Cab" der neuen Media-Tabelle Eintrags eingegeben wird.

MediaSrcPropName

Der in das Feld "Quelle" der neuen Media-Tabelle eingegebene Wert Eintrag des aktualisierten Bilds. Dieses Feld kann nur null sein, wenn Sie Version 2.0 von Patchwiz.dll verwenden und wenn die MinimumRequiredMsiVersion in der Tabelle Properties (Patchwiz.dll) auf 200 festgelegt ist.

MediaDiskId

Das Installationsprogramm gibt diesen Wert in das DiskId-Feld der neuen Media-Tabelle Datensatz ein. Der DiskID-Wert muss größer als jede aktuelle DiskID im Zielpaket sein. Der Grenzwert für MediaDiskId beträgt 32767. Dieses Feld kann nur null sein, wenn Sie Version 2.0 von Patchwiz.dll verwenden und wenn die MinimumRequiredMsiVersion in der Tabelle Properties (Patchwiz.dll) auf 200 festgelegt ist.

FileSequenceStart

Dieses Feld ist die Sequenznummer für die Startdatei. Diese Dateisequenznummer darf nicht in zwei Patches für dasselbe Produkt vorhanden sein. Um dies sicherzustellen, muss der Wert in diesem Feld größer als alle Sequenznummern sein, die in früheren Patches oder im ursprünglichen Installationspaket verwendet werden. Die größte Sequenznummer in einem Patch kann bestimmt werden, indem die Gesamtanzahl der Einträge in der Patch-Cab-Datei zur FileSequenceStart-Nummer für diesen Patch hinzugefügt wird. Eine Möglichkeit, dies zu ermitteln, besteht darin, die von Patchwiz.dll generierte DDF-Datei während der Erstellung des Patches zu betrachten. Der Grenzwert für FileSequenceStart ist 32767. Dieses Feld kann nur null sein, wenn Sie Version 2.0 von Patchwiz.dll verwenden und wenn die MinimumRequiredMsiVersion in der Tabelle Properties (Patchwiz.dll) auf 200 festgelegt ist.

DiskPrompt

Der Installer gibt diesen Wert in das Feld "DiskPrompt" der neuen Media-Tabelle Datensatz ein.

VolumeLabel

Das Installationsprogramm gibt diesen Wert in das VolumeLabel-Feld des neuen Mediendatensatzes ein.

Bemerkungen

Der Patch fügt den Namen der Cab-Datei in der MSP-Datei zum Feld "Cab" des neuen Datensatzes hinzu, der der Media-Tabellehinzugefügt wurde. Da es sich um eine eingebettete Kabinett handelt, wird dem Namen ein Zeichen "#" vorangestellt. Der Patch fügt dem Feld "Quelle" des neuen Datensatzes in der Tabelle "Medien" eine Eigenschaft hinzu. Es können keine zwei Patches dieselbe Quelleigenschaft aufweisen.

Die Dateien, die innerhalb der Bildfamilie freigegeben sind, müssen in jedem aktualisierten Bild der Familie denselben Dateitabellenschlüssel aufweisen. Alle Dateitabellenschlüssel, die für die aktualisierten Bilder freigegeben wurden, müssen dieselbe Datei darstellen und in allen aktualisierten Bildern identisch sein. Der Schlüssel der Dateitabelle ist der Wert, der in der Spalte "Datei" der Dateitabelleeingegeben wird.

Der Grenzwert für "MediaDiskId" und "FileSequenceStart" lautet 32767. Um diesen Grenzwert zu erhöhen, exportieren Sie die ImageFamilies-Tabelle mit Msidb.exe in eine IDT-Datei, und ändern Sie den Spaltentyp von i2 in i4 oder von I2 in I4, und importieren Sie dann die IDT-Datei wieder in die PCP-Datenbank. Transformationen und Patches können nicht zwischen zwei Paketen mit unterschiedlichen Spaltentypen erstellt werden.