Tags: Software-Distribution, Kommandozeile
Microsofts neuer Paket-Manager Winget soll nach dem Vorbild des Linux-Tools APT Software für Windows verteilen. Bis dato bot er aufgrund seiner mageren Funktionen jedoch kaum einen praktischen 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 Standardprogramme unter Windows hinzufügen oder entfernen können. Als Quelle für die Installationspakete 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, Grafikprogrammen 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 Systemsteuerung unter Programme deinstallieren zu sehen bekommt. Der Aufruf von
winget list
gibt den Namen, eine ID und die Version für jede Anwendung aus.
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.
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
Wie man leicht feststellen kann, finden sich darunter praktisch keine der in Windows 10 vorinstallierten 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.
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 hinzugekommene 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 Konfigurationsdatei freischalten. Diese öffnet man mittels
winget settings
im Standard-Editor für das JSON-Format. Dort fügt man folgenden Abschnitt ein:
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.
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.
Sie erlaubt Admins, Winget über Gruppenrichtlinien 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
Ähnliche Beiträge
- Winget 1.3: Support für portable Apps, Logging-Levels, URL für Return-Codes
- Firefox, Sysinternals, 7-Zip, Notepad++ mit winget automatisch installieren
- Microsoft veröffentlicht Windows Package Manager 1.0 (winget)
- Windows Package Manager (winget): Installation von Store Apps, Autovervollständigen von Paketnamen
- winget erhält PowerShell-Modul und Configuration Management
Weitere Links