Comment utiliser winget sous Windows 10 ?
Sommaire
I. Présentation
Windows Package Manager alias winget est le nouveau gestionnaire de paquets en ligne de commandes proposé par Microsoft. De la même façon que le célèbre manager Chocolatey, ce nouvel outil va permettre d'installer des logiciels à l'aide de commandes, comme nous pouvons le faire sous Linux depuis des décennies.
En terme de compatibilité, il faut savoir que winget peut-être installé sous Windows 10 à partir de la version 1709, à partir du Microsoft Store ou de GitHub. Lorsqu'il est installé, il s'utilise depuis une console : l'Invite de commande ou PowerShell, c'est au choix.
Encore en version "Preview" à l'heure où j'écris ces lignes, winget sera intégré directement à Windows 10 par la suite, mais ce n'est pas le cas dans la dernière version de Windows 10, à savoir v2004.
Dans ce tutoriel, je vous propose de voir comment utiliser winget sous Windows 10. Disponible également au format vidéo :
II. Installation de winget
Les sources d'installation de l'outil sont disponibles sur le Microsoft Store ou sur Github directement, sous la forme d'un package APPX. Voici le lien vers le GitHub officiel :
Vous pouvez télécharger le package APPX directement avec votre navigateur et double-cliquer dessus pour l'installer, ou sinon avec PowerShell. Il faudra commencer par télécharger le bundle d'installation via Invoke-WebRequest. Attention, le chemin source (Uri) va évoluer avec le temps lorsqu'il y aura de nouvelles versions. Le fichier de destination sera WinGet.appxbundle et il sera créé dans le dossier "C:\Temp". Ce qui donne :
Invoke-WebRequest -Uri "https://github.com/microsoft/winget-cli/releases/download/v0.1.4331-preview/Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.appxbundle" -OutFile "C:\TEMP\WinGet.appxbundle"
Lorsque le téléchargement sera terminé, vous pouvez installer winget avec Add-AppxPackage, comme ceci :
Add-AppxPackage "C:\TEMP\WinGet.appxbundle"
A la fin de l'installation, si vous exécutez la commande "winget" ou "winget.exe" et que ça fonctionne, alors c'est tout bon !
winget.exe
III. winget : les commandes principales
A l'instar de Chocolatey ou d'un gestionnaire de paquets sous Unix, nous retrouvons des commandes classiques pour la gestion des paquets. Voici les commandes incluses à winget :
- winget install <package> : installer un paquet
- winget show <package> : afficher les informations sur un paquet
- winget source <option> : gérer les sources (dépôts)
- winget search <keyword> : rechercher une application dans les dépôts
- winget hash <package> : obtenir le hash d'un installeur d'un paquet
- winget validate <package> : valider le fichier manifest
Les deux dernières commandes sont plutôt utilisées pour la publication d'un logiciel dans un dépôt.
Passons maintenant à l'utilisation de ces commandes...
IV. Installer un paquet avec winget
Pour installer un paquet, il faut déjà commencer par récupérer son nom exact. Pour cela, la commande "winget search" sera indispensable : il suffit d'indiquer un mot clé pour réaliser une recherche.
winget search <mot-clé>
Par exemple pour VLC :
winget search vlc
Pour VLC, il n'y a qu'un seul résultat, mais par exemple pour "zip" il y a plusieurs paquets proposés. Il faudra repérer le nom du paquet qui vous intéresse en regardant la colonne "Name". Il est à noter que la colonne "Version" indique la version du logiciel qui est disponible dans le dépôt.
Pour information, Windows Terminal peut-être installé avec winget.
Si l'on prend l'exemple de VLC, voici la commande qui sert à l'installer :
winget install "VLC media player"
Pendant le téléchargement il suffit de patienter, l'installation sera déclenchée immédiatement dans la foulée... Et le logiciel va s'installer sur votre machine : si vous avez les droits Administrateur. Une fenêtre va s'afficher à l'écran, sans qu'il soit nécessaire de réaliser le moindre clic.
Si l'installation de votre logiciel ne s'effectue pas en mode silencieux, il sera nécessaire d'essayer en ajoutant une option supplémentaire : --silent. Par exemple :
winget install "VLC media player" --silent
Ensuite, l'installation devrait se déroulera en arrière-plan.
Note : si vous exécutez la commande "winget install" sans préciser le nom d'un paquet, la liste de tous les paquets disponibles va s'afficher.
Pour obtenir des informations sur paquet publié au sein d'un repository, nous allons utiliser la commande "winget show" suivie du nom du paquet pour lequel vous souhaitez obtenir des infos. Cela permet notamment de vérifier la source pour le téléchargement via l'attribut "Download Url".
winget show "VLC media player"
Voici un exemple :
V. Gérer les dépôts winget
Pour le moment, il n'y a qu'un seul dépôt officiel proposé pour les paquets, l'outil en est à ses débuts, c'est donc normal. Pour lister les dépôts disponibles sur la machine locale, il faut exécuter cette commande :
winget source list
Pour ajouter un nouveau dépôt, il faudra utiliser l'option "add", comme ceci :
winget source add <depot>
La même commande existe avec l'option "remove" pour supprimer un dépôt.
De la même façon que l'on effectue un "apt-get update" ou un "yum update" sous Unix, il faudra penser à mettre à jour la liste des paquets winget. Cela s'effectue avec la commande suivante :
winget source update
VI. winget: obtenir de l'aide sur les commandes
Afin d'apprendre à utiliser winget, il est utile d'être capable de consulter l'aide sur les différentes commandes winget. Pour obtenir de l'aide sur une commande et afficher les options disponibles, il faut utiliser l'option -?. Voici deux exemples :
winget source -? winget source add -?
Vous voilà prêt à installer vos logiciels en ligne de commande sur Windows 10.... On peut imaginer créer un petit script avec la liste des paquets à installer 😉
Salut !
D’abord merci pour cette découverte.
Je viens de me pencher sur la partie language.
j’ai bien essayé d’utiliser l’option –locale mais je ne trouve pas comment l’utiliser.
j’ai essayé ce genre de code :
winget install –locale fr-FR –id=Mozilla.Firefox -e
winget install -q –locale fr-FR –id=Mozilla.Firefox -e
winget install -q –locale fr –id=Mozilla.Firefox -e
mais rien n’y fait. la documentation de –locale est pauvre en information.
Je comprends aussi que toutes les langues ne doivent pas être disponible.
mais alors pourquoi avoir une option ?
j’ai alors cherché si il ne fallait pas modifé le fichier de configuration :
« %LOCALAPPDATA%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\settings.json »
des informations sont indiquées sur le lien suivant :
https://github.com/microsoft/winget-cli/blob/master/doc/Settings.md
il faudrait insérer ceci :
Locale
The locale behavior affects the choice of installer based on installer locale. The matching parameter is –locale, and uses bcp47 language tag.
« installBehavior »: {
« preferences »: {
« locale »: [ « en-US », « fr-FR » ]
}
},
j’ai bien essayé mais au final rien de plus. même en inversant les paramètres fr et us de position.
Merci d’avance
philippe
Salut Philippe,
Je viens de faire quelques essais de mon côté, effectivement ça ne fonctionne pas, ou alors c’est la langue du système qui prend le dessus. Enfin, c’est comme si le paramètre n’était pas bien pris en charge par les paquets.
Tu peux ouvrir un ticket sur le GitHub du projet pour en savoir un peu plus ?
Bon courage!
Florian
Bonjour Florian merci pour tout le travail que tu partage, j’aurais besoin d’un coup de main.
Tu pense qu’il serait possible d’utiliser sont propre dépôt local ? j’ai fais tout la doc de Microsoft et c’est vague j’ai essaye d’ajouter une source en local avec » install source -n …. -a UNC »
Le bute final serais d’installé les 8 logiciel sans téléchargement extérieur et avec chocoletay j’ai pas réussie malgré ton tuto que j’ai suivis a la lettre 😀
J’ai installe winget, puis j’ai installé ffmpeg en tapant winget install ffmpeg, mais après on fait comment pour utiliser ffmpeg ? Si je tape ffmpeg dans la fenêtre il ne comprend pas la commande.