Deinstallierbare Patches

Ob ein Patch deinstalliert werden kann, hängt davon ab, wie der Patch erstellt wurde, von der Version von Windows Installer, die zum Installieren des Patches verwendet wurde, und von den Änderungen, die durch den Patch an der Anwendung vorgenommen wurden. Wenn ein Patch nicht deinstalliert werden kann, besteht die einzige Möglichkeit zum Entfernen des Patches darin, die gesamte Anwendung zu deinstallieren und neu zu installieren, ohne den zu entfernenden Patch anzuwenden.

Sie können die Deinstallation von Patches aufrufen, die mit Version 3.0 von Windows Installer angewendet wurden, indem Sie Befehlszeilenoptionen, die MsiRemovePatches-Funktion oder die RemovePatches-Methode verwenden, wie im Abschnitt Deinstallieren von Patches beschrieben. Von Windows Installer wird überprüft, ob jeder der Patches, die in der MSIPATCHREMOVE-Eigenschaft zum Entfernen aufgeführt sind, deinstalliert werden kann. Wenn der Benutzer nicht über Berechtigungen zum Entfernen des Patches verfügt, der Patch für das Produkt unbekannt ist, die Patchrichtlinie das Entfernen verhindert oder der Patch als nicht deinstallierbar gekennzeichnet wurde, wird vom Installationsprogramm ein Fehler zurückgegeben, der auf eine fehlgeschlagene Installationstransaktion hinweist.

Windows Installer 2.0: Nicht unterstützt. Patches, die mit einer früheren Version von Windows Installer als Windows Installer 3.0 angewendet werden, können nicht deinstalliert werden.

Patches, die nicht deinstalliert werden können

Ein Patch (MSP-Datei), der auf eine installierte Anwendung angewendet wird, kann in den folgenden Fällen nicht deinstalliert werden. Die einzige Methode zum Entfernen eines Patches, der nicht deinstallierbar ist, besteht darin, die gepatchte Anwendung zu deinstallieren und die Anwendung dann neu zu installieren, ohne den Patch erneut anzuwenden. In diesem Fall müssen Sie alle Patches erneut anwenden, die nicht aus der Anwendung entfernt werden sollen.

  • Patches, die mit einer früheren Version von Windows Installer als Windows Installer 3.0 angewendet werden, können nicht deinstalliert werden.

  • Patches, die auf Anwendungen angewendet werden, die auf einem Computer installiert sind, auf dem die Richtlinie DisablePatchUninstall von einem Administrator festgelegt wurde, können nicht deinstalliert werden. Wenn diese Computerrichtlinie festgelegt wurde, können keine Patches auf dem Computer deinstalliert werden, auch nicht von einem Administrator.

  • Patches, die keine MsiPatchMetadata-Tabelle in ihrer Datenbank enthalten, können nicht deinstalliert werden.

  • Patches, die die folgende Zeile nicht in der MsiPatchMetadata-Tabelle enthalten, können nicht deinstalliert werden. Der Patch kann für andere Werte von Company, Property und Value nicht deinstalliert werden.

    Company Eigenschaft Wert
    {Null} AllowRemoval 1

     

  • Der Patch wurde auf eine Anwendung angewendet, die in einem Kontext installiert wurde, für den der Benutzer nicht über ausreichende Berechtigungen zum Deinstallieren von Patches verfügt. Die Wörter „Nicht zulässig“ in der folgenden Tabelle geben an, dass ein Administrator oder Nichtadministrator Patches von in diesem Kontext installierten gepatchten Anwendungen nicht deinstallieren kann. Das Wort „Zulässig“ in dieser Tabelle bedeutet, dass Berechtigungen einen Administrator oder Benutzer, der kein Administrator ist, nicht daran hindern, Patches zu deinstallieren. Aus einem der anderen in diesem Abschnitt erläuterten Gründe ist es jedoch möglicherweise trotzdem nicht möglich, den Patch zu deinstallieren.

    Kontext der Anwendungsinstallation Deinstallation von Patch durch Administrator Deinstallation von Patch durch Nichtadministrator
    Pro Computer Zulässig Allgemein nicht zulässig. Die einzige Ausnahme ist, wenn der Patch mithilfe von (LUA-)Patching angewendet wurde. Ein als LUA-Patch markierter Patch kann entweder von Administratoren oder Nichtadministratoren deinstalliert werden. LUA-Patching ist nur für Pakete verfügbar, die pro Computer über Medien installiert werden, und erfordern eine spezielle Erstellung.
    Pro Benutzer, nicht verwaltet für den aktuellen Benutzer Zulässig Zulässig
    Pro Benutzer, nicht verwaltet für anderen Benutzer Nicht zulässig Nicht zulässig
    Pro Benutzer, verwaltet für den aktuellen Benutzer Zulässig Nicht zulässig
    Pro Benutzer, verwaltet für anderen Benutzer Nicht zulässig Nicht zulässig

     

  • Ein größeres Upgrade, das von einem Patch angewendet wird, kann nicht deinstalliert werden. Bei größeren Upgrades einer Anwendung sollte anstelle eines Patches die aktualisierte Anwendung (MSI-Datei) installiert werden.

  • Auf eine Administratorinstallation angewendete Patches sind keine deinstallierbaren Patches. Das Patchen von Administratorinstallationen wird nicht empfohlen. Die aktuellen Patches sollten auf dem Computer des Benutzers angewendet werden, nachdem der Benutzer die Anwendung über das Administratorimage installiert hat. Dadurch kann verhindert werden, dass sich der auf dem Computer des Benutzers zwischengespeicherte Paketcode vom Paketcode bei der Administratorinstallation unterscheidet. Wenn sich der auf dem Computer des Benutzers zwischengespeicherte Paketcode vom Paketcode bei der Administratorinstallation unterscheidet, installieren Sie die Anwendung aus der Administratorinstallation neu, und patchen Sie dann den Clientcomputer.

  • Wenn bei einem Patch neuer Inhalt zu einer der Tabellen in der folgenden Liste hinzugefügt wird, wird der Patch von Windows Installer als nicht deinstallierbar gekennzeichnet. Durch einen deinstallierbaren Patch können einer Installation neue Dateien, Assemblys, Registrierungseinträge, Komponenten oder Features hinzugefügt werden, indem neue Zeilen zu Datenbanktabellen hinzugefügt werden, die nicht in dieser Liste enthalten sind.

Patchsequenzierung

Entfernen von Patches

Deinstallieren von Patches

Patchdeinstallation von benutzerdefinierten Aktionen

MSIPATCHREMOVE

MsiEnumapplicationsEx

MsiGetPatchInfoEx

MsiRemovePatches