Windows Package Manager (WinGet)

Eintrag zuletzt aktualisiert am: 12.11.2022

Der Windows Package Manager (WinGet) ist ein Softwarepaketmanager für Windows, den Microsoft im Mai 2020 eingeführt hat.

Das Werkzeug winget.exe gehört mittlerweile zum Lieferumfang von Windows 11 und aktuellen Versionen von Windows 10. Es kann auf älteren Windows 10 nachinstalliert werden per Windows Apps Store [https://apps.microsoft.com/store/detail/appinstaller/9NBLGGH4NNS1?hl=de-de&gl=de]. Für Serverversionen von Windows gibt es winget.exe noch nicht.

Hintergründe (Stand Mai 2022)

Mit dem Windows Package Manager will Microsoft insbesondere Softwareentwicklern auf einfache Weise ermöglichen, ihren Entwicklersystemen reproduzierbar zu installieren. Der Windows Package Manager besteht zwei Teilen: Das Windows Package Manager Community Repository [https://github.com/microsoft/winget-pkgs] besteht aus einer Sammlung von Manifest-Dateien im YAML-Format, die eine zu installierende Anwendung mit ihrer Installationsquelle festlegen. Listing 1 zeigt ein Beispiel für eine solche Manifestdatei.

Als Client kommt eine Kommandozeilenanwendung (winget.exe) [https://github.com/microsoft/winget-cli] zum Einsatz, das Microsoft als MSIX-Paket auf GitHub anbietet [https://github.com/microsoft/winget-cli/releases].

Aktuell sind bereits einige Dutzend Manifestdateien [https://github.com/microsoft/winget-pkgs/tree/master/manifests] verfügbar, darunter Frameworks wie node.js, Oracle JRE und OpenJDK sowie Anwendungen wie Git, DropBox, Chrome, Firefox, Opera, Zoom, Spotify, CCleaner, Notepad++, vim, TreeSize, File Zilla, OBS Studio, VLC WhatsApp und 7Zip. Auch eine Ubuntu-Installation für das Windows Subsystem for Linux (WSL) ist dabei.

Da sich die Anwendungen nicht auf typischer Entwicklerprodukte beschränkt, könnte der Windows Package Manager auch außerhalb der Entwicklergemeinde auf Interesse stoßen. Jedermann kann Manifestdateien per Pull Request in das Windows Package Manager-Repository einbringen. Beim Erstellen einer Manifestdatei hilft das von Microsoft bereitgestellte PowerShell-Skript YAMLCreate.ps1 [https://github.com/microsoft/winget-pkgs/blob/master/Tools/YamlCreate.ps1].

Mit winget.exe lassen sich auch Manifeste aus anderen Quellen einschließlich der lokalen Festplatte installieren. Allerdings ist der neue Paketmanager auf Windows 10 ab Version 1709 (Creators Update) beschränkt.

In einem Blogeintrag [https://devblogs.microsoft.com/commandline/windows-package-manager-preview/] betont Microsoft, dass der neue Paketmanager eine Ergänzung zum bestehenden Microsoft Store auf Kommandozeilenebene darstellen soll und nicht den Microsoft Store ablösen. Der Windows Package Manager soll auch keine Bezahlsysteme umfassen. Der Blogeintrag begründet auch, warum Microsoft die Notwendigkeit für einen weiteren Paketmanager in Ergänzung zu bestehenden Lösungen wie Chocolatey, Scoop, AppGet, Npackd und den eigenen OneGet-Paketmanager für PowerShell sieht. Microsoft will ein vertrautes Repository erschaffen, indem die Manifeste automatisch geprüft werden. Microsoft will dazu u.a. SmartScreen [https://support.microsoft.com/de-de/help/17443/microsoft-edge-smartscreen-faq], das im Microsoft Edge-Browser zum Einsatz kommt, verwendet.

Beispiel: YAML-Datei für die Installation von Notepad++

Id: Notepad++.Notepad++
Name: Notepad++
AppMoniker: NPP
Version: 7.8.6
Publisher: Notepad++
Author: DonHo
License: Copyright - GPL License
LicenseUrl: https://github.com/notepad-plus-plus/notepad-plus-plus/blob/master/LICENSE
MinOSVersion: 10.0.0.0
Homepage: https://notepad-plus-plus.org/
Tags: "notepad,text editor,notepadPP, notepad++, editor"
InstallerType: exe

Installers


Installers:
- Arch: x64
Url: https://github.com/notepad-plus-plus/notepad-plus-plus/releases/download/v7.8.6/npp.7.8.6.Installer.x64.exe
Sha256: 03B3A8E2D0395B2DCAF7CD30CB47106EBAC678CBCD72E81BB5EE0E618927D3DD
Language: en-US
Switches:
Silent: "/S"
SilentWithProgress: "/S"