Patching

Eine Anwendung, die mithilfe des Microsoft Windows Installer installiert wurde, kann aktualisiert werden, indem Sie ein aktualisiertes Installationspaket (.msi Datei) oder ein Windows Installer-Patch (eine MSP-Datei) auf die Anwendung anwenden.

Ein Windows Installer-Patch (MSP-Datei) ist ein eigenständiges Paket, das die Updates für die Anwendung enthält und beschreibt, welche Versionen der Anwendung den Patch erhalten können. Patches enthalten mindestens zwei Datenbanktransformationen und können Patchdateien enthalten, die im Ablagedateidatenstrom des Patchpakets gespeichert sind. Weitere Informationen zu den Teilen eines Windows Installer-Patchpakets finden Sie unter Patchpakete.

Wartungsanwendungen, indem ein Windows Installer-Patch bereitgestellt wird, anstatt ein vollständiges Installationspaket für das aktualisierte Produkt zu erhalten, kann Vorteile haben. Ein Patch kann eine gesamte Datei oder nur die erforderlichen Dateibits enthalten, um einen Teil der Datei zu aktualisieren. Dadurch kann der Benutzer einen Upgrade-Patch herunterladen, der viel kleiner ist als das Installationspaket für das gesamte Produkt. Ein Update mit einem Patch kann eine Benutzeranpassung der Anwendung über das Upgrade beibehalten.

**Windows Installer 4.5 und höher: **

Ab Windows Installer 4.5 können Entwickler Komponenten in einem Patch mit dem msidbComponentAttributesUninstallOnSupersedence-Wert in der Komponentestabelle markieren. Wenn ein nachfolgendes Patch installiert ist, markiert mit dem msidbPatchSequenceSupenceSupersedeArlier-Wert in der MsiPatchSequence-Tabelle, um den ersten Patch zu ersetzen, Windows Installer 4.5 und höher kann die Registrierung und Deinstallation von Komponenten, die msidbComponentAttributesUninstallOnSupersedence markiert haben, aufheben, um nicht verwendete Komponenten auf dem Computer zu verlassen. Wenn die Komponente nicht mit diesem Bit gekennzeichnet ist, kann die Installation des übergeordneten Patchs eine nicht verwendete Komponente auf dem Computer verlassen. Das Festlegen der MSIUNINSTALLSUPERSEDCOMPONENTS-Eigenschaft hat den gleichen Effekt wie das Festlegen dieses Bits für alle Komponenten.

**Windows Installer 3.0 und höher: **

Entwickler, die Windows Installer 3.0 verwenden und Patchpakete erstellen, die über die MsiPatchSequence-Tabelle verfügen, können Patchpakete erstellen, die folgendes ausführen:

  • Verwenden Sie den Vom Installationsprogramm zwischengespeicherten Produktplan, um Anwendungen mit kleineren Delta-Patches einfacher zu nutzen. Weitere Informationen zur Verwendung des Produktplans finden Sie unter Reduzieren der Patchgröße.
  • Überspringen Sie Aktionen, die bestimmten Tabellen zugeordnet sind, die vom Patch nicht geändert werden. Dies kann die Zeit, die erforderlich ist, um den Patch zu installieren, erheblich reduzieren. Weitere Informationen dazu, welche Tabellen übersprungen werden können, finden Sie unter Patchoptimierung.
  • Erstellen und installieren Sie Patches, die singly deinstalliert werden können, und installieren Sie in jeder Reihenfolge, ohne dass Sie die gesamte Anwendung und andere Patches deinstallieren und erneut installieren müssen. Weitere Informationen zum Deinstallieren von Patches finden Sie unter Entfernen von Patches.
  • Wenden Sie Patches in einer konstanten Reihenfolge an, unabhängig von der Reihenfolge, in der die Patches für das System bereitgestellt werden. Weitere Informationen dazu, wie der Windows Installer die Sequenz bestimmt, die zum Anwenden von Patches verwendet wird, finden Sie unter Sequenzierungspatches.
  • Anwenden von Patches auf eine Anwendung, die in einem verwalteten Kontext installiert wurde. Weitere Informationen finden Sie unter Patching Per-User verwalteten Anwendungen.

**Windows Installer 2.0: **

Die MsiPatchSequence-Tabelle wird nicht unterstützt. Ab Windows Installer 3.0 können Patchpakete Informationen enthalten, die die Patchsequenz für den Patch relativ zu anderen Updates und zusätzlichen beschreibenden Informationen beschreiben.

Die empfohlene Methode zum Erstellen eines Patchpakets besteht darin, Patcherstellungstools wie Msimsp.exe und Patchwiz.dllzu verwenden. Entwickler können eine Patcherstellungsdatei generieren, wie im Abschnitt beschrieben: Erstellen eines Patchpakets. Die Erstellung eines kleinen Updatepatches wird im Abschnitt beschrieben: Ein Kleines Update-Patching-Beispiel.

Microsoft Windows Installer akzeptiert einen Uniform Resource Locator (URL) als gültige Quelle für einen Patch. Weitere Informationen zum Installieren eines Patchs auf einem Webserver finden Sie unter Herunterladen und Installieren eines Patchs aus dem Internet.

Ein einzelner Windows Installer-Patch (MSP-Datei) kann beim ersten Installieren einer Anwendung auf das Installationspaket angewendet werden. Weitere Informationen finden Sie unter Patching Initial Installations.

Es ist nicht möglich, alle Umstände zu beseitigen, wenn die Anwendung eines Patchs den Zugriff auf die ursprüngliche Installationsquelle erfordern kann. Um jedoch die Möglichkeit zu minimieren, dass Ihr Patch Zugriff auf die ursprüngliche Quelle benötigt, halten Sie die Punkte an, die im folgenden Abschnitt aufgeführt sind: Verhindern, dass ein Patch den Zugriff auf die ursprüngliche Installationsquelle erfordert.

Um die Möglichkeit zu minimieren, dass Ihr Patch durch eine nachfolgende Anpassungstransformation nicht unterbrochen wird, wird normalerweise der Patch zuerst installiert, gefolgt von der Anpassung. Die Installation von Anpassungstransformationen erfolgt zuerst, und dann der Patch kann die Anpassung unterbrechen. Weitere Informationen zum Patchen angepasster Anwendungen finden Sie unter Patching Angepasste Anwendungen.