WinGet

Einleitung

Ab Relution 5.26 ist es möglich den WinGet Paket-Manager für die Anwendungsbereitstellung auf Windows Geräten zu verwenden.

Voraussetzungen

  1. Der WinGet Client muss auf dem Gerät installiert sein. Er ist standardmäßig auf allen Windows 11 Versionen und auf Windows 10 ab Version 2004 (Mai 2020 Update) verfügbar.
  2. The Microsoft Visual C++ Redistributable must be installed on the device, see Limitations.
  3. Relution Server Version 5.26 oder höher
  4. Windows Companion Version 1.11 oder höher
  5. WinGet Version 1.6 oder höher

Unterstützte Features

Die WinGet Features in Relution sind nur als Beta verfügbar. Deshalb sollte jede Funktionalität mit einem Test-Gerät für jede WinGet app ausgebiegig getestet werden.

Bitte lesen Sie die Abschnitte Limitierungen und Bekannte Probleme für mehr Details.

  • Suchen und hinzufügen von WinGet Anwendungen in den Relution AppStore
  • Bereitstellung von WinGet Anwendungen mittels Aktion, App Konformität und Auto-Deployments
  • Anzeigen von installierten WinGet Apps in der installierten App Liste eines Geräts
  • Entfernen von WinGet Apps mittels Aktion
  • Automatische Aktualisierung von WinGet Apps auf den Geräten

Hinzufügen von WinGet apps in den Relution AppStore

WinGet Apps müssen in den Relution AppStore hinzugefügt werden, bevor diese auf Geräten angewendet werden können.

  1. Auswahl des WinGet AppStore WinGet app store

  2. Suche nach dem WinGet App Namen und hinzufügen in den Relution AppStore Add WinGet app

  3. Wenn eine WinGet App zu dem Relution AppStore hinzugefügt wird, wird wenn möglich das App Icon heruntergeladen und zu den App Details hinzugefügt.

Die WinGet App Details können zusätzliche Informationen wie den Installationsbereich enthalten, falls diese Informationen von der WinGet app bereitgestellt werden. Additional WinGet app details

Bereitstellen von WinGet Apps

Nachdem die WinGet App in den Relution AppStore hinzugefügt wurde und im Status Release ist, kann sie auf Windows Geräten bereitgestellt werden.

Relution muss alle WinGet Apps vollständig still installieren, siehe Limitierungen. Aufgrund dieser Limitierung werden alle Lizenzverträge des Pakets und der Quelle automatisch akzeptiert, wenn eine WinGet App über Relution installiert wird!

Bereitstellen mittels Aktion

Im Aktions-Modal muss Relution Store App bereitstellen ausgewählt werden.

WinGet deploy app action

Daraufhin muss die WinGet App gesucht und für die Bereistellung selektiert werden.

Choose WinGet app for deployment

Im nächsten Schritt kann die Bereitstellung optional angepasst werden. Dies ist aktuell nur für die Aktion möglich und nicht bei einer App Konformität oder den Auto-Deployments.

  • Installationstyp: Spezifieren des Installationstyp, der für die Installation verwendent werden soll to be used, siehe unterstützte Formate von Installationsprogrammen. Die App muss den angegebenen Installationstyp unterstützen oder die Installation wird fehlschlagen.
  • Gebietsschema: Spezifizieren des Gebietsschemas, das verwendet werden soll (BCP47 Format).
  • Zeitüberschreitung: Spezifizieren der Zeit in Minuten bis der Windows Companion die Installation abbricht.
  • Forcieren: Führt den Befehl direkt aus und fährt mit nicht sicherheitsrelevanten Problemen fort.
  • Deinstallation der vorherigen Version: Deinstalliert die vorherige Version des Pakets während des Upgrades.
  • Upgrade überspringen: Überspringt das Upgrade, wenn bereits eine installierte Version vorhanden ist.
  • Argumente: Übergibt die angegebenen Argumente zusätzlich zu den Standardwerten an das Installationsprogramm.

WinGet App additional properties

Nach der Bestätigung im letzten Schritt wird eine Bereitstellungs-Aktion erstellt.

Bereitstellung mittels App Konformität

