winget auf Windows Server installieren, Preview-Features aktivieren


    Tags: , ,

    App-Installer und winget für das Package-ManagementMicrosofts neuester Paket-Manager ist in den aktuellen Versionen von Windows 10 und 11 bereits enthalten. Wenn man winget jedoch unter Windows Server nutzen oder eine Preview-Version ausprobieren möchte, dann muss man es manuell installieren. Bei Vorab-Versionen kann man dann die experimentellen Features aktivieren.

    Bei winget handelt es sich um einen Paket-Manager im Stile von Chocolatey oder Linux-apt, der Programme von einem Repository installieren, aktualisieren und entfernen kann. Das Kommando­zeilen-Tool ist zwar in Windows 10 und 11 enthalten, zurzeit allerdings nur in der Version 1.4.x.

    Seitdem hat sich in der winget-Entwicklung einiges getan, das letzte Release ist momentan 1.6.1573. Diese Preview bietet einige offiziell noch nicht freigegebene Features, die man jedoch schon ausprobieren und in begrenztem Rahmen einsetzen kann.

    winget als Bestandteil von App Installer

    Zu diesem Zweck muss man das gewünschte Release von App Installer herunterladen, das die betreffende Preview von winget enthält. Aus der Liste der auf GibHub angebotenen Dateien wählt man jene mit der Namensendung msixbundle. Diese kann man in Windows 10 / 11 im Explorer durch Doppelklick starten, um die Installation anzustoßen.

    Wenn App Installer auf einem System bereits vorhanden ist, kann man ein Update durch Doppelklick im Explorer starten.

    Alternativ setzt man in PowerShell folgenden Befehl ab:

    Add-AppxPackage -Path .\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle

    Anschließend sollte

    winget -v

    das erfolgreiche Update bestätigen.

    Installation einer winget-Preview unter Windows 11

    winget auf Windows Server installieren

    Offiziell unterstützt Microsoft winget auf Windows Server zwar nicht, aber es lässt sich auch dort installieren, allerdings nicht unter Server Core. Dafür sind aber erst Abhängigkeiten aufzulösen, weil als Voraussetzung VCLibs 14 und UI.Xaml.2.7 benötigt werden.

    Andernfalls wird man mit dieser Fehlermeldung konfrontiert:

    Das Paket Microsoft.DesktopAppInstaller_1.21.1573.0_x64__8wekyb3d8bbwe kann von Windows nicht installiert werden, da es von einem Framework abhängig ist, das nicht gefunden wurde. Stellen Sie das von CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US veröffentlichte Framework Microsoft.UI.Xaml.2.7 mit einer neutralen oder x64-Prozessorarchitektur und Mindestversion 7.2109.13004.0 zusammen mit dem zu installierenden Paket bereit.

    Auf Windows Server ist winget nicht vorinstalliert. Das Setup von App Installer setzt zudem zwei Bibliotheken voraus.

    Microsoft.UI.Xaml 2.7.3 lädt man als NuGet-Paket herunter, ändert die Erweiterung des Dateinamens von .nupkg auf .zip und entpackt das Archiv. Das Appx-Paket findet sich dann unter

    .\microsoft.ui.xaml.2.7.3\tools\AppX\x64\Release

    Dieses installiert man dann mit

    Add-AppxPackage -Path .\tools\AppX\x64\Release\Microsoft.UI.Xaml.2.7.appx

    Die Laufzeitbibliothek für Visual C++ findet man für alle unterstützten Architekturen auf dieser Seite. Nach dem Download installiert man sie folgen­der­maßen:

    Add-AppxPackage -Path .\Microsoft.VCLibs.x64.14.00.Desktop.appx

    Installation von winget unter Windows Server 2022

    Schließlich fügt man wie oben beschrieben den App Installer hinzu:

    Add-AppxPackage Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle

    Experimentelle Features aktivieren

    In der aktuellen Version bietet winget mehrere Features, die experimentellen Status haben. Dazu zählen das Configuration Management auf Basis von PowerShell DSC, das Installieren von optionalen Windows-Features, wenn eine Anwendung davon abhängt, oder das Einfrieren einer App auf einer bestimmten Version ("PIN").

    Einige davon müssen explizit durch einen Eintrag in die JSON-Konfigurationsdaten aktiviert werden. Dazu ruft man

    winget settings

    auf, was die Einstellungen im Editor öffnet. Standardmäßig enthält diese außer der Schema-Deklaration und einigen auskommentierten Zeilen keinen Inhalt. Dort fügt man zum Beispiel folgenden Block ein:

    Experimentelle Features über die JSON-Konfiguration aktivieren

    Nachdem das Bearbeiten des JSON-Formats sehr heikel ist, sollte man das Ergebnis validieren, um eine ungültige Konfiguration zu vermeiden. Das kann man in PowerShell 7.x durch diesen Befehl tun:

    Anschließend sollten die neuen Befehle, zum Beispiel configure, in winget zur Verfügung stehen. Dies kann man mit

    winget features

    überpüfen.

    Zusammenfassung

    Zwar gehört winget in den aktuellen Versionen von Windows 10 und 11 zum Lieferumfang, aber es handelt sich dabei um ein älteres stabiles Release. Wenn man mit Hilfe der Previews neuere Features ausprobieren möchte, dann benötigt man eine entsprechende Version von App Installer.

    Diese lässt sich auf den Client-Systemen einfach über den Explorer installieren. Auf Windows Server muss man hingegen erst zwei Bibliotheken einrichten, bevor man den App Installer mit PowerShell hinzufügen kann.

    Möchte man experimentelle Features verwenden, dann muss man diese in einigen Fällen erst durch einen Eintrag in die JSON-Konfigurationsdatei freischalten.

    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.

    Bild von Wolfgang Sommergut
    Wolfgang Sommergut hat lang­jährige Erfahrung als Fach­autor, Berater und Kon­ferenz­sprecher zu ver­schie­denen Themen der IT. Da­ne­ben war er als System­ad­mi­ni­stra­tor und Con­sultant tätig.
    // Kontakt: E-Mail, XING, LinkedIn //

    Verwandte Beiträge

    Weitere Links

    5 Kommentare

    Moin Wolfgang,
    Leider ist winget auf Windows Server 2019 und 2022 noch nicht supported. Es ist jedoch auf der Roadmap.

    Es macht(e) auch einen Unterschied auf welchem OS wir es installieren, WS 2022 ist aufgrund der näheren Verwandtschaft zu Windows 10 22H2 da einfacher.

    Siehe auch mein PR
    https://github.com/microsoft/winget-cli/issues/702
    diesen Diskussionsthread: https://github.com/microsoft/winget-cli/discussions/1955

    dies ist derzeit die wohl aktuellste (unsupportete) Implementierung von Lior (Productmanager Azure Edge, Azure Arc)

    https://gist.github.com/likamrat/cae833a6e5b3461709f14c093c21c293

    dieser Thread (enthält nicht alle PRs) sollte auch von Interesse sein
    https://github.com/microsoft/winget-cli/discussions/2361

    Ich habe die hier beschriebene Installation auf Windows Server 2022 ausprobiert und bekomme den Fehler: Fehler beim Ausführen des Programms "winget.exe": Es wurden keine anwendbaren App-Lizenzen gefunden

    Funktioniert das nicht für server 2022?

    Viele Grüße
    Stefan

    Die License Datei findet sich im GitHub. Dies hat bei mir funktioniert:

    Ich kann bestätigen, dass diese Methode, welche sich inmitten meiner Linksammlung fand, einfach und zuverlässig funktioniert @Wolfgang @Stefan

    https://github.com/asheroto/winget-install

    Gut genug dieses How-To zu aktualisieren Wolfgang?