Paket-Manager Winget: Neue Funktionen für Deinstallation, Upgrade, Export und Import

    App-Installer und winget für das Package-ManagementMicrosofts neuer Paket-Manager Winget soll nach dem Vorbild des Linux-Tools APT Soft­ware für Windows ver­teilen. Bis dato bot er aufgrund seiner mageren Funktionen jedoch kaum einen prak­tischen Nutzen. Das ändert sich mit der Preview 0.3, die fehlende Funktionen für das Deinstallieren oder Upgrades bringt.

    Winget verfolgt einen ähnlichen Ansatz wie Chocolatey oder Ninite, die schon länger Standard­programme unter Windows hinzufügen oder entfernen können. Als Quelle für die Installations­pakete dienen zentrale oder lokale Repositories.

    Ursprünglich stellte Microsoft für Winget nur ein Repository auf Github bereit, das mittlerweile unter winget.azureedge.net erreichbar ist und über 1400 Pakete mit kostenloser Software enthält. Darunter finden sich neben populären Editoren, Packern, Grafik­programmen oder Web-Browsern noch jede Menge Tools für Entwickler oder Admins.

    Bisher konnte man mit Winget dort nur nach Produkten suchen, sich Details dazu anzeigen lassen und die Software installieren. Es war nicht in der Lage, lokal vorhandene Programme aufzulisten, sie zu aktualisieren oder zu entfernen.

    Verwaltung aller Windows-Programme

    Das größte Hindernis für die Implementierung dieser Funktionen bestand darin, dass Winget nicht nur Programme verwalten sollte, die es selbst hinzugefügt hat, sondern auch solche, die über einen anderen Mechanismen wie MSI, EXE-Installer, APPX oder MSIX ins System gelangt sind.

    Der in der Preview 0.3 eingeführte Befehl list dient nun dazu, die bereits installierte Software anzuzeigen. Er spiegelt im Prinzip wieder, was man auch in der System­steuerung unter Programme deinstallieren zu sehen bekommt. Der Aufruf von

    winget list

    gibt den Namen, eine ID und die Version für jede Anwendung aus.

    Winget list gibt alle installierten Programme aus, unabhängig davon, aus welcher Quelle sie stammen.

    Möchte man die Liste auf bestimmte Produkte eingrenzen, dann unterstützt Winget dafür keine Wildcards, sondern nur eine Substring-Suche. So würde

    winget list xbox

    alle auf Windows 10 vorinstallierten Xbox-Apps auswerfen.

    Programme entfernen

    Versucht man diese anschließend mit dem ebenfalls neuen Befehl uninstall zu entfernen, dann wird ein solches Vorhaben scheitern, wogegen es bei MSI durch die Bank funktioniert. Im Fall der Store Apps erhält man dann die Meldung, dass ein entsprechendes Paket nicht gefunden wurde.

    Store Apps, die man über Winget installiert, lassen sich problemlos entfernen, bereits vorhandene dagegen nicht.

    Dabei bindet Microsoft aber mit der Preview 0.3 auch den Store als weitere Quelle ein. Allerdings lassen sich längest nicht alle Apps von dort installieren, vielmehr listet Winget mit diesem Befehl nur zirka 300 ausgesuchte Anwendungen auf:

    winget search -s msstore

    Winget hat nur Zugriff auf eine kleine Auswahl von Store-Apps.

    Wie man leicht feststellen kann, finden sich darunter praktisch keine der in Windows 10 vor­installierten Apps. Die Fehlermeldung, wonach kein Paket gefunden werden konnte, bezieht sich also offenbar auf das Repository.

    Limitierter Export

    Dafür spricht auch das Verhalten des ebenfalls neuen export-Befehls. Er dient dazu, die Liste der installierten Programme in eine Datei zu schreiben, so dass man diese auf einem anderen Rechner in einem Durchgang über die import-Funktion installieren kann.

    Hier erhält man bei den meisten Anwendungen die Meldung "Das installierte Paket ist in keiner Quelle verfügbar". Um die Programme, die Winget lokal gefunden hat, exportieren zu können, muss es ihnen offenbar ein Manifest auf einem der Repositories zuordnen können. Dieses enthält Metadaten wie den Herausgeber, den Namen oder die Version der Software.

    Winget kann aktuell praktisch keine der vorinstallierten Store-Apps exportieren

    Zu den größten Aufgaben, um aus Winget ein praxistaugliches Tool zu machen, gehört mithin nicht nur eine möglichst vollständige Ausstattung der Repositories mit Software, sondern obendrein deren lückenlose Dokumentation durch Manifest-Dateien. An ein automatisches Update, die der neu hinzu­gekommene upgrade-Befehl vorsieht, ist sonst nicht zu denken.

    Aktivierung der experimentellen Funktionen

    Alle oben erwähnten Neuerungen, also sowohl die zusätzlichen Befehle als auch die Integration des App Stores, haben aktuell noch einen experimentellen Status. Daher muss man sie erst durch einen Eintrag in die Konfigurations­datei freischalten. Diese öffnet man mittels

    winget settings

    im Standard-Editor für das JSON-Format. Dort fügt man folgenden Abschnitt ein:

    Die Konfiguration für Winget liegt im JSON-Format vor. Hier aktiviert man die experimentellen Funktionen.

    Er aktiviert neben dem Microsoft Store als Quelle auch die noch vorläufigen Befehle list, upgrade, uninstall und export, welche ebenfalls mit der Preview 0.3 hinzugekommen sind.

    Die experimentellen Features sind erst nach dem Update der Konfiguration verfügbar.

    Verfügbarkeit

    Microsoft liefert Winget als Feature des Desktop App Installer aus. Die aktuelle Version kann man von Github herunterladen und per Side-Loading installieren.

    Auf dieser Seite findet sich auch DesktopAppInstallerPolicies.zip, das eine ADMX-Vorlage inklusive mehrerer Sprachdateien enthält.

    GPO-Einstellungen für Winget: Sie finden sich im Zweig Computerkonfiguration unter Windows-Komponenten.

    Sie erlaubt Admins, Winget über Gruppen­richtl­inien zu konfigurieren. Auf diesem Weg lässt es sich für bestimmte PCs komplett deaktivieren, außerdem kann man auf diesem Weg auch die zulässigen Repositories festlegen.

    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.

    Keine Kommentare