WinGet Apps können zu der App Konformität einer Windows Richtlinie hinzugefügt werden.

WinGet App Compliance

Bereitstellung mittels Auto-Deployments

Winget Apps können zu den Auto-Deployments eines Benutzers hinzugefügt werden.

WinGet Auto-Deployments

Entfernen von WinGet Apps mittels Aktion

Es ist möglich WinGet Apps mittels Aktion von einem Gerät zu entfernen.

Der Windows Companion wird den winget uninstall Befehl still ausführen, siehe Limitierungen. Aufgrund dieser Limitierung werden alle Quelllizenz-Verträge automatisch akzeptiert, wenn eine WinGet App über Relution deinstalliert wird!

Remove WinGet app

Automatische Aktualisierungen von WinGet Apps auf den Geräten

Relution wird installierten WinGet Apps automatisch auf den jeweiligen Geräten aktualisieren.

Vorausssetzungen:

  • Die WinGet App muss im Relution AppStore enthalten sein
  • Die WinGet App muss in der installierten App Liste des Geräts enthalten sein

Der Relution AppStore überprüft jeden Tag, ob eine neue Version von enthaltenen WinGet apps verfügbar ist und aktualisiert die App Informationen automatisch. Wenn ein Gerät seine Gerätedetails in Relution aktualisiert, werden die Versionen der installierten WinGet Apps mit denen im Relution AppStore verglichen. Wird dabei festgestellt, dass eine neuere Version im Relution AppStore vorhanden ist, wird eine Bereitstellungs-Aktion für das Gerät erstellt und so die App darauf aktualisiert.

Sollte der Vergleich der Versionen fehlschlagen, wird die automatische Aktualierung nicht stattfinden (siehe Bekannte Probleme)

Limitierungen

Microsoft Visual C++ Redistributable muss installiert sein

Der Windows Companion führt WinGet Befehle im System Kontext aus. Dafür muss die Microsoft Visual C++ Redistributable installiert sein.

Wenn der Windows Companion startet, überprüft dieser ob diese Abhängigkeit auf dem Gerät installiert ist. Sollte diese fehlen, versucht der Companion diese herunterzuladen und zu installieren. Wenn diese nicht installiert werden konnte, schreibt der Windows Companion einen Log Eintrag in die Ereignisanzeige auf dem Gerät.

Wenn dieses Problem auftritt, werden die WinGet Aktionen fehlschlagen. Ein Indikator kann der Fehlercode 1073741515 in der fehlgeschlagenen Aktion sein. In diesem Fall ist es möglich die letzte Version der Microsoft Visual C++ Redistributable manuell mittels nativer App mit Erkennungsregel zu installieren, siehe Bekannte Probleme

WinGet Client muss auf dem Gerät installiert sein

Der WinGet Client wird nicht durch Relution installiert oder aktualisiert. Er ist standardmäßig auf allen Windows 11 Versionen und auf Windows 10 ab Version 2004 (Mai 2020 Update) verfügbar. Er ist im AppInstaller paketiert. Dieser kann über den Microsoft Store installiert werden.

Ausschließlich stille Installation und Deinstallation sind unterstützt

Die WinGet App Installation oder Deinstallation wird vom Windows Companion durchgeführt. Der Windows Companion ist ein Hintergrund-Prozess, der keine Benutzeroberfläche auf den Geräten anzeigen kann.

Deshalb wird die Installation oder das Entfernen von Apps fehlschlagen, wenn diese nicht vollständig still ausgeführt werden kann.

Der Windows Companion wird deshalb automatisch alle mögliche Befehle angeben, die die Installation bzw. Deinstallation still ausführt.

  • winget install
    • –silent
    • –disable-interactivity
    • –accept-package-agreements
    • –accept-source-agreements
  • winget uninstall
    • –silent
    • –disable-interactivity
    • –accept-source-agreements

Aber für manche Apps reichen die WinGet Befehle nicht aus, um die App daran zu hindern dabei eine Oberfläche anzuzeigen. Ein Beispiel ist Mozilla Firefox bei der Deinstallation.

Bekannte Probleme

Es wird empfohlen die Installation und Deinstallation für jede WinGet App zu testen, bevor diese produktiv verwendet wird.

