WinGet : installez et mettez à jour vos logiciels Windows en une seule commande
Vous installez encore vos logiciels Windows à la main, un par un, en allant chercher chaque fichier .exe ou .msi sur le web ? C’est faisable, mais franchement, ce n’est pas la méthode la plus propre.
Depuis plusieurs années, Windows intègre WinGet, un gestionnaire de paquets en ligne de commande. Il permet d’installer, désinstaller, lister, exporter et mettre à jour des applications depuis le Terminal Windows ou PowerShell.
Dans cet article, je vous montre les commandes utiles pour l’utiliser au quotidien, que ce soit pour préparer un nouveau PC, maintenir un poste existant ou automatiser l’installation de vos logiciels de base.
Sommaire
- 1 WinGet, c’est quoi exactement ?
- 2 Ouvrir le Terminal en administrateur
- 3 Rechercher une application avec WinGet
- 4 Installer un logiciel avec WinGet
- 5 Lister les logiciels installés
- 6 Désinstaller une application
- 7 Installer une version précise d’un logiciel
- 8 Choisir le périmètre d’installation : utilisateur ou machine
- 9 Préciser la source du paquet
- 10 Installer sans interaction : les options utiles
- 11 Exporter la liste des applications installées
- 12 Réinstaller une liste d’applications sur un autre PC
- 13 Mettre à jour toutes les applications en une commande
- 14 Créer un script batch pour préparer un PC
- 15 Automatiser les mises à jour avec Winget-AutoUpdate
- 16 Les limites à connaître
- 17 Ce que je vous conseille
WinGet, c’est quoi exactement ?
WinGet, aussi appelé Windows Package Manager, est l’outil officiel de Microsoft pour gérer des applications Windows en ligne de commande.
Concrètement, il permet de :
- rechercher une application disponible dans les dépôts ;
- installer un logiciel avec une commande ;
- désinstaller une application ;
- lister les logiciels présents sur le PC ;
- exporter une liste d’applications ;
- réinstaller cette liste sur une autre machine ;
- mettre à jour plusieurs logiciels d’un coup.
C’est le même principe que apt sous Linux, mais adapté à Windows. Microsoft indique d’ailleurs que WinGet peut découvrir, installer, mettre à niveau, supprimer et configurer des applications sur les ordinateurs Windows.
Sur un poste perso, c’est pratique. Sur un parc de machines, ça devient vite très intéressant.
Ouvrir le Terminal en administrateur
Pour commencer proprement, ouvrez Terminal Windows ou PowerShell en tant qu’administrateur.
Ce n’est pas toujours obligatoire, mais je vous le conseille, surtout si vous voulez installer les applications pour toute la machine et pas seulement pour l’utilisateur connecté.
Dans Windows 11 :
- faites un clic droit sur le menu Démarrer ;
- cliquez sur Terminal (administrateur) ;
- validez l’UAC si Windows vous le demande.
La première fois que vous utilisez WinGet, il peut vous demander d’accepter les conditions des sources utilisées, notamment le Microsoft Store. C’est normal, il suffit de valider.
Rechercher une application avec WinGet
Avant d’installer un logiciel, il vaut mieux rechercher son identifiant exact. Exemple avec Firefox :
winget search Firefox
WinGet affiche alors une liste de résultats avec plusieurs colonnes, dont le nom, l’ID, la version et la source.
L’ID est important, car il permet d’installer le bon paquet sans ambiguïté. Pour Firefox, vous pouvez par exemple tomber sur plusieurs variantes : version stable, ESR, versions de développement, paquet issu du Microsoft Store, etc.
Mon conseil : quand vous automatisez une installation, utilisez toujours l’ID du paquet plutôt qu’un simple nom approximatif.
Installer un logiciel avec WinGet
Une fois l’ID récupéré, vous pouvez installer l’application avec :
winget install --id Mozilla.Firefox.ESR
Pour une commande plus stricte, vous pouvez ajouter --exact afin d’éviter les correspondances trop larges :
winget install --id Mozilla.Firefox.ESR --exact
Si vous préparez un script ou une installation sans intervention, ajoutez aussi le mode silencieux :
winget install --id Mozilla.Firefox.ESR --exact --silent
Selon les applications, l’installation se fait vraiment sans action de votre part. Attention quand même : certains installeurs gardent une fenêtre ou demandent encore une validation malgré les options silencieuses. Firefox peut par exemple avoir ce comportement selon le contexte.
Lister les logiciels installés
Pour vérifier qu’une application est bien installée, utilisez :
winget list Firefox
Vous pouvez aussi lister tout ce qui est détecté sur la machine :
winget list
Cette commande permet de voir les applications installées, leur version et parfois leur source. C’est utile pour repérer ce qui peut être géré ou mis à jour avec WinGet.
Désinstaller une application
WinGet peut aussi désinstaller un logiciel :
winget uninstall --id Mozilla.Firefox.ESR --exact
Pour tenter une désinstallation silencieuse :
winget uninstall --id Mozilla.Firefox.ESR --exact --silent --disable-interactivity
Là encore, tout dépend de l’installeur derrière l’application. Sur certains logiciels, ça part sans rien demander. Sur d’autres, Windows ou l’assistant de désinstallation peut encore afficher une confirmation.
À garder en tête si vous comptez déployer ça sur plusieurs postes.
Installer une version précise d’un logiciel
Dans certains cas, vous ne voulez pas forcément la dernière version disponible. En entreprise, il arrive qu’une version précise ait été validée, testée et figée.
Pour consulter les versions disponibles d’un paquet :
winget show --id Mozilla.Firefox.ESR --versions
Ensuite, vous pouvez installer une version spécifique :
winget install --id Mozilla.Firefox.ESR --exact --version 140.10.0 --silent
C’est pratique pour reproduire un environnement ou éviter qu’un poste parte sur une version non validée.
Choisir le périmètre d’installation : utilisateur ou machine
WinGet permet aussi de choisir le scope, c’est-à-dire le périmètre d’installation.
Installation pour toute la machine :
winget install --id 7zip.7zip --exact --scope machine --silent
Installation uniquement pour l’utilisateur courant :
winget install --id 7zip.7zip --exact --scope user --silent
Si vous administrez un poste partagé, le scope machine est souvent plus logique. Sur un poste personnel ou un environnement sans droits admin, le scope user peut suffire.
Préciser la source du paquet
Par défaut, WinGet peut chercher dans plusieurs sources, notamment le dépôt WinGet et le Microsoft Store.
Si vous voulez forcer une source précise, utilisez --source :
winget install --id 7zip.7zip --exact --source winget --silent
Ce n’est pas indispensable à chaque fois, mais ça évite les surprises quand un même logiciel existe dans plusieurs sources.
Installer sans interaction : les options utiles
Pour les installations silencieuses, j’ai tendance à utiliser ce modèle :
winget install --id Microsoft.VisualStudioCode --exact --silent --disable-interactivity --accept-package-agreements --accept-source-agreements
Les options importantes :
--silent: demande une installation silencieuse ;--disable-interactivity: limite les demandes d’action utilisateur ;--accept-package-agreements: accepte les conditions du paquet ;--accept-source-agreements: accepte les conditions de la source.
Ce n’est pas magique, mais pour automatiser l’installation de logiciels courants, c’est une bonne base.
Exporter la liste des applications installées
WinGet peut exporter une liste d’applications dans un fichier JSON :
winget export -o winget-apps.json
Vous obtenez un fichier qui contient les applications détectées et réinstallables via WinGet.
Petite limite importante : toutes les applications du PC ne seront pas forcément exportables. Si un logiciel n’existe pas dans les dépôts utilisés par WinGet, il peut être ignoré ou signalé pendant l’export.
Réinstaller une liste d’applications sur un autre PC
Sur une nouvelle machine, vous pouvez réimporter ce fichier :
winget import -i winget-apps.json
WinGet vérifie alors les applications listées et installe celles qui manquent.
C’est très pratique après une réinstallation de Windows, ou pour préparer rapidement un poste avec les mêmes outils de base : navigateur, archiveur, éditeur de code, client VPN, utilitaires, etc.
De mon côté, c’est typiquement le genre de fichier que je garderais dans un dossier d’admin ou un dépôt Git privé, avec une version “poste utilisateur” et une version “poste technicien”.
Mettre à jour toutes les applications en une commande
Autre fonction très utile : la mise à jour globale des applications compatibles.
Pour voir les mises à jour disponibles :
winget upgrade
Pour mettre à jour tout ce qui peut l’être :
winget upgrade --all --silent --disable-interactivity --accept-package-agreements --accept-source-agreements
Cette commande peut faire gagner pas mal de temps, surtout sur un PC qui n’a pas été maintenu depuis plusieurs semaines.
Attention tout de même : je ne lancerais pas ça à l’aveugle sur un parc complet sans test préalable. Faites d’abord un essai sur une machine pilote, surtout si vous avez des logiciels métier sensibles.
Créer un script batch pour préparer un PC
Pour aller plus vite, vous pouvez créer un simple fichier .bat avec vos applications habituelles.
Exemple :
@echo off
winget install --id 7zip.7zip --exact --scope machine --silent --disable-interactivity --accept-package-agreements --accept-source-agreements
winget install --id Mozilla.Firefox --exact --scope machine --silent --disable-interactivity --accept-package-agreements --accept-source-agreements
winget install --id Microsoft.VisualStudioCode --exact --scope machine --silent --disable-interactivity --accept-package-agreements --accept-source-agreements
winget install --id Notepad++.Notepad++ --exact --scope machine --silent --disable-interactivity --accept-package-agreements --accept-source-agreements
pause
Enregistrez le fichier, par exemple :
install-logiciels.bat
Puis lancez-le en administrateur sur un nouveau poste.
Vous pouvez bien sûr faire la même chose en PowerShell, avec des contrôles supplémentaires, une journalisation ou des conditions selon le type de machine.
Automatiser les mises à jour avec Winget-AutoUpdate
Si vous voulez aller plus loin, il existe aussi Winget-AutoUpdate, un projet open source qui automatise les mises à jour via WinGet.
L’outil peut mettre à jour les applications en arrière-plan, notifier l’utilisateur et gérer des listes d’autorisation ou de blocage. C’est intéressant si vous voulez garder des postes à jour sans passer manuellement la commande winget upgrade --all.
Projet GitHub : projet GitHub Winget-AutoUpdate
Comme toujours avec ce type d’outil, testez avant de généraliser. Une mise à jour automatique, c’est pratique, mais il faut éviter qu’un logiciel critique se mette à jour au mauvais moment.
Les limites à connaître
WinGet est très pratique, mais il ne remplace pas une vraie stratégie de gestion de parc.
Quelques limites à garder en tête :
- tous les logiciels ne sont pas disponibles dans les dépôts ;
- certains installeurs ne respectent pas parfaitement le mode silencieux ;
- les mises à jour peuvent modifier le comportement d’un logiciel ;
- les applications métier doivent être testées avant automatisation ;
- selon les droits utilisateur, certaines installations peuvent échouer.
Pour un usage perso ou une petite flotte de machines, WinGet est déjà largement suffisant pour gagner du temps. Pour un environnement plus structuré, il peut être intégré dans un script de préparation, une procédure d’onboarding ou une solution de gestion plus complète.
Ce que je vous conseille
Si vous ne l’utilisez pas encore, commencez simplement avec trois commandes :
winget search NomDuLogiciel
winget install --id ID.DuLogiciel --exact --silent
winget upgrade --all --silent --disable-interactivity --accept-package-agreements --accept-source-agreements
Ensuite, créez votre petit script avec les logiciels que vous installez à chaque fois sur un PC neuf.
Ce n’est pas spectaculaire, mais c’est exactement le genre d’automatisation simple qui évite de perdre 30 minutes à chaque réinstallation Windows.
Source officielle : documentation officielle Microsoft WinGet
—






Commentaires
Laisser un commentaire