Windows Package Manager
# Windows Package Manager

Der Windows Package Manager, auch winget genannt, ist ein freier und quelloffener Paketmanager, der für Windows 10 (ab Version 1709) und Windows 11 entwickelt wurde. Er besteht aus einem Kommandozeilendienst und einer Reihe von Diensten zur Installation von Anwendungen. ISVs können ihn als Vertriebskanal für ihre Softwarepakete nutzen.

## Geschichte

Der Windows Package Manager wurde erstmals auf der Microsoft-Build-Entwicklerkonferenz im Mai 2020 angekündigt.

Vor der Entscheidung, den Windows Package Manager zu entwickeln, analysierte das Team dahinter die Dienste Chocolatey, Scoop, Ninite, AppGet, Npackd und das PowerShell-basierte OneGet. Nach der Ankündigung von winget behauptete Keivan Beigi, der Entwickler von AppGet, dass Microsoft ihn im Dezember 2019 unter dem Vorwand interviewt habe, AppGet zu übernehmen und ihn einzustellen. Nachdem Microsoft mit Beigi gesprochen hatte, stellte der Konzern angeblich die Kommunikation mit ihm ein, bis einen Tag vor dem Start von winget bestätigt wurde, dass sie ihn nicht einstellen würden. Beigi war bestürzt über Microsofts mangelnde Anerkennung von AppGet. Die Veröffentlichung von winget veranlasste Beigi zu der Ankündigung, dass AppGet im August 2020 eingestellt werden würde. Microsoft reagierte mit einem Blog-Post, in dem eine Reihe von Funktionen von winget AppGet zugeschrieben wurden.

Am 6. Oktober 2021 wurde der Windows Package Manager mit Version 1.1.12663 auch für Windows 11 veröffentlicht.

## Funktionen

Das winget-Tool unterstützt Installer auf EXE-, MSIX- und MSI-Basis. Das öffentliche Windows Package Manager Community Repository enthält Manifest-Dateien für unterstützte Anwendungen im YAML-Format. Im September 2020 fügte Microsoft die Möglichkeit hinzu, Anwendungen aus dem Microsoft Store zu installieren, sowie eine Funktion zur automatischen Befehlsvervollständigung.

Um die Wahrscheinlichkeit zu verringern, dass bösartige Software ihren Weg in das Repository und auf den Zielrechner findet, verwendet der Windows Package Manager unter anderem Microsoft SmartScreen, statische Analyse und SHA256-Hash-Validierung.

Der Quelltext des winget-Clients und das Community-Manifest-Repository stehen unter der MIT-Lizenz und werden auf GitHub gehostet.

### Befehle

| Name | Beschreibung |
| - | - |
| install | Installiert das angegebene Paket |
| show | Zeigt Informationen zu einem Paket an |
| source | Verwaltet die Programmquellen |
| search | Suchen und Anzeigen grundlegender Informationen zu Paketen |
| list | Installierte Pakete anzeigen |
| upgrade | Zeigt verfügbare Upgrades an und führt sie aus |
| uninstall | Deinstalliert das angegebene Paket |
| hash | Hilfsprogramm zum Hashen von Installationsdateien |
| validate | Überprüft eine Manifestdatei |
| settings | Einstellungen öffnen oder Administratoreinstellungen festlegen |
| features | Zeigt den Status von experimentellen Features an |
| export | Exportiert eine Liste der installierten Pakete |
| import | Installiert alle Pakete in einer Datei |

Das folgende Beispiel installiert Visual Studio Code, einen Open-Source-Quelltext-Editor von Microsoft.