Wenn die WinGet-App in einer App Konformität oder in den Auto-Deployments verwendet werden soll, muss sie nach der Installation und Aktualisierung der Gerätedetails in der Liste der installierten Apps auf dem Gerät enthalten sein.

Wenn das automatische Update einer installierten WinGet-App wichtig ist, muss die Liste der installierten Apps die App enthalten und einen korrekten Wert in der Versionsspalte haben.

Einige Apps können nicht daran gehindert werden einen Dialog anzuzeigen

Wenn eine App nicht daran gehindert werden kann, einen Dialog anzuzeigen, schlägt die Installation oder Deinstallation fehl.

Es kann möglich sein, einen anderen Installer in der Bereitstellungsaktion zu verwenden, um dieses Problem zu umgehen.

So finden Sie es heraus

  • Öffnen Sie PowerShell als Administrator auf einem Testgerät
  • Führen Sie den Befehl winget install –id –silent –disable-interactivity –accept-source-agreements –accept-package-agreements mit ersetzter für die Installation aus
    • Wenn kein Dialog oder keine Eingabeaufforderung angezeigt wird, kann die App still installiert werden
    • Andernfalls versuchen Sie es mit einem anderen Installer, indem Sie -–install-type zum Befehl hinzufügen, wenn die App mehr als einen unterstützt.
  • Führen Sie für die Deinstallation winget install –id –silent –disable-interactivity –accept-source-agreements aus
  • Wenn kein Dialog oder keine Eingabeaufforderung angezeigt wird, kann die App still entfernt werden

Alternative

Wenn die App nicht installiert oder deinstalliert werden kann, wird die Verwendung einer nativen App mit Erkennungsregeln empfohlen.

Einige Apps können nicht im System-Kontext installiert werden

Der WinGet Client bietet aktuell keine vollständige Unterstützung des System-Kontexts. Da jedoch der Windows Companion in diesem Kontext ausgeführt wird, kann die Installation von manchen Apps fehlschlagen.

So finden Sie es heraus

  • Testen Sie auf einem Test-Gerät, ob die App still installiert werden kann, siehe Bekannte Probleme.
  • Entfernen Sie die App wieder von dem Test-Gerät.
  • Installieren Sie diesselbe App auf demselben Gerät mittels Relution.
  • Wenn die Installation fehlschlägt, kann diese womöglich nicht im System-Kontext installiert werden

Alternative

Wenn die App nicht installiert oder deinstalliert werden kann, wird die Verwendung einer nativen App mit Erkennungsregeln empfohlen.

Einige Apps werden nicht in der installierten App Liste angezeigt

Einige Apps werden nicht in der installierten App List des Geräts angezeigt, ob WinGet diese als installiert erkennt.

Diese Apps sollten nicht in einer App Konformität oder in Auto-Deployments verwendet werden, weil sie aktuell nicht korrekt erkannt wird und dies zu vielen fehlschlagenden Bereitstellungs-Aktionen führen würde.

So finden Sie es heraus

  • Installieren Sie eine WinGet App auf einem Test-Gerät
  • Aktualisieren Sie die Geräteinformationen
  • Die App sollte nun in der installierten Apps Liste zu sehen sein

Alternative

Wenn dieses Problem auftritt, wird die Verwendung einer nativen App mit Erkennungsregeln empfohlen.

Einige Apps haben falsche Werte in der installierten App Liste

Einige WinGet Apps haben falsche Werte in der installierten App Liste, z.B. für die Version.

Diese Apps können dennoch in einer App Konformität oder in Auto-Deployments verwendet werden.

Enthält jedoch die Version einen falschen Wert, so wird die Automatische Aktualisierung nicht ausgeführt.

So finden Sie es heraus

  • Installieren Sie eine WinGet app auf einem Test-Gerät
  • Aktualisieren Sie die Geräteinformationen
  • Die App sollte nun in der installierten Apps Liste zu sehen sein
  • Überprüfen Sie die angezeigten Werte

Alternative

Wenn die automatische Aktualisierung der App auf den Geräten nicht wichtig ist, kann die App ansonsten vollständig verwendet werden.

