Mein Groll Microsoft gegenüber wegen Windows 11 ist noch nicht verflogen. Dennoch geht es heute um eine Errungenschaft, die mich – zumindest ein kleines bisschen – versöhnlicher stimmt. Es handelt sich um den Windows Package Manager, in der Kurzform auch Winget genannt.
Natürlich, an dieser Stelle ist ein müdes Lächeln aus den Reihen der Linux-Fans unvermeidlich. Völlig zu Recht, wie ich finde, aber dazu gleich mehr. Zuerst sollte ich erklären, worum es sich eigentlich handelt.
Also, Microsoft ist auf die grandiose – und ungefähr seit dreissig Jahren überfällige – Idee gekommen, eine Paketverwaltung in Windows einzubauen. Sie verpackt Software zur Auslieferung auf die Clientcomputer in Pakete, die alles enthalten, was man braucht: Das ausführbare Programm, aber auch Verweise auf Programmbibliotheken und weitere Ressourcen.
Ein Befehl und die Installation läuft
Die Paketverwaltung löst solche Abhängigkeiten automatisch auf und installiert alles, was notwendig ist, in einem Rutsch. Sie kümmert sich auch um die Aktualisierung der Software und entfernt obsolete Programme auf saubere Art.
Sie tut das über die Befehlszeile. Das wirkt bei einem Betriebssystem mit grafischer Benutzeroberfläche auf den ersten Blick unglaublich anachronistisch. Es hat aber wesentliche Vorteile: Man muss sich nicht erst das Installationsprogramm aus dem Netz herunterladen und sich mit einem Setup-Programm herumschlagen. Nein, es braucht (im Idealfall) nur eine einzige Eingabe, um ein Programm herunterzuladen und einzurichten – oder auch zu aktualisieren oder zu deinstallieren.
Nicht nur das: Man kann alle Programme in einem Rutsch aktualisieren und sich auch Scriptdateien schreiben, die eine grössere Zahl von Anwendungen automatisch herunterladen und einrichten.
Die Paketverwaltung bezieht die Informationen über die verfügbaren Programme aus einem Repository, also eine Art App Store. Das wiederum ist auch ein Grund für Kritik, wie der Beitrag App stores and Linux repositories: Maybe the worst ideas ever exemplarisch zeigen soll. Für diesen Blogpost hier ist das ein Nebenaspekt – wichtig scheint mir, dass Nutzer die Möglichkeit haben, das Repository zu wechseln, wenn sie, aus welchem Grund auch immer, mit dem angestammten nicht zufrieden sind.
Für Linuxianer ein alter Hut
Jedenfalls bin ich nun beim Grund angelangt, weswegen die Linux-Anwender in einem Punkt wirklich mehr als berechtigt sind, mit einem müden Lächeln auf Windows herabzuschauen: Sie sind sich diesen Komfort schon immer gewohnt, weil Paketverwaltungen bei Linux von Anfang an Standard sind – und in der Tat ein Grund war, weswegen ich als Windows- und Mac-Nutzer neidisch auf dieses System war.
Oder um es andersherum zu formulieren: Eine solid implementierte Paketverwaltung löst jedes einzelne der Probleme, an denen Windows im Umgang mit Software seit jeher krankt:
- Wir kennen alle den Ärger, der durch inkompatible oder fehlende Programmbibliotheken ausgelöst wird – das Stichwort dazu ist DLL hell.
- Die Aktualisierung von Software unter Windows ist mühsam, weil man sie entweder manuell durchführen muss oder jedes popelige Programm seinen eigenen Updater mitbringt, und sich diese Programme nach dem Systemstart dann gegenseitig lahmlegen – und notabene auch den Nutzer am Arbeiten hindern.
- Das Deinstallieren von Programmen unter Windows ist ein Schmerz im Hintern. Und selbst wenn man sich Mühe gibt, bleiben oft Überbleibsel und Altlasten zurück (siehe hier, hier, hier und hier).
- Das Einrichten eines neuen Computers ist mühsam, weil man Programme manuell herunterlädt und einzeln über umständliche Installationsprogramme auf den PC bringt. Es gibt Behelfslösungen (Der Alles-in-einem-Installer), doch die sind nicht so elegant.
- Die Paketverwaltung reduziert auch die Gefahr, dass man beim Googeln nach einer Software nicht zur Originalquelle der Software gerät und sich eine manipulierte Variante einhandelt oder in eine Abofalle läuft.
Microsoft hat den Windows Package Manager im Mai 2020 an der Build-Konferenz vorgestellt. Es gibt ihn nicht nur in Windows 11; er ist inzwischen auch in Windows 10 enthalten; gemäss diesem Blogbeitrag hier ab Version 1809 – wobei mir nicht ganz klar ist, seit welchem Update das der Fall ist. (Ich habe auf meinem Rechner Windows 10 21H2 installiert.)
Um den Paketmanager zu verwenden, bemüht man die Powershell (siehe Ein etwas kraftloser Einstieg in die Powershell) oder das Programm App-Installer.
Welche Programme sind verfügbar?
Erste Frage: Wie findet man heraus, welche Programme verfügbar sind?
Das geht einfach über den Befehl winget search
: Mit ihm erscheint eine ellenlange Liste mit allen Programmen, die man nach Lust und Laune durchstöbern könnte (alternativ funktioniert auch winget show
). Die Liste lässt sich mit Stichworten eingrenzen. Das tut man durch die Eingabe winget search [Suchbegriff]
, also zum Beispiel winget search browser
. Sie fördert eine lange Liste mit Browsern zutage, in der u.a. Vivaldi, Opera, Firefox, Edge, Waterfox, Brave, Chrome, K-Melon und viele weitere Programme zu finden sind, die man verwenden oder nicht verwenden möchte.
Installieren…
Um nun eine Anwendung zu installieren, tippt man winget install [Paket]
, zum Beispiel winget install IrfanView64
. Dann muss man meist noch die Nutzungsbestimmungen durch Eintippen von y
abnicken, und daraufhin erfolgt die Installation – und die Anwendung steht hinterher ohne weitere Umstände zur Verfügung.
Das ist mal ein echter Fortschritt!
Es gibt einige weitere Befehle, die man aufgezählt bekommt, wenn man winget
am Prompt der Powershell eingibt.
Interessant ist winget list
: Sie zeigt die installierten Pakete auf, wobei auch Programme erscheinen, die bereits auf dem Rechner vorhanden sind und auf herkömmliche Weise installiert worden sind. Mit winget uninstall [Paket]
wird ein Paket entfernt – wobei man, wie aus vorheriger Erklärung hervorgeht, auch Programme via Powershell entfernen kann, die man auf herkömmliche Weise über einen Installer eingerichtet hat.
… und aktualisieren
winget upgrade
zeigt vorhandene Aktualisierungen auf und mit winget upgrade [Paket]
führt man das Update aus. Bei den vorhandenen Programmen erscheint dann allerdings doch das Desktop-Installationsprogramm, das das Update über die vorhandene Installation drüberbügelt – aber winget ist dennoch eine komfortable Art, um die wichtigen veralteten Anwendungen ohne viel Federlesens auf den neuesten Stand zu bringen.
Beitragsbild: Das sind jene beiden Microsoft-Entwickler, die sich seit zwanzig Jahren für eine Paketverwaltung in Windows eingesetzt haben (Diana Smykova, Pexels-Lizenz).
In der Tat: als sehr langjähriger Linux-Anwender erlaube ich mir, wirklich mächtig zu schmunzeln 😉
Und unsere Paket-Manager schaffen es alle, mit einer graphischen Oberfläche daher zu kommen, seit bald Jahrzehnten, auch die altväterlichen (aber sehr mächtigen) Synaptic und YaST.
Den Terminal im Linux brauche ich eigentlich nur noch, wenn ich an meinen Fairphones herumbastle, z.B. beim Installieren von alternativen Betriebssystemen – aber da ich vor über 30 Jahren Unix gelernt habe, ist auch das keine Hexerei.
Viel Vergnügen damit, Paket-Manger sind wirklich eine Erleichterung 🙂
Ich arbeite gern mit der Befehlszeile – allein, weil ich meinen Rasperry Pi meistens ohne Bildschirmanschluss via Terminal als Server nutze. Trotzdem bin ich zuversichtlich, dass Microsoft ein grafisches Frontend für den Paketmanager hinbekommen wird – falls es das nicht schon gibt und ich einfach zu blöd bin, die im Startmenü zu finden. 😱
Merci, und ich hoffe es für Euch 😉
Und Ja, das ist ein weiteres Merkmal von Windows, das sehr unübersichtliche Startmenü – zumindest soweit ich mich noch erinnern mag (ich habe sicher seit 2014 keinen Windows-Rechner mehr angerührt, sprich seit meiner frühzeitigen Pensionierung, da ich ja dann den Hochschul-Schlepptop zurückgegeben habe).
Gute Zeit!
D A S ist grossartig. Hätte nie gedacht, dass MS mal sowas auf die Reihe kriegt. Und wenn, hätte ich es nie selber rausgefunden. Danke für den Tipp. War schon lange nichts mehr so hilfreich wie das. 😉