Deinstallierbare Patches
Ob ein Patch deinstalliert werden kann, hängt davon ab, wie der Patch erstellt wurde, welche Version von Windows Installer zum Installieren des Patches verwendet wurde und welche Änderungen vom 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 dass der Patch entfernt wird.
Sie können die Deinstallation von Patches aufrufen, die mit Windows Installer Version 3.0 angewendet werden, indem Sie Befehlszeilenoptionen, die MsiRemovePatches-funktion oder die RemovePatches-Methode wie im Abschnitt Uninstalling Patches beschrieben. Der Windows Installer überprüft, ob alle zur Entfernung in der MSIPATCHREMOVE Eigenschaft aufgeführten Patches deinstalliert werden können. Wenn der Benutzer keine Berechtigungen zum Entfernen des Patches hat, ist der Patch für das Produkt unbekannt, die Patchrichtlinie verhindert das Entfernen, oder der Patch wurde als nicht deinstallierbar markiert, gibt das Installationsprogramm einen Fehler zurück, der angibt, dass eine fehlgeschlagene Installationstransaktion angezeigt wird.
Windows Installer 2.0: Nicht unterstützt. Patches, die mit einer Version von Windows Installer angewendet werden, die älter als Windows Installer 3.0 ist, 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 deinstalliert werden kann, besteht darin, die gepatchte Anwendung zu deinstallieren und dann die Anwendung neu zu installieren, ohne den Patch erneut anwenden zu müssen. In diesem Fall müssen Sie alle Patches erneut anwenden, die Sie nicht aus der Anwendung entfernen möchten.
Patches, die mit einer Version von Windows Installer angewendet werden, die kleiner als Windows Installer 3.0 ist, können nicht deinstalliert werden.
Patches, die auf Anwendungen angewendet werden, die auf einem Computer installiert wurden, auf dem die DisablePatchUninstall- Richtlinie festgelegt wurde, können von einem Administrator nicht deinstalliert werden. Wenn diese Computerrichtliniefestgelegt wurde, können keine Patches auf dem Computer deinstalliert werden, auch von einem Administrator.
Patches, die keine MsiPatchMetadata- Tabelle in ihrer Datenbank haben, können nicht deinstalliert werden.
Patches, die die folgende Zeile nicht in der MsiPatchMetadata- Tabelle enthalten, können nicht deinstalliert werden. Der Patch kann nicht für andere Werte von Company, Property und Value deinstalliert werden.
Firma Eigentum Wert {Null} AllowRemoval 1 Der Patch wurde auf eine Anwendung angewendet, die in einem Kontext installiert wurde, für die der Benutzer über unzureichende Berechtigungen zum Deinstallieren von Patches verfügt. Die Wörter "Nicht zulässig" in der folgenden Tabelle geben an, dass ein Administrator- oder Nicht-Administrator-Benutzer Patches von gepatchten Anwendungen, die in diesem Kontext installiert sind, nicht deinstallieren kann. Das Wort "Zugelassen" in dieser Tabelle bedeutet, dass Berechtigungen nicht verhindern, dass ein Administrator- oder Nicht-Administrator-Benutzer Patches deinstalliert. Aus einem der anderen in diesem Abschnitt erläuterten Gründe ist es jedoch möglicherweise nicht möglich, den Patch zu deinstallieren.
Anwendungsinstallationskontext Administratorinstallation von Patch Nicht-Administrator-Deinstallation von Patch Per-Machine Erlaubt Im Allgemeinen nicht zulässig Die einzige Ausnahme ist, wenn der Patch mithilfe von LUA-Patches angewendet wurde. Ein patch, der als LUA-Patch gekennzeichnet ist, kann von Administratoren oder Nichtadministratoren deinstalliert werden. LUA-Patching ist nur für Pakete verfügbar, die pro Computer auf Medien installiert sind und eine spezielle Dokumenterstellung erfordern. Per-User nicht verwaltet für den aktuellen Benutzer Erlaubt Erlaubt Per-User nicht verwaltet für unterschiedliche Benutzer Unstatthaft Unstatthaft Per-User für den aktuellen Benutzer verwaltet Erlaubt Unstatthaft Per-User für unterschiedliche Benutzer verwaltet Unstatthaft Unstatthaft Ein hauptupgrade auf einen Patch angewendet wird, kann nicht deinstalliert werden. Hauptupgrades einer Anwendung sollten durchgeführt werden, indem die aktualisierte Anwendung (.msi Datei) anstelle eines Patches installiert wird.
Patches, die auf eine Administratorinstallation angewendet werden, können nicht deinstalliert werden. Das Patchen von Administrativen Installationen wird nicht empfohlen. Die aktuellen Patches sollten auf dem Computer des Benutzers angewendet werden, nachdem der Benutzer die Anwendung aus dem Administratorimage installiert hat. Dadurch kann verhindert werden, dass der Paketcode, auf dem Computer des Benutzers zwischengespeichert wird, sich von dem Paketcode in der Administratorinstallation unterscheidet. Wenn sich der auf dem Computer des Benutzers zwischengespeicherte Paketcode von der Administratorinstallation unterscheidet, installieren Sie die Anwendung von der Administratorinstallation neu, und patchen Sie dann den Clientcomputer.
Wenn ein Patch einer der Tabellen in der folgenden Liste neue Inhalte hinzufügt, kennzeichnet Windows Installer den Patch als nicht deinstallierbar. Ein deinstallierbarer Patch kann einer Installation neue Dateien, Assemblys, Registrierungseinträge, Komponenten oder Features hinzufügen, indem neue Zeilen zu Datenbanktabellen hinzugefügt werden, die nicht in dieser Liste enthalten sind.
[! Hinweis]
Wenn ein Patch dem RemoveFile- oder RemoveRegistry- Tabellen neue Inhalte hinzufügt, markiert Windows Installer den Patch nicht als nicht deinstallierbar. Der Patch kann jedoch nicht deinstalliert werden, es sei denn, die Ressource zum Entfernen des neuen Inhalts ist noch nicht im ursprünglichen Installationspaket vorhanden. Wenn der Patch beispielsweise der RemoveFile-Tabelle eine neue Zeile hinzufügt, kann die entfernte Datei nicht wiederhergestellt werden, indem der Patch deinstalliert wird, wenn die Datei außerhalb der Dateitabelleist. Die Datei muss in der Dateitabelle des ursprünglichen Pakets und angewendeten Patches erstellt worden sein, damit der Patch deinstalliert werden kann.
Verwandte Themen