Andernfalls, wird die Verwendung einer nativen App mit Erkennungsregeln empfohlen.

Doppelte Anzeige in den installierten Apps

Wenn native Apps mit Erkennungsregeln auf einem Gerät bereitgesetellt worden sind, kann diese App doppelt in der installierten App Liste angezeigt werden.

Das bedeutet nicht, dass die App doppelt auf dem Gerät installiert ist. Es bedeutet, dass die App von der Erkennungsregel und von WinGet erkannt worden ist.

So finden Sie es heraus

  • Installieren Sie eine App mit Erkennungsregel auf einem Test-Gerät
  • Aktualisieren Sie die Geräteinformationen
  • Die App wird doppelt in der installierten App Liste angezeigt. Der Name und andere Informationen können aber müssen nicht identisch sein.

Alternative

Aktuell gibt es keine Alternative für dieses Verhalten.

Der doppelte Eintrag kann nur verhindert werden, wenn die zugehörige native App mit Erkennungsregeln aus dem Relution AppStore entfernt wird und die passende WinGet App stattdessen verwendet wird.

Aufgrund der Limitierungen und bekannten Problemen von WinGet Apps wird nicht empfohlen direkt von Apps mit Erkennungsregeln auf WinGet Apps zu wechseln!

Fehlende Abhängigkeit Microsoft Visual C++ Redistributable

Wie im Abschnitt Limitierungen beschrieben, wird die Abhängigkeit Microsoft Visual C++ Redistributable benötigt damit WinGet Apps in Relution verwendet werden können.

Deshalb versucht der Windows Companion diese auf dem Gerät zu installieren, wenn diese fehlt. Diese Überprüfung wird durchgeführt, wenn der Windows Companion startet, z. B. nach seiner Neu-Installation oder einem Neustart des Geräts.

Es kann vorkommen, dass die automatische Installation der Microsoft Visual C++ Redistributable fehlschlägt, wodurch die WinGet Befehle ebenfalls fehlschlagen werden.

So finden Sie es heraus

  • Installieren einer WinGet app über Relution
  • Die App ist nicht auf dem Gerät installiert
  • Die Aktion ist fehlgeschlagen und enthält eventuell den Fehlercode 1073741515

Alternative

Die neueste Microsoft Visual C++ Redistributable kann manuell als native App mit Erkennungsregel installiert werden.

  1. Herunterladen der .exe Datei für die jeweilige Architektur (x64, arm64, x86) des Geräts
  2. Hinzufügen einer nativen App
  • Es wird empfohlen die Architektur in den App Namen hinzuzufügen, um Verwirrung zu vermeiden, z. B. VC Redist x64
  • Empfohlene Installationsparameter: /install /quiet /norestart
  • Empfohlene Deinstallationsparameter: /uninstall /quiet
  • Pfad zum Uninstaller: Dieser muss für jede Version und Architektur individuell bestimmt werden, siehe unten
  • Empfohlene Erkennungsregel:
    • Registry
    • Registrierungsschlüssel: HKLM\SOFTWARE\Microsoft\VisualStudio\14.0\VC\Runtimes\{x64|x86|arm64}, siehe Microsoft documenation
    • Name des Registrierungswerts: Version
    • Erkennungsmethode: Ein Wert mit dem angegebenen Name existiert
  1. Anwenden der App auf den Geräten mit derselben Architektur
  2. Die Aktion sollte erfolgreich angewendet werden
  3. Aktualisieren der Geräteinformationen
  4. Die App sollte in den installierten Apps enthalten sein

Wie der Pfad zum Uninstaller herausgefunden wird:

  • Öffnen des Registrierungsschlüssels: HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\
  • Suche nach dem Schlüssel der vc_redist.{x64|x86|arm64}.exe. Der Schlüssel ist ein Produktcode, z.B. {2d48c97b-0c1e-4160-b3c4-c6dabebde745}
  • Der Pfad zum Uninstaller kann in folgendem Registrierungswert gefunden werden: QuietUninstallString, z. B. C:\ProgramData\Package Cache\{2d48c97b-0c1e-4160-b3c4-c6dabebde745}\VC_redist.arm64.exe