WinGet

Introduction

Avec Relution 5.26, il est possible d’utiliser le [WinGet package manager] (https://learn.microsoft.com/en-us/windows/package-manager/winget/) pour les déploiements d’applications sur les appareils Windows.

Fonctionnalité bêta. Veuillez consulter les sections Limitations et Problèmes connus

Exigences

  1. Le client WinGet doit être installé sur l’appareil. Il est disponible sur toutes les versions de Windows 11 et sur Windows 10 à partir de la version 2004 (mise à jour de mai 2020).
  2. Le Microsoft Visual C++ Redistributable doit être installé sur l’appareil, voir Limitations.
  3. Relution Server version 5.26 ou supérieure.
  4. Windows Companion version 1.11 ou supérieure
  5. WinGet version 1.6 ou supérieure

Fonctionnalités prises en charge

Les fonctions WinGet de Relution sont marquées d’un drapeau Beta. Par conséquent, chaque fonctionnalité doit être testée avec un appareil de test pour chaque application WinGet. Veuillez consulter les sections limitations et [problèmes connus](#problèmes connus) pour plus de détails.

  • Interroger et ajouter des applications WinGet à l’AppStore de Relution
  • Déploiement des applications WinGet via une action, la conformité des applications et les déploiements automatiques
  • Afficher les applications WinGet installées dans la liste des applications installées d’un appareil
  • Supprimer les applications WinGet via une action
  • Mise à jour automatique des applications WinGet sur les appareils

Ajouter les applications WinGet au Relution AppStore

Les applications WinGet doivent être ajoutées au Relution AppStore avant de pouvoir être déployées sur les appareils.

  1. Choisissez le WinGet AppStore WinGet app store

  2. Recherchez le nom de l’application WinGet et ajoutez-la à l’AppStore Relution Ajouter une application WinGet

  3. Lorsque l’application est ajoutée au Relution AppStore, l’icône de l’application est ajoutée aux détails, si possible.

Les détails de l’application WinGet peuvent contenir des informations supplémentaires comme l’étendue de l’installation, si elle est fournie pour l’application WinGet. Détails supplémentaires de l’application WinGet

Déployer les applications WinGet

Une fois que l’application WinGet a été ajoutée à l’AppStore de Relution et que l’application est dans l’état Release, elle peut être déployée sur les appareils Windows.

Relution doit installer l’application WinGet de manière complètement silencieuse, voir Limitations. En raison de cette limitation, tous les accords sur les sources et les paquets sont automatiquement acceptés lors de l’installation d’une application WinGet via Relution !

Déployer via une action

Sélectionnez Déployer l’application Relution Store dans la fenêtre d’action d’un appareil Windows.

Action de déploiement de l’application WinGet

Choisissez l’application WinGet à déployer.

Ajouter une application WinGet

Dans l’étape suivante, le déploiement peut optionnellement être ajusté. Ceci n’est actuellement possible que pour l’action de déploiement et non pour la conformité de l’application ou les déploiements automatiques.

Type d’installateur : Spécifiez le type d’installateur à utiliser, voir [supported installer types] (https://learn.microsoft.com/en-us/windows/package-manager/winget/#supported-installer-formats). L’application doit supporter le type d’installateur spécifié ou l’installation échouera. Locale : Spécifiez la locale à utiliser (format BCP47). Timeout : Spécifiez le temps en minutes avant que le Windows Companion n’abandonne l’installation. Force : Exécute la commande et continue avec les problèmes non liés à la sécurité. Désinstallation de la version précédente lors de la mise à niveau : La version précédente de l’application est désinstallée lors de la mise à niveau. Skip upgrade : Ignore la mise à niveau si une version précédente est déjà installée. Paramètres personnalisés : Transmet les arguments spécifiés au programme d’installation en plus des paramètres par défaut.

Ajouter l’application WinGet

Après la confirmation de la dernière étape, une action de déploiement d’application est créée.

Déploiement via la conformité de l’application

Les applications WinGet peuvent être ajoutées à l’App Compliance d’une politique Windows.

Ajouter une application WinGet

Déployer via les déploiements automatiques

Les applications Winget peuvent être ajoutées aux déploiements automatiques d’un utilisateur.

Ajouter l’application WinGet

Supprimer des applications WinGet par une action

Il est possible de supprimer les applications WinGet de l’appareil par le biais d’une action.

Le compagnon Windows exécutera la commande winget uninstall silencieusement, voir Limitations. En raison de cette limitation, les contrats de source sont automatiquement acceptés lors de la suppression d’une application WinGet de l’appareil.

Ajouter une application WinGet

Mise à jour automatique des applications WinGet sur les appareils

Relution met automatiquement à jour les applications WinGet installées sur les appareils.

Exigences :

  • L’application WinGet doit être ajoutée au magasin d’applications de Relution.
  • L’application WinGet doit être contenue dans la liste des applications installées sur l’appareil.

Le Relution app store vérifie chaque jour pour chaque application WinGet contenue, si une mise à jour est disponible et rafraîchit les informations de l’application. Lorsqu’un appareil actualise ses informations, Relution compare la version de l’application WinGet installée avec la version du magasin d’applications Relution. S’il détecte une version plus récente dans le magasin d’applications Relution, il déclenche une action de déploiement d’application pour cet appareil et l’application est mise à jour.

Si la comparaison des versions échoue, la mise à jour automatique n’est pas déclenchée (voir Problèmes connus).

Limitations

Microsoft Visual C++ Redistributable doit être installé

Le compagnon Windows exécute les commandes WinGet dans le contexte du système. Il faut donc que Microsoft Visual C++ Redistributable soit installé sur l’appareil.

Lorsque le compagnon Windows démarre, il vérifie si cette dépendance est installée. S’il n’est pas installé, le compagnon essaie de le télécharger et de l’installer. S’il n’a pas pu être installé, le compagnon Windows écrit une entrée de journal dans l’observateur d’événements de l’appareil.

Si ce problème survient, les actions WinGet échouent. Le code d’erreur -1073741515 de l’action qui a échoué peut être un indicateur. Dans ce cas, il est possible d’installer manuellement la dernière version de Microsoft Visual C++ Redistributable en tant qu’application native avec une règle de détection, voir Problèmes connus.

Le client WinGet doit être installé sur l’appareil.

Relution n’installe ni ne met à jour le client WinGet sur les appareils. Le client WinGet est disponible sur toutes les versions de Windows 11 et sur Windows 10 à partir de la version 2004 (May 2020 Update). Il est intégré à l’AppInstaller, qui peut être récupéré dans la boutique Microsoft.

Seule l’installation et la désinstallation silencieuses sont prises en charge.

L’installation ou la désinstallation de l’application WinGet est exécutée par le Windows Companion. Le compagnon Windows est un processus d’arrière-plan qui ne peut afficher aucune interface utilisateur sur l’appareil. Par conséquent, l’installation ou la désinstallation de l’application échouera si elle ne peut pas être exécutée de manière totalement silencieuse.

Le compagnon Windows ajoutera automatiquement toutes les commandes possibles pour exécuter l’installation ou la désinstallation en silence :

``powershell winget install –silent –disable-interactivity –accept-package-agreements –accept-source-agreements


``powershell
winget uninstall --silent --disable-interactivity --accept-source-agreements

Mais pour certaines applications, même ces commandes n’empêchent pas l’application d’afficher une boîte de dialogue. Un exemple est Mozilla Firefox pendant la désinstallation.

Problèmes connus

Il est recommandé de tester l’installation et la désinstallation de chaque application WinGet sur un appareil de test avant de l’utiliser en production.

Si l’application WinGet doit être utilisée dans le cadre d’une conformité d’application ou d’un déploiement automatique, elle doit figurer dans la liste des applications installées sur l’appareil après son installation et l’actualisation des détails de l’appareil.

Si la mise à jour automatique d’une application WinGet installée est importante, la liste des applications installées doit contenir l’application et avoir une valeur correcte dans la colonne de la version.

Il est impossible d’empêcher certaines applications d’afficher une boîte de dialogue

S’il est impossible d’empêcher une application d’afficher une boîte de dialogue, l’installation ou la désinstallation échouera.

Il peut être possible d’utiliser un installateur différent dans l’action de déploiement de l’application pour contourner ce problème.

Comment savoir

  • Ouvrez PowerShell en tant qu’administrateur sur un appareil de test.
  • Exécutez la commande winget install --id <id> --silent --disable-interactivity --accept-source-agreements --accept-package-agreements en remplaçant <id> pour l’installation.
    • Si aucune boîte de dialogue ou invite n’est affichée, l’application peut être installée silencieusement.
    • Sinon, réessayez avec un autre installateur en ajoutant --install-type <installer-type> à la commande, si l’application en supporte plus d’un.
  • Exécuter pour la désinstallation winget uninstall --id <id> --silent --disable-interactivity --accept-source-agreements
  • Si aucune boîte de dialogue ou invite n’est affichée, l’application peut être supprimée silencieusement.

Alternative

Si l’application ne peut pas être installée ou désinstallée, nous suggérons d’utiliser une application native avec des règles de détection.

Certaines applications ne peuvent pas être installées dans le contexte du système

Le client WinGet n’est actuellement pas pris en charge pour être utilisé dans le contexte du système. Mais le Windows Companion s’exécute dans ce contexte et, par conséquent, pour certaines applications, l’installation peut échouer.

Comment savoir

  • Testez si l’application peut être installée silencieusement sur un appareil de test, voir Problèmes connus.
  • Retirer à nouveau l’application de l’appareil de test.
  • Installer la même application sur le même appareil de test via Relution.
  • Si l’installation échoue, il se peut que l’application ne puisse pas être installée via le contexte système.

Alternative

Si l’application ne peut pas être installée ou désinstallée, nous suggérons d’utiliser une application native avec des règles de détection à la place.

Certaines applications n’apparaissent pas dans la liste des applications installées

Certaines applications ne sont pas affichées dans la liste des applications installées, bien que WinGet les reconnaisse comme installées. Cette application ne doit pas être utilisée dans une configuration de conformité d’application ou dans des déploiements automatiques, car elle ne peut actuellement pas être détectée correctement et cela entraînerait un grand nombre d’échecs des actions de déploiement.

Comment savoir

  • Installer une application WinGet sur un appareil de test
  • Rafraîchir les détails de l’appareil dans Relution
  • L’application devrait apparaître dans les applications installées.

Alternative

Si ce problème survient, nous suggérons d’utiliser une application native avec des règles de détection à la place.

Certaines applications ont des valeurs erronées dans la liste des applications installées

Certaines applications WinGet détectées ont des valeurs erronées dans la liste des applications installées, par exemple pour la version. Ces applications peuvent toujours être utilisées dans la configuration de la conformité des applications, mais si la version est incorrecte, la mise à jour automatique peut ne pas fonctionner.

Comment savoir

  • Installez une application WinGet sur un appareil de test.
  • Actualiser les détails de l’appareil dans Relution
  • L’application est affichée dans la liste des applications installées, mais les valeurs des colonnes sont erronées.

Alternative

Si la mise à jour automatique de cette application n’est pas importante, elle peut être utilisée. Dans le cas contraire, nous suggérons d’utiliser une application native avec des règles de détection.

Détection des doublons dans les applications installées

Si des applications natives avec des règles de détection ont été déployées sur un appareil, l’application peut apparaître deux fois dans la liste des applications installées.

Cela ne signifie pas que l’application est installée deux fois.

Cela signifie simplement que l’application est détectée par la règle de détection et par WinGet.

Comment savoir

  • Installer une application avec une règle de détection sur un appareil de test
  • Actualiser les détails de l’appareil dans Relution
  • L’application apparaît deux fois dans la liste des applications installées. Le nom et les autres informations affichées peuvent ne pas être exactement les mêmes.

Alternative

Actuellement, il n’y a pas d’alternative à ce comportement. Les entrées en double ne peuvent être évitées que si l’application native correspondante avec la règle de détection est supprimée du magasin d’applications de Relution et que l’application WinGet est utilisée à la place.

En raison des limitations et des problèmes connus des applications WinGet, il n’est pas recommandé de passer des applications natives avec des règles de détection aux applications WinGet !

Dépendance manquante Microsoft Visual C++ Redistributable

Comme mentionné dans la section limitations la dépendance Microsoft Visual C++ Redistributable est nécessaire pour pouvoir travailler avec les applications WinGet dans Relution.

Par conséquent, le compagnon Windows tente de l’installer sur l’appareil, si elle est manquante. Cette vérification est exécutée lorsque le compagnon Windows est démarré, c’est-à-dire après une nouvelle installation ou un redémarrage de l’appareil.

Il peut arriver que l’installation automatique de Microsoft Visual C++ Redistributable échoue, ce qui entraîne l’échec de toutes les commandes WinGet.

Comment savoir

  • Installer une application WinGet via Relution
  • L’application n’est pas installée sur l’appareil
  • L’action est marquée comme ayant échoué et contient éventuellement le code d’erreur 1073741515.

Alternative

La dernière version de [Microsoft Visual C++ Redistributable] (https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist?view=msvc-170#latest-microsoft-visual-c-redistributable-version) peut être installée manuellement en tant qu’application native à l’aide d’une règle de détection.

  1. Téléchargez le fichier .exe correspondant à l’architecture (x64, arm64, x86) de l’appareil.
  2. Ajouter une nouvelle application native
  • Il est suggéré d’ajouter l’architecture dans le nom de l’application pour éviter toute confusion, par exemple VC Redist x64.
  • Paramètres d’installation suggérés : /installation /quiet /norestart
  • Paramètres de désinstallation suggérés : /install /quiet /norestart : /désinstallation /quiet
  • Chemin d’accès au programme de désinstallation : doit être déterminé pour chaque version et architecture, voir ci-dessous
  • Règle de détection suggérée :
    • Registre
    • Clé de registre : HKLM\SOFTWARE\Microsoft\VisualStudio\14.0\VC\Runtimes{x64|x86|arm64}, voir Microsoft documenation
    • Nom de la valeur du registre : Version
    • Méthode de détection : Une valeur avec le nom spécifié existe
  1. Déployer l’application sur les appareils ayant la même architecture
  2. L’action doit réussir
  3. Actualiser les détails de l’appareil
  4. L’application doit figurer dans la liste des applications installées.

Comment détecter le chemin d’accès au programme de désinstallation :

  • Ouvrir la clé de registre : HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\ * Rechercher la clé de **vc_redist.{x64|xx4}.
  • Recherchez la clé de vc_redist.{x64|x86|arm64}.exe. La clé est un code produit, par exemple {2d48c97b-0c1e-4160-b3c4-c6dabebde745}.
  • Le chemin d’accès au programme de désinstallation peut être trouvé dans la valeur : QuietUninstallString, f.e. C:\ProgramData\Package Cache\{2d48c97b-0c1e-4160-b3c4-c6dabebde745}\VC_redist.arm64.exe