Menu Fermer

winget (Windows Package Manager) : installer des programmes en ligne de commandes

Winget est la commande CMD du Windows Package Manager, un tout nouveau gestionnaire de paquets pour Windows 10 et Windows 11.
On connaissait chocolatey pour installer des programmes en ligne de commandes.
Microsoft propose son propre système de paquets pour Windows 10 pour installer ses applications mais aussi des applications tiers comme 7-Zip, KeePass, Arduino IDE, or Discord.
Ce dernier est similaire à APT ou DNF de Linux.

Winget et Windows Package Manager fonctionnent à partir de Windows 10 version 1709.
On peut l’installer à partir du Windows Store ou via GitHub.

Une fois installé, on utilise PowerShell ou une invite de commandes pour commencer à l’utiliser.
La commande est winget et vous pouvez l’exécuter sans aucun paramètre pour afficher les commandes disponibles et l’aide en premier.
Cela permet d’installer et mettre à jour ses applications automatiquement depuis l’invite de commandes ou Powershell.

Voici le guide ULTIME pour apprendre à utiliser winget sur Windows 10 ou Windows 11.

winget (Windows Package Manager) : installer des programmes en ligne de commandes

Qu’est-ce que winget (Windows Package Manager)

Winget fonctionne donc comme avec des dépôts ou repository en anglais.
Microsoft gère une sorte d’annuaire d’application avec le lien de téléchargement et la possibilité d’effectuer des recherches dedans.
Enfin winget peut aussi installer des applications depuis Windows Store.
Parfois certaines applications sont à la fois disponibles depuis les sources dépôts et depuis le Windows Store.

Windows Package Manager vous permet donc de trouver une application et l’installer très facilement.
Par la suite, vous pourrez mettre à jour celle-ci ou l’ensemble des applications installées.
En clair donc, avec une commande, vous mettez à jour toutes vos applications.

Windows Package Manager est donc un système de package qui permet à des administrateurs d’automatiser beaucoup de tâches.

Cela facilite beaucoup les choses puisque cela permet :

  • de centraliser tous les logiciels Windows depuis un même endroit (le dépôt). Un peu comme Windows Store. En une seule commande, vous pouvez mettre à jour vos applications depuis les dépôts.
  • Vous évitez les PUP, adwares et malwares en téléchargeant depuis un site trompeur.
  • Gérer les dépendances automatiquement. On ne se casse plus la tête avec les Visual C++ redistributable ou .Net framework. En effet, le gestionnaire va installer automatiquement tout ce qui est nécessaire.

Comment installer Windows Package Manager

Windows Store

  • Ouvrez Windows Store
  • Puis faites une recherche sur Winget
Installer le programme d'installation d'application (winget) par Windows Store
  • Cliquez sur le programme d’installation d’application
Installer le programme d'installation d'application (winget) par Windows Store
  • Winget est maintenant installé sur votre système

Par le setup

  • Vous pouvez télécharger winget depuis ce lien.
  • Lancez le fichier appbundle
  • puis laissez -vous guider pour faire la mise à jour de ms-ressources:appDisplayName
Installer winget par le setup
Installer winget par le setup
Winget (Windows Package Manager) est maintenant installé dans Windows 10.

winget : installer des programmes en ligne de commandes

Les commandes winget

Voici les listes des commandes.
On retrouve les mêmes type de commandes que pour chocolatey ou apt-get.

COMMANDEACTION
InstallInstaller un programme / paquet
ShowMontre les informations d’une application / paquet
SourceAfficher les informations des sources
SearchChercher une application à partir d’un mot clé
ListAfficher les paquets installés
UpgradeMettre à jour un paquet
UninstallDésinstaller un paquet
HashDonne le hash d’un setup et paquet
ValidateValider le fichier manifest
SettingsOuvrez les paramètres ou définissez les paramètres de l’administrateur
FeaturesMontrer le statut des caractéristiques expérimentales
ExportExporter une liste des paquets installés
ImportImporter tous les packages dans un fichier
Les commandes winget
La liste des commandes winget

Rechercher une application avec winget

Pour recherche une application, on utilise le paramètre search.
Ce qui donne :

winget search motcle

Lors de la première utilisation, il vous faut accepter les conditions du contrat de sources en appuyant sur la touche Y et en validant par entrée.

Rechercher une application avec winget

winget retourner les informations des packages avec plusieurs colonnes dont :

  • Nom : donne le nom du package qui n’est PAS unique
  • ID : son identifiant unique qui permet de cibler ce package dans les commandes d’installation, mise à jour ou suppression
  • La version de l’application
  • La source :
    • msstore : provenant de Windows Store et donc sous la forme d’une application universelle UWP
    • winget : provenant des dépôts winget sous la forme d’une application Win32. En clair cela télécharger le setup au format MSI ou EXE et l’exécute en mode silence

Pensez que si vous installez l’application depuis msstore, celle-ci s’installe dans C:\Programmes\WindowsApps alors qu’avec les dépôts winget, elle ira dans C:\Program Files

Description de la recherche de paquet avec winget

Par exemple pour chercher une application qui gère les archives ZIP.
On peut saisir winget search zip.
Ici il retourne 7zip et peazip.

winget : comment recherche une application

Si aucun mot clé n’est indiqué, winget liste alors toutes les applications disponibles dans les repository de Windows Package Manager.

winget : comment recherche une application

Enfin pour les paquets avec des espaces, encadrez les avec des guillemets.
Par exemple pour recherche sur Mozilla Firefox :

winget search "Mozilla Firefox"
Rechercher des paquets avec winget

Comment filtrer la recherche de paquet sur winget

Pour affiner la recherche, la commande search possède plusieurs options.
Vous pouvez obtenir une description et l’aide en utilisant la commande suivante :

winget search -?

Voici les options principales de la commande search :

OPTIONSDESCRIPTION
–idFiltrer la recherche par son id
–nameFiltrer la recherche par le nom
–tagRechercher un paquet par son tag
–monikerFiltrer la recherche par le nom informel / surnom
–commandFiltrer les résultats par commande
-s ou –sourceRechercher un package à l’aide de la source indiquée
-n ou –countAfficher uniquement le nombre spécifié de résultats
-e ou -exactRechercher un package en utilisant une correspondance exacte
Les options de la commande search

Rechercher par le nom du paquet

Pour recherche sur un mot dans le nom du paquet, on utilise l’option –name.
Par exemple ci-dessous, on recherche les paquets comportant le mot Twitter.

winget search --name Twitter

Comme vous pouvez le constater, sur la seconde commande, moins de paquets sont proposés par rapport à la première.

Rechercher par le nom du paquet avec winget

Rechercher un paquet par son tag

Vous pouvez également limiter la recherche aux balises répertoriées pour les packages de l’application.

Par exemple, si vous souhaitez filtrer votre résultat de recherche avec le tag ‘firefox’, vous pouvez essayer l’une des commandes suivantes:

winget search --tag firefox

Comme vous pouvez le voir, cela ne change pas grand chose entre un résultat avec tag et sans tag.
Ici cela vient du fait que l’on effectue une recherche sur le nom d’une application.

Rechercher un paquet par son tag avec winget

Mais sur un type d’application, cela peut aider à filtrer la recherche.
Par exemple une recherche sur le tag browser permet de mieux faire ressortir les navigateurs internet comme résultat.

winget search --tag browser

Rechercher un paquet par la commande

Il arrive parfois que l’on se souvienne du nom d’une commande mais que le nom du paquet diffère.
Dans ces cas là, vous pouvez retrouver le paquet par sa commande grâce à l’option –commande.
Par exemple :

winget search --command winget

On voit ici que le paquet Windows Package Manager ressort tout seul alors qu’une recherche classique sur winget fait ressortir d’autres paquets qui comporte ce mot dans leurs noms.

Rechercher un paquet par la commande avec winget

Rechercher un paquet par le moniker

Enfin l’option moniker permet de rechercher un paquet par le nom informel.
Très utile, si vous ne connaissez pas le nom officiel ou correct d’une application, vous la recherchez avec un surnom connu.

Par exemple ci-dessous :

winget search --moniker=iobit
Rechercher un paquet par le moniker avec winget

Obtenir des informations sur un paquet

Enfin pour obtenir des informations sur une application, on utilise le paramètre show, soit donc :

winget show nomApplication

Cela donne des informations sur :

  • La version de l’application
  • L’auteur ou l’éditeur
  • La page du logiciel
  • Le type de licence (GNU, propriétaire, etc)
  • et des informations sur l’installeur donc la langue, le SHA256 et le type (EXE ou MSI).
winget : afficher les informations d'une application
Une fois l’application trouvée, winget vous permet de l’installer très facilement.

Comment Installer une application avec winget

Enfin pour installer une application, c’est très simple :

winget install nomApplication

Par exemple pour installer peazip :

winget install peazip

Le téléchargement puis l’installation s’effectue automatiquement.

winget : installer une application

Ici un avertissement de sécurité s’affiche car l’exécutable n’est pas signé numériquement.

winget : installer une application

Une fois l’installation terminée, un message Sucessfully installed s’affiche.

winget : installer une application
Bravo ! Vous avez réussi à installer une application avec winget..

Comment installer un paquet son nom exact, id ou source

Winget peut installer un logiciel depuis les sources du Windows Store ou ses propres dépôts.
Ainsi lorsque vous installez une application par son nom, il se peut que winget vous indique que plusieurs packages correspondent à vos critères.
Vous devez alors affiner votre recherche.
C’est notamment le cas avec VLC qui retourne deux paquets provenant de deux sources différentes.

Pour installer un paquet par son nom exact, utilisez l’option -e :

winget install vlc -e
winget install "VLC media player" -e
Comment installer un paquet son nom exact, id ou source avec winget

Mais vous pouvez aussi spécifier le paquet par sa source en utilisant l’option –source :

winget install -vlc --source msstore
winget install -vlc --source winget
Comment installer un paquet son nom exact, id ou source avec winget

Enfin vous pouvez cibler un package à installer par son identifiant grâce à l’option –id :

winget install --id=XPDM1ZW6815MQM
winget install --id=VideoLAN.VLC
Comment installer un paquet son nom exact, id ou source avec winget

Comment installer une application en mode silencieux

Vous pouvez également exécuter l’installation de l’emballage en arrière-plan sans demander une entrée ou afficher des progrès de l’installateur.
Ce mode supprimera toute interface utilisateur de l’installation. Pour ce faire, vous devrez utiliser l’option -h ou –Silent avec la commande d’installation.

winget install Notepad++.Notepad++ --silent
Comment installer une application en mode silencieux sur winget

Comment installer une application pour l’utilisateur courant

L’option –scope combinée à la commande d’installation vous permet de spécifier si l’application doit être installée uniquement sur l’utilisateur actuel ou sur tous les utilisateurs (machine).

Pour installer une application pour un utilisateur courant, on utilise –scope-user :

winget install vlc -e --scope=user

Pour installer une application pour tous les utilisateurs, utilisez l’option –scope=machine :

winget install vlc -e --scope=machine

Modifier l’emplacement d’installation pour un programme

Par défaut, les applications sont installées sur le lecteur système dans le dossier «C:\Program Files», mais vous pouvez modifier le dossier d’installation d’un programme avec l’option -l ou –location.

Par exemple, nous souhaitons installer le programme vlc dans l’emplacement “D:\logiciels” au lieu du dossier “C: \ Program Files” par défaut. Pour cela, nous allons utiliser la commande ci-dessous:

winget install vlc -e --location "D:\logiciels"

Accepter les contrats de licence

Lorsque vous installez certains logiciels, vous serez invité à accepter le contrat de licence des packages logiciels et de la source. Vous pouvez éviter ces invites en acceptant le contrat de licence au préalable.

Pour accepter le contrat de licence d’un package, vous pouvez utiliser l’option –accept-package-agreements avec la commande d’installation:

winget install vlc -e --accept-package-agreements

Pour accepter le contrat de licence source, vous pouvez utiliser l’option –accept-source-agreement :

winget install vlc -e --accept-source-agreement

Bien entendu, vous pouvez utiliser les deux options à la fois de cette manière :

winget install vlc -e --accept-package-agreements --accept-source-agreement

Comment installer plusieurs applications

Vous pouvez installer plusieurs applications en utilisant successivement plusieurs commandes winget install avec un séparateur.

En invite de commandes, séparez les commandes par && :

winget install <Application1> <option> && winget install <Application2> <option> -e && winget install <Application3> <option> && ...

En PowerShell, séparez les commandes par un point virgule (;) :

winget install VLC -e && winget install Notepad++ -e && winget install Audacity

Bien entendu, on peut aussi cibler les applications par leurs ID :

winget install --id=Microsoft.Edge.Dev -e && winget install --id=Mozilla.Firefox -e && winget install --id=Google.Chrome.Dev -e

Comment mettre à jour un paquet avec winget

Winget vous permet d’installer non seulement des packages d’applications, mais également de mettre à niveau ou de désinstaller les personnes existantes. Vous pouvez mettre à niveau une application existante avec la commande de upgrade de votre système tant qu’il existe une mise à jour disponible pour l’application particulière.

Pour lister les mises à jour de paquets disponibles, utilisez la commande upgrade seule de cette manière :

winget upgrade
Comment mettre à jour un paquet avec winget

A noter que la commande list vous indique les mises à jour disponibles avec la colonne du même nom.

Comment mettre à jour un paquet avec winget

Ensuite pour mettre à jour un paquet spécifique, indiquez son nom après la commande upgrade.
Par exemple pour mettre à jour 7-zip :

winget upgrade 7-zip
Comment mettre à jour un paquet avec winget

Enfin pour mettre à jour l’ensemble des paquets installés, utilisez l’option –all :

winget upgrade --all
Comment mettre à jour un paquet avec winget

Désinstaller ou supprimer les applications à l’aide de Winget

Pour désinstaller une application de Windows, il suffit d’utiliser la commande uninstall.
Par exemple pour désinstaller VLC :

winget uninstall vlc
Désinstaller ou supprimer les applications à l'aide de Winget

Les applications avec des espaces sont à encadrer par des guillemets :

winget uninstall "Mozilla Firefox"

Ou encore pour installer une application par son identifiant avec –id :

winget uninstall --id=Microsoft.OneDrive

Enfin comme pour l’installation, on peut aussi désinstaller plusieurs applications en une seule commande winget :

winget uninstall VideoLAN.VLC -e && winget uninstall Notepad++.Notepad++ -e && winget uninstall Audacity.Audacity -e
winget : désinstaller plusieurs paquets et applications en une seule commande