Windows-Updates: Deinstallation nicht entfernbarer Pakete erzwingen

Windows Update[English]Manche Windows Updates werden von Microsoft als permanent eingestuft und besitzen keine Option zum Deinstallieren. Im Blog-Beitrag zeige ich, wie man das Problem lösen und die Pakete doch noch deinstallieren kann. Die Screenshots und das Beispiel stammen aus Windows 7, die Technik lässt sich aber auch unter Windows 8.1 und Windows 10 verwenden.


Werbung



Das Problem kurz angerissen

Gibt es mit einem installierten Update unter Windows Probleme, kann man über die Systemsteuerung zu Programme und Funktionen gehen. Klickt man dann auf Installierte Updates anzeigen lässt sich unter Installierte Updates die Liste der installierten Pakete einsehen.

Update deinstallieren

Markiert man ein Update, wird eine Schaltfläche Deinstallieren eingeblendet (siehe obigen Screenshot), über den man das Paket auch wieder deinstalliert bekommt. Bei Problemen die letzte Rettung bzw. eine Diagnosemöglichkeit, um herauszufinden, ob ein Update Fehlfunktionen verursacht.

Aber das funktioniert nicht immer. Manche Updates besitzen keine Option zum Deinstallieren. Das ist mir erstmals beim Servicing Stack-Update KB3177467 vom 11. Oktober 2016 klar geworden (siehe Windows 7: Servicing Stack-Update KB3177467 (11.10.2016).

Uninstall Update KB3177467

Geht man über die Systemsteuerung auf Programme und Funktionen –> Installierte Updates anzeigen und wählt das Update aus, wird keine Schaltfläche Deinstallieren in der Kopfzeile (rechts neben Organisieren) eingeblendet (siehe obiger Screenshot).

Kommt es zu Problemen, bei denen man das betreffende Paket vermutet, lässt sich dieses offiziell nicht deinstallieren. Man kann also nichts deinstallieren. Die Lösung besteht darin, Windows per Systemwiederherstellung auf den Punkt vor der Update-Installation zurück zu rollen. Alternativ ließe sich ein Systembackup, erstellt vor der Update-Installation, zurückspielen. Was aber, wenn beide Optionen nicht zur Verfügung stehen?

Warum und wie macht Microsoft das?

Manche Updates greifen tief ins System ein und sind Voraussetzung, um weitere Updates zu installieren. Dann erklärt Microsoft die Updates in den betreffenden .msu-Dateien als “permanent”, im Gegensatz zu den üblicherweise als “removable” eingestuften sonstigen Updates. In den KB-Artikeln wird gelegentlich auf diesen Umstand hingewiesen (siehe hier).

Die Steuerung, welchen Status ein Update erhält, erfolgt über sogenannte .mum-Dateien (mum steht für Microsoft Update Manifest). Die .mum-Dateien sind Bestandteil der .msu-Pakete und werden nach der Installation im Ordner C:\Windows\servicing\Packages\ abgelegt.


Werbung

Es handelt sich um XML-Dateien, in denen jeweils vermerkt ist, welche Pakete das Update benötigt, ob Sprachanpassungen oder ein Neustart nach der Installation erforderlich sind.

Ich habe einige Einträge in obigem Screenshot mit Pfeilen markiert. Die Steuerung, ob ein Update permanent, also nicht deinstallierbar ist, erfolgt über das XML-Attribut:

permanency=”permanent”

Ein Attributwert

permanency=”removable”

oder ein fehlendes Attribut ermöglicht dagegen das Deinstallieren eines Pakets per Systemsteuerung oder mittels dism (Windows 8 und höher).

Dies Informationen finden sich in diversen Webseiten, wie z.B. hier (extrem kurz), in diesem MS-Answers-Forenthread (Post von PhilipdayWF) – und ist ausführlicher in deutsch bei deskmodder.de hier für Windows 8.1 beschrieben.

Stopp: Das Entfernen eines permanenten Updates durch den nachfolgend beschriebenen Eingriff birgt aber die Gefahr, dass sioh später ausgerollte Updates nicht mehr installieren lassen. Für KB3177467 verweise ich auf den Kommentar von André (sowie diesen und diesen Kommentar von ihm), der auf das Risiko einer Servicing Stack-Update-Deinstallation hinweist. Dies kann bei der Installation neuer Servicing Stack-Updates zu Fehlern (STATUS_SXS_COMPONENT_STORE_CORRUPT) führen, wenn Bezug auf die entfernten Pakete genommen wird.

Hinweise zur Analyse von Update-Fehlern bei Servicing Corruption finden sich übrigens im Technet-Beitrag Advanced guidelines for diagnosing and fixing servicing corruption. Die Analyse von Update-Fehler ist hier beschrieben. Hinweise zur Struktur der in .msu-Dateien enthaltenen .cab-Dateien hat jemand hier zusammen getragen.

Ein Paket deinstallierbar machen

Sofern die obige Warnung berücksichtigt wird (ggf. einen Wiederherstellungspunkt oder ein Backup anfertigen), kann man die obigen Hinweise verwenden, um die betreffende .mum-Datei anzupassen. Da es sich um XML-Dateien handelt, reicht der Windows-Editor zum Ändern.

Allerdings gibt es ein Problem: Nur der TrustedInstaller-Dienst hat Vollzugriff auf die .mum-Dateien. In den oben verlinkten Webseiten gibt es dann den lapidaren Hinweis, die Berechtigungen der .mum-Dateien anzupassen, um diese zu editieren. Letztendlich läuft es aber auf die Übernahme des Besitzes hinaus, um unter einem Benutzerkonto die .mum-Dateien ändern zu können. So etwas ist komplex und der “Ansatz mit der Brechstange” gefällt mir nicht, insbesondere, weil es auch anders geht.

Nachfolgender Ansatz nutzt den Trick, den Windows-Editor Notepad.exe mit den Privilegien bzw. im Kontext des TrustedInstallers auszuführen.

1. Laden Sie sich von der Seite sodrum.org die portable Freeware PowerRun herunter und entpacken Sie das ZIP-Archiv in einen Ordner.

PowerRun

2. Starten Sie PowerRun, wählen den Eintrag notepad.exe mit einem Rechtsklick an und verwenden Sie den Kontextmenübefehl Datei laufen.

3. Wählen Sie im Editor Datei – Öffnen und stellen Sie den Dateifilter auf Alle Dateien (*.*).

Mum-Datei editieren

4. Navigieren Sie in der Symbolleiste des Dialogfelds Öffnen zum Ordner C:\Windows\servicing\Packages.

5. Geben Sie im Suchfeld den Suchbegriff (z.B. KB3177467*.mum) ein, um die betreffenden Dateien zu finden.

6. Wählen Sie die erste Datei an und klicken Sie auf die Schaltfläche Öffnen, um die .mum-Datei zu laden.

mum-Datei ändern

7. Suchen Sie den Eintrag permanency=”permanent” und ändern Sie diesen in den Wert permanency=”removable”

8. Im Anschluss speichern Sie die Änderung (z.B. durch Schließen des Editorfensters). Das Speichern sollte klappen, da der Editor mit den Privilegien des TrustedInstaller läuft.

9. Wiederholen Sie die obigen Schritte mit allen im Dialogfeld Öffnen bei der Suche angezeigten .mum-Dateien (im konkreten Beispiel sind es drei Dateien).

Wenn die obigen Schritte korrekt ausgeführt wurden, lässt sich das Update-Paket mit folgenden Schritten deinstallieren.

1. Gehen Sie über die Systemsteuerung auf Programme und Funktionen –> Installierte Updates anzeigen.

2.  Wählen Sie das gewünschte Update aus und klicken Sie auf die Schaltfläche Deinstallieren.

Beim Update KB3177467, welches weiter oben als nicht deinstallierbar aufgeführt wurde, ist jetzt die Schaltfläche Deinstallieren sichtbar. Man kann die Deinstallation auch in einer administrativen Eingabeaufforderung mit folgendem Befehl veranlassen:

wusa /uninstall /kb:3177467 /quiet /norestart

wobei 3177467 für die KB-Nummer des Updates steht (siehe auch hier und hier). Die hier beschriebenen Ansätze funktionieren bei allen Windows-Versionen, von Windows 7 bis Windows 10.

Im Anschluss kann man das System auf beschädigte Systemdateien prüfen (mit sfc /scannow) oder ab Windows 8 den Komponentenstore überprüfen lassen (siehe Windows 8: Komponentenstore reparieren).

Abschließende Hinweise: Eingangs hatte ich diesen deskmodder.de-Beitrag erwähnt – und hier im Blog gab es ebenfalls entsprechende Kommentare, dass man das Servicing Stack Update KB3177467 mittels der .mum-Eingriffe deinstalliert habe. Der deskmodder-Beitrag bezieht sich auf einen speziellen Fall – die dort aufgeführten Registrierungseingriffe sind nicht erforderlich.

Die Eingriffe und Deinstallation erfolgen auf eigene Gefahr – insbesondere gilt mein eingangs gegebener Hinweis, dass es nach der Deinstallation von Servicing Stack Updates zu Problemen bei weiteren Update-Installationen kommen kann. Sofern man aber ein System mit Fehlfunktionen hat, kann man mit obigem Ansatz zumindest klären, ob es am fraglichen Update hängt. Falls nicht, ließe sich das Update per Offline-Installation erneut installieren oder ein Zurückrollen per Systemwiederherstellung auf den Zustand vor Deinstallation des Updates versuchen. Vielleicht hilft der Blog-Beitrag daher Betroffenen weiter.

Ähnliche Artikel
Windows 7: Servicing Stack-Update KB3177467 (11.10.2016)
Windows 7: Servicing Stack-Update KB3177467 – Korrekturen
Oktober-Patchday: Einstieg in Windows 7/8.1 Rollup-Updates
Patchday-Infos: Was ab Oktober für Windows 7/8.1 kommt
Windows 10: Upgrade-Fehler analysieren und beheben
System auf beschädigte Systemdateien prüfen
Windows 8: Komponentenstore reparieren


Werbung

Dieser Beitrag wurde unter Tipps, Update, Windows, Windows 10, Windows 7, Windows 8, Windows 8.1, Windows Server abgelegt und mit , , , , , , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

5 Kommentare zu Windows-Updates: Deinstallation nicht entfernbarer Pakete erzwingen

  1. KPK sagt:

    Danke! Sehr interessanter Beitrag, auch der Hinweis auf das Tool “PowerRun”, welches ich bislang nicht kannte.

  2. Nobody sagt:

    Bedanke mich ebenfalls für die Ausführungen und den Softwaretipp.
    Grüße

  3. Sam sagt:

    Hallo Hr. Borns. Im Titel hätte man vielleicht auch den Bezug aufs OS erwähnen können.

    “Windows-Updates: Deinstallation nicht entfernbarer Pakete unter Windows 7 erzwingen”

    oder

    “Windows 7 -Updates: Deinstallation nicht entfernbarer Pakete erzwingen”

    Ansonsten ein Danke natürlich auch von meiner Seite für diesen Tip!

    • Steht im Artikel und ist generell mit “Windows” verschlagwortet: d.h. der Artikel gilt für Windows 7 bis Windows 10! Ich habe jetzt aber noch einen Satz zur Klarstellung im Textanriss aufgenommen – danke für den Hinweis, dass das nicht ganz klar rausgekommen ist.

      • Sam sagt:

        Ok, das gilt also doch für Windows 7 bis Windows 10. Gut zu wissen. Danke. Denn irgendwann – spätestens ab dem Jahr 2020 – werde wohl auch ich mich mit diesem Windows 10 anfreunden müssen, zwangsläufig.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.