Erstellen eines Patchpakets

Entwickler erstellen ein Patchpaket, indem Sie eine Patcherstellungsdatei generieren und Msimsp.exe verwenden, um die Funktion UiCreatePatchPackageEx in Patchwiz.dllaufzurufen. Msimsp.exe und Patchwiz.dll werden im Windows Installer SDK bereitgestellt. Weitere Informationen finden Sie im Beispiel für ein kleines Updatepatching.

Da die Anwendung eines Patches auf ein Windows Installer-Paket die Installation der ursprünglichen Quellen mit einer neuen .msi-Datei bewirkt, muss die neue .msi-Datei mit dem Layout der ursprünglichen Quelle kompatibel bleiben.

Wenn Sie ein Patchpaket erstellen, müssen Sie ein nicht komprimiertes Setupimage verwenden, um einen Patch zu erstellen, z. B. ein Administratives Image oder ein nicht komprimiertes Setupimage aus einem CD-ROM. Sie müssen auch die folgenden Einschränkungen einhalten:

  • Verschieben Sie Dateien nicht von einem Ordner in einen anderen.

  • Verschieben Sie Dateien nicht von einem Kabinett in einen anderen.

  • Ändern Sie nicht die Reihenfolge der Dateien in einem Kabinett.

  • Ändern Sie nicht die Sequenznummer vorhandener Dateien. Die Sequenznummer ist der Wert, der in der Spalte "Sequenz" der Dateitabelle angegeben ist.

  • Alle neuen Dateien, die vom Patch hinzugefügt werden, müssen am Ende der vorhandenen Dateisequenz platziert werden. Die Sequenznummer einer beliebigen neuen Datei im aktualisierten Bild muss größer als die größte Sequenzanzahl vorhandener Dateien im Zielbild sein.

  • Ändern Sie die Primärschlüssel in der Dateitabelle nicht zwischen den ursprünglichen und neuen .msi Dateiversionen.

    Hinweis

    Die Datei muss denselben Schlüssel in der Dateitabelle des Zielbilds und des aktualisierten Bilds haben. Die Zeichenfolgenwerte in der Spalte "Datei" beider Tabellen müssen identisch sein, einschließlich des Falls.

     

  • Erstellen Sie kein Paket mit Dateitabellenschlüsseln , die sich nur im Fall unterscheiden, z. B. vermeiden Sie das folgende Tabellenbeispiel.

    Datei Component_ FileName
    ReadMe.txt Comp1 ReadMe.txt
    ReadMe.txt Comp2 ReadMe.txt

     

    Der Windows Installer kann das vorherige Tabellenbeispiel zulassen, wenn Comp1 und Comp2 in verschiedenen Verzeichnissen installiert sind, sie können jedoch nicht Msimsp.exe oder Patchwiz.dll verwenden, um einen Patch für das Paket zu generieren. Msimsp.exe und Patchwiz.dll aufrufen Makecab.exe, was bei der Groß-/Kleinschreibung nicht beachtet wird und fehlschlägt.

    Stellen Sie beim Verwenden von Zusammenführungsmodulen im Setup sicher, dass Dateisequenznummern und Layouts den oben genannten Richtlinien entsprechen.