Partage via


Configuration WinGet

À l’aide d’un fichier de configuration WinGet, vous pouvez consolider l’installation manuelle de la machine et l’intégration de projet à une seule commande fiable et reproductible. Pour ce faire, WinGet utilise :

  • Fichier de configuration WinGet au format YAML qui répertorie toutes les versions logicielles, les packages, les outils, les dépendances et les paramètres requis pour configurer l’état souhaité de l’environnement de développement sur votre ordinateur Windows.
  • PowerShell Desired State Configuration (DSC) pour automatiser la configuration de votre système d’exploitation Windows.
  • Commande Gestionnaire de package Windows winget configure pour lancer le processus de configuration.

Avantages pour la configuration de l’ordinateur et l’intégration de projet

Les avantages de l’utilisation d’un fichier Configuration WinGet sont les suivants :

  • Installation sans assistance : entrez la commande winget configure et laissez Gestionnaire de package Windows et PowerShell DSC automatiser l’installation et la configuration de toutes les conditions requises pour configurer l’environnement de développement souhaité sur votre ordinateur Windows.
  • Fiable et reproductible : supprimez le souci de trouver les versions appropriées des logiciels, des packages, des outils, des frameworks et de configurer les paramètres d’ordinateur appropriés pour votre environnement de développement lors de l’intégration à une nouvelle équipe ou projet, car elles sont prédéfinies dans le fichier de configuration WinGet au format YAML (avec un schéma JSON).
  • Prend en charge la collaboration open source : les fichiers Configuration WinGet peuvent être hébergés dans un dépôt GitHub où les problèmes ou les contributions peuvent être classés ou peuvent être conservés privés dans un emplacement de stockage sécurisé (comme OneDrive) et partagés via un courrier électronique privé ou d’autres canaux sécurisés.

Avertissement

Les fichiers Configuration WinGet et toutes les ressources PowerShell DSC associées doivent être vérifiés pour s’assurer qu’ils sont fiables avant de les appliquer.

Utiliser un fichier Configuration WinGet pour configurer votre machine

Pour configurer votre machine à l’aide d’un fichier Configuration WinGet, vous pouvez :

  1. Installez Dev Home, accédez à Configuration de l’ordinateur, sélectionnez Fichier de configuration, puis choisissez le fichier Configuration WinGet que vous souhaitez utiliser. (Pour créer un fichier de configuration, consultez Création d’un fichier de configuration WinGet).

  2. Utilisez winget configure dans la ligne de commande. Si vous souhaitez utiliser la commande winget configure, vous devez exécuter la version WinGet v1.6.2631 ou ultérieure.

FAQ sur la Configuration WinGet

Trouvez des réponses à certaines des questions les plus fréquemment posées sur la Configuration WinGet.

Comment fonctionnent les fichiers de configuration WinGet ?

Les fichiers de configuration WinGet sont écrits en YAML et définissent ce qui est installé sur l’appareil pour créer votre environnement de développement, ainsi que l’état de configuration de votre ordinateur et des applications installées.

Au lieu d’une séquence impérative d’étapes à suivre, un fichier de configuration WinGet est déclaratif, définissant le résultat de l’état de configuration de l’ordinateur souhaité. En utilisant Gestionnaire de package Windows et les ressources DSC PowerShell, le fichier Configuration WinGet déclaratif peut installer, configurer et appliquer des paramètres à votre environnement, ce qui entraîne un état prêt à code.

WinGet analyse le fichier de configuration pour s’assurer qu’il est valide, puis télécharge tous les modules PowerShell associés (contenant les ressources DSC) nécessaires pour atteindre l’état souhaité. Une fois que ces ressources ont été téléchargées et que vous avez vérifié la fiabilité du fichier Configuration WinGet, en acceptant que vous avez vérifié la sécurité du fichier, WinGet commence à tester toutes les assertions requises et à appliquer l’état souhaité.

La séquence dans laquelle les ressources du fichier de configuration WinGet sont triées est sans importance. Certains processus d’installation et de configuration peuvent même s’exécuter en parallèle. Les assertions correspondent directement au champ dependsOn défini dans chaque Ressource. Si la ressource inclut une dépendance sur une assertion, l’assertion est vérifiée en premier. Si l’assertion échoue, la ressource dépendante échoue également. Toutefois, le fichier de configuration continue de s’exécuter, accomplissant autant de tâches que possible, même si certaines des assertions ou dépendances de ressources échouent, ce qui amène votre machine aussi loin que possible dans le processus de configuration avant de se terminer. Une fois la configuration terminée, il vous incombe de la vérifier en cas de défaillance.

Par exemple, après avoir exécuté le fichier Configuration WinGet, vous pouvez voir un résultat comme :

Assert:: OsVersion
The configuration unit could not be found.
Apply :: DeveloperMode
  This configuration unity was not run because an assert failed or was false.
Apply :: WinGetPackage [vsPackage]
  This configuration unity was not run because an assert failed or was false.

Dans cet exemple, la vérification de l’assertion pour la version requise du système d’exploitation a échoué, de sorte que les ressources DeveloperMode et WinGetPackage qui incluaient une dépendance à cette assertion pour la version du système d’exploitation ont également échoué. Toutefois, toutes les autres tâches d’installation et de configuration répertoriées dans le fichier de configuration continuent de progresser.

Un avantage de la nature déclarative (non séquentielle) des fichiers de configuration WinGet est que la position des nouvelles ressources ajoutées au fichier n’a pas d’importance. Cela est particulièrement utile pour les fichiers de configuration longs, car vous pouvez simplement ajouter des ressources supplémentaires au bas du fichier. Tant que vous avez correctement défini les assertions et les dépendances, vous n’avez pas besoin de vous préoccuper de la séquence ou des étapes de configuration qui se produisent en premier, en deuxième, etc.

Screenshot of a PowerShell terminal running a WinGet Configuration file with the OSVersion assertion and dependent resources failing.

Comment fonctionnent les fichiers Configuration WinGet ?

Pour exécuter un fichier Configuration WinGet, utilisez la winget configurecommande.

Comment faire créer une configuration WinGet ?

Pour créer un fichier Configuration WinGet, suivez les instructions de la documentation Création d’un fichier Configuration WinGet .

Comment puis-je m’assurer qu’un fichier de configuration WinGet est fiable ?

Nous vous recommandons de toujours valider l’intégrité d’un fichier Configuration WinGet avant de l’exécuter en examinant son contenu et en testant la configuration dans un environnement isolé. Consultez Guide pratique pour vérifier la fiabilité d’un fichier de configuration WinGet.

Où puis-je trouver des exemples de fichiers de configuration WinGet ?

Vous trouverez des exemples de fichiers de configuration WinGet dans le référentiel Windows Dev Home : https://aka.ms/dsc.yaml.

Où puis-je trouver des exemples de modules PowerShell contenant des ressources DSC ?

La galerie PowerShell héberge des centaines de modules PowerShell contenant des ressources Desired State Configuration (DSC). Vous pouvez filtrer les résultats de la recherche en appliquant le filtre « Ressource DSC » sous « Catégories ».

Desired State Configuration PowerShell module search results from the PowerShell Gallery

Puis-je configurer une stratégie pour bloquer l’utilisation des fichiers de configuration WinGet dans mon organisation ?

Oui. Vous pouvez utiliser les Objets de stratégie de groupeEnableWindowsPackageManagerConfiguration et EnableWindowsPackageManagerConfigurationExplanation pour désactiver la fonctionnalité de configuration WinGet dans votre organisation.

Où puis-je en savoir plus sur l’utilisation des configurations WinGet avec des lecteurs de développement et Dev Home ?

Découvrez plus d’informations sur l’utilisation de l’outil Machine Configuration (Configuration de machine) dans Windows 11 Dev Home dans l’article Configurer votre environnement de développement Windows avec Dev Home. Il est également possible que vous souhaitez apprendre à utiliser les volumes de stockage de lecteur de développement les plus optimisés en termes de performances, consultez Configurer un lecteur de développement sur Windows 11.

Résolution des problèmes liés aux configurations WinGet

La raison la plus courante de l’échec d’une configuration WinGet est due à une ressource PowerShell DSC nécessitant un accès administratif pour appliquer l’état souhaité. Toutes les ressources DSC ne font pas état des raisons explicites de l’échec.

Des problèmes plus courants seront bientôt ajoutés. Entre-temps, vérifiez les problèmes liés enregistrés dans le référentiel de la CLI WinGet sur GitHub.