Patchpakete
Ein Windows Installer-Patch (MSP-Datei) ist eine Datei, die zum Bereitstellen von Updates für Windows Installer-Anwendungen verwendet wird. Der Patch ist ein eigenständiges Paket, das alle Informationen enthält, die zum Aktualisieren der Anwendung erforderlich sind. Ein Patchpaket (MSP-Datei) kann viel kleiner sein als das Windows Installer-Paket (MSI-Datei) für die gesamte aktualisierte Anwendung. Weitere Informationen zum Bereitstellen kleinerer Updates für Anwendungen finden Sie unter Reduzieren der Patchgröße.
Ein Patchpaket enthält die tatsächlichen Updates für die Anwendung und beschreibt, welche Versionen der Anwendung den Patch erhalten können. Patches enthalten mindestens zwei Datenbanktransformationen. Eine Transformation aktualisiert die Informationen in der Installationsdatenbank der Anwendung. Die andere Transformation fügt Informationen hinzu, die das Installationsprogramm zum Patchen von Dateien verwendet. Das Installationsprogramm verwendet die von den Transformationen bereitgestellten Informationen, um Patchdateien anzuwenden, die im CAB-Dateidatenstrom des Patchpakets gespeichert sind. Ein Patchpaket verfügt anders als ein Installationspaket (MSI-Datei) nicht über eine Datenbank.
Ab Windows Installer Version 3.0 können Patchpakete Informationen enthalten, die die Patchsequenz für den Patch relativ zu anderen Updates in der MsiPatchSequence-Tabelle und zusätzliche beschreibende Informationen in der MsiPatchMetadata-Tabelle beschreiben.
Benutzer können Anwendungen und Updates über ein Netzwerkadministratorimage installieren. Patchpakete können zwar auf Administratorinstallationen angewendet werden, die empfohlene Methode zum Bereitstellen von Updates besteht jedoch darin, dass Benutzer die ursprüngliche Anwendung installieren und die Patches dann für die lokale Instanz der Anwendung auf ihren Computer anwenden. Dadurch bleibt die Synchronisierung der Benutzer mit dem Administratorimage gewährleistet. Wenn ein Patch auf die Administratorinstallation angewendet wird, müssen alle Clients dieser Administratorinstallation die Anwendung neu zwischenspeichern und neu installieren, um das Update zu erhalten. Bis ein Benutzer die Zwischenspeicherung und Installation erneut ausführt, kann der Benutzer keine Installation bei Bedarf durchführen und keine Installationen aus der gepatchten Administratorinstallation reparieren.
Ab Windows Installer 3.0 können Nicht-Administratoren Patches auf benutzerseitig verwaltete Anwendungen anwenden, nachdem der Patch von einem Administrator als vertrauenswürdig genehmigt wurde. Weitere Informationen finden Sie unter Patchen von verwalteten Anwendungen pro Benutzer. Eine andere Methode besteht darin, das Patchen durch Benutzerkonten mit den geringsten Berechtigungen zu verwenden.
Hinweis
Wenn die AllowLockdownPatch-Richtlinie festgelegt wurde, können Nicht-Administratorbenutzer einen Patch auf eine vorhandene Anwendung anwenden, während sie eine Installation mit erhöhten Rechten ausführen. Diese Methode wird nicht empfohlen, da nicht vertrauenswürdige Patches auf eine Anwendung angewendet werden können, die mit erhöhten Rechten ausgeführt werden kann.
Patchpakete bestehen aus den folgenden Teilen. Weitere Informationen zum Erstellen von Patchpaketen finden Sie unter Erstellen eines Patchpakets.
Der Stream mit der Zusammenfassung der Informationen des Patchpakets enthält Informationen über Identität und Zweck des Patches.
Die Zusammenfassung der Informationen enthält mindestens Folgendes:
- Eine GUID, die den Patch eindeutig identifiziert. Der GUID für diesen Patch ist eine Liste von GUIDs für frühere Patches angefügt, die durch diesen Patch ersetzt werden.
- Eine durch Semikolon getrennte Liste von Produktcodes für gültige Ziele für diesen Patch.
- Eine durch Semikolons getrennte Liste von Transformations-Unterspeichernamen in der Reihenfolge, in der sie verarbeitet werden sollen.
- Eine durch Semikolon getrennte Liste von Quellen für diesen Patch.
Ein Patchpaket enthält Transformationen, die Dateien, Registrierungseinträge, Benutzeroberflächen und Anpassungen hinzufügen oder entfernen können. Transformationen sind als Unterspeicher im Paket enthalten. Ein Patchpaket enthält zwei Transformationen für jede Zieldatenbank. Eine Transformation ist die tatsächliche Aktualisierung der Installationsdatenbank und wird aus den Unterschieden zwischen den ursprünglichen und aktualisierten Images des Installationspakets generiert. Die andere Transformation fügt den Tabellen Patch, PatchPackage, Media, InstallExecuteSequence und AdminExecuteSequence Einträge hinzu. Informationen im Unterspeicher stellen eine Verbindung mit einem bestimmten UpgradeCode, ProductCode, ProductVersion und ProductLanguage her. Ein Patchpaket, das auf mehrere Ziele angewendet werden kann, enthält mehr als ein Paar dieser Transformationen.
Der in einem Patch enthaltene CAB-Dateidatenstrom kann folgende Dateitypen enthalten:
- Patchdateien mit den erforderlichen Informationen für die Änderung der alten Version der Datei in die neue Version. Eine einzelne Patchdatei kann verwendet werden, um eine oder mehrere alte Versionen einer Datei zu aktualisieren.
- Zusätzliche Dateien, die der Anwendung hinzugefügt werden, die in der alten Version nicht vorhanden sind.
- Eine gesamte Ersatzdatei. In dem seltenen Fall, dass die neue Version einer Datei kleiner ist als der Patch, der zum Aktualisieren der alten Version dieser Datei erforderlich ist, kann die neue Datei vollständig enthalten sein. Dabei handelt es sich um neue Dateien, die über ihre alten Versionen installiert werden.