Apps unter Windows 8 deinstallieren mit DISM und PowerShell


    Tags: ,

    Apps in Windows 8 interaktiv über die GUI deinstallierenHerkömmliche Desktop-Anwendungen lassen sich manuell über die System­steuerung, auto­matisch über Gruppen­richtlinien oder über ent­sprechende Management-Tools ent­fernen. Dagegen muss man zum Dein­stallieren von Store Apps unter Windows 8 auf die Kommando­zeile und auf Power­Shell aus­weichen, wenn man sie für alle User voll­ständig entfernen wll.

    Die von Microsoft mittlerweile als Store Apps oder Modern UI Apps bezeichneten Anwendungen basieren nicht nur auf einem anderen Programmiermodell wie herkömmliche Windows-Programme, sondern nutzen auch ein anderes Package-Format. Statt im etablierten MSI werden sie als APPX ausgeliefert. Daher folgt nicht nur das Setup von Apps anderen Regeln, sondern erwartungs­gemäß gilt dies auch für die Deinstallation.

    Bereitgestellte versus installierte Apps

    Das Standard-Image von Windows 8 (install.wim), wie es auf DVD oder in der ISO-Datei enthalten ist, stellt eine Reihe von Apps bereit, die für jeden neuen User bei der ersten Anmeldung separat installiert werden. Deshalb muss man anders als bei herkömmlichen Anwendungen zwischen bereitgestellten und installierten Apps unterscheiden.

    Entfernt etwa ein Login-Script eine App, die für einen bestimmten Benutzer installiert wurde, dann bleibt sie für alle anderen User auf dem gleichen Rechner erhalten. Das Gleiche gilt, wenn der Benutzer selbst im Kontextmenü einer App den Befehl Deinstallieren ausführt. Legt in diesem Fall der Administrator neue Konten an, dann werden die im Image bereitgestellten Apps weiterhin installiert, sobald sich der betreffende Anwender das erste Mal am System anmeldet.

    Eliminiert man dagegen eine bereitgestellte App, dann wird sie für den aktuellen Benutzer deinstalliert und für neue User nicht mehr eingerichtet. Dagegen bleibt sie für vorhandene Anwender, die sie schon zuvor installiert haben, auch künftig erhalten.

    Apps aus Referenzinstallation entfernen

    Windows 8 enthält eine Reihe von Apps, die sich primär an private Anwender richten. Dazu zählen News- und Börsenticker, solche für Wetterberichte, Sport, Reisen oder Mail. Wenn diese im Firmenumfeld nicht erwünscht sind, dann entfernt man sie am besten bereits aus dem Image, das später auf die Clients verteilt werden soll.

    Dies kann man in einer aktiven Referenzinstallation von Windows 8 oder offline in einem gemounteten WIM-Archiv tun. Die folgenden Befehle funktionieren aber natürlich auch nach dem Deployment des Betriebssystems.

    Apps anzeigen und deinstallieren mit DISM

    Im ersten Schritt muss man herausfinden, welche Apps in einem Image überhaupt vorhanden sind. Ihre Paketnamen benötigt man, wenn man sie anschließend entfernen möchte. Diese Information erhält man mit Hilfe von DISM:

    dism /online /Get-ProvisionedAppxPackages | find "Paketname"

    Dieses Beispiel listet alle bereitgestellten Apps im aktuell ausgeführten Windows auf. Beim Offline-Servicing eines WIM-Archivs müsste man statt /online den Pfad zum Mount-Point in der Form /image:<Pfad> angeben (siehe dazu: Windows-Images mounten und bearbeiten mit DISM). Das Tool fürs Paket-Management ist dann auch in der Lage, die gewünschten Apps zu deinstallieren:

    dism /online /Remove-ProvisionedAppxPackage /PackageName:Microsoft.ZuneVideo_
    1.0.927.0_x86__8wekyb3d8bbwe

    Bereitgestellte Apps deinstallieren mit PowerShell

    Powershell bietet für diese Aufgabe deutlich mehr Optionen und ist auch in der Lage, nicht nur bereitgestellte, sondern auch installierte Apps zu entfernen. Um bereitgestellte Packages anzuzeigen, verwendet man das Cmdlet Get-AppxProvisionedPackage, wobei auch hier der Schalter -online die Apps der aktuell ausgeführten Windows-Installation anzeigt.

    Wie unter PowerShell üblich, kann man die Ausgabe eines Cmdlets über eine Pipe gleich an einen anderen Befehl weitergeben, so dass man in einem Aufruf die gewünschten Apps deinstallieren kann:

    Get-AppxProvisionedPackage -online | where {$_.PackageName -like "*Bing*"} | Remove-AppxProvisionedPackage -online

    Dieses Beispiel deinstalliert alle Bing-Apps, die standardmäßig in Windows 8 bereitgestellt werden.

    Installierte Apps entfernen

    Wenn man Apps nicht aus einem Image entfernen möchte, das erst verteilt werden soll, sondern vom bereits installierten Betriebssystem, dann reicht es nicht, nur die bereitgestellten Programme zu deinstallieren. Damit würden alle bereits installierten Instanzen der Apps weiter auf dem Rechner bleiben.

    In diesem Fall hilft das Cmdlet Get-AppXPackage weiter, weil es Auskunft darüber erteilt, welche User eine bestimmte App eingerichtet haben, beispielsweise den Zune Video-Player:

    Get-AppXPackage -Name Microsoft.ZuneVideo -AllUsers

    Umgekehrt kann man auch herausfinden, welche Apps ein einzelner User installiert hat:

    Get-AppXPackage -User <Benutzername>

    Wenn man schließlich weiß, welche Apps man entfernen möchte, dann führt man den Befehl nach dem Muster

    Remove-AppxPackage -Package Microsoft.XboxLIVEGames_1.0.927.0_x86__8wekyb3d8bbwe

    aus. Zu bedenken ist dabei, dass er nur die Apps des angemeldeten Benutzers entfernen kann. Möchte man eine installierte Anwendung für alle User entfernen, dann müsste man den PowerShell-Aufruf in ein Login-Script aufnehmen.

    Täglich Know-how für IT-Pros mit unserem Newsletter

    Wir ver­wenden Ihre Mail-Adresse nur für den Ver­sand der News­letter.
    Es erfolgt keine per­sonen­be­zogene Auswertung.

    Bild von Wolfgang Sommergut

    Wolfgang Sommergut hat lang­jährige Erfahrung als Fach­autor, Berater und Kon­ferenz­sprecher zu ver­schie­denen Themen der IT. Da­ne­ben war er als System­ad­mi­ni­stra­tor und Con­sultant tätig.
    // Kontakt: E-Mail, XING, LinkedIn //

    Verwandte Beiträge

    Weitere Links

    2 Kommentare

    Hallo,
    Ich habe die PS Befehle ebenso wie DISM in einer Eingabe Aufforderung ausprobiert. Jedoch gelingt es mir nicht, die im Store unter "Ihre APPs" als Nicht Installiert angezeigten, mal ausprobierten, aber für nicht funktionell befundenen und damit äußerst überflüssigen, mittlerweile 36 Spielzeuge loszuwerden.
    Da ich ein Tablet mit eines SSD nutze, möchte ich natürlich gerne alles überflüssige wirklich entfernen, so wie man auch "richtige" Programme wirklich entfernt.
    Mit Get -AppxPackage -User "Ich" werden die auch nicht angezeigt, daher weiß ich auch nicht wie ich die im Remove Kommando ansprechen soll.

    Vielleicht kann der sehr nützliche Artikel oben da noch einen Absatz dazu bekommen.

    Danke im Voraus
    Gert

    Kommt etwas spät, aber zur Erklärung: die dort aufgeführten Apps sind gerade ja NICHT installiert. Insofern brauchen sie auch keinen Platz und können natürlich auch nicht vom System entfernt werden - sie sind ja gar nicht da.

    Die Liste der "gekauften" Apps lässt sich nicht leeren.