Les adeptes de Linux le savent depuis longtemps : la ligne de commandes est un outil très efficace, plus efficace qu'une interface graphique pour certaines tâches.
Pour installer VLC, il est en effet très simple de taper "sudo apt install vlc", bien plus que d'aller sur le site de VLC, chercher le bouton de téléchargement, récupérer le fichier, vérifier qu'il est conforme, l'installer puis faire le ménage. Pour automatiser de telles tâches, les OS mobiles et Windows proposent un « Store », qui a le plus souvent le défaut d'être assez peu ouvert, modèle économique des plateformes oblige.
Une approche que Microsoft a fini par adopter avec winget. L'éditeur a longtemps cherché à proposer un gestionnaire de paquets. Il en a d'ailleurs un pour PowerShell ou les modules NuGet destinés aux développeurs, mais n'avait jamais réussi à trouver une approche gagnante pour les applications grand public de son système.
Commandes basiques:
Pour rappel, winget est un gestionnaire de paquets permettant d'installer des applications référencées dans une base communautaire gérée depuis GitHub.
Elle contient des manifestes détaillant le nom des applications, des liens de téléchargement, empreinte de vérification des fichiers, etc. Chacun peut participer.
Afficher la version
winget -v
Vous pouvez ensuite mettre à jour les sources, chercher une application et l'installer :
winget source update
winget search vlc
winget install vlc
winget upgrade vlc
L'import/export de winget
Autre possibilité : se reposer sur la mécanique d'import/export intégrée à winget. En effet, il est possible de créer un fichier JSON contenant la liste des applications installées sur votre système, puis de la réutiliser sur une autre machine pour y installer les mêmes applications. C'est plus contraignant et moins flexible, mais ça existe.
Pour exporter la liste des applications installées :
winget export -o liste-winget.json
Vous pouvez également préciser des versions :
winget export -o liste-winget.json --include-versions
Pour l'import, c'est également assez simple :
winget import -i liste-winget.json
Cette fois on peut ignorer les versions si elles sont précisées ou les paquets éventuellement indisponibles :
winget import -i liste-winget.json --ignore-versions
winget import -i liste-winget.json --ignore-unavailable
Notez que la composition de ce fichier est assez simple, il peut donc être modifié manuellement. Il suffit simplement de connaître le nom exact des paquets à ajouter (colonne ID dans winget search
) :
{
"$schema" : "https://aka.ms/winget-packages.schema.2.0.json",
"CreationDate" : "2021-05-05T13:37:42.000-00:00",
"Sources" :
[
{
"Packages" :
[
{ "PackageIdentifier" : "Balena.Etcher" },
{ "PackageIdentifier" : "GIMP.GIMP" },
{ "PackageIdentifier" : "GnuPG.GnuPG" },
{ "PackageIdentifier" : "Mozilla.Firefox" },
{ "PackageIdentifier" : "Mozilla.Thunderbird" },
{ "PackageIdentifier" : "VideoLAN.VLC" },
{ "PackageIdentifier" : "XnSoft.XnViewClassic" },
{ "PackageIdentifier" : "WinSCP.WinSCP" },
],
"SourceDetails" :
{
"Argument" : "https://winget.azureedge.net/cache",
"Identifier" : "Microsoft.Winget.Source_8wekyb3d8bbwe",
"Name" : "winget",
"Type" : "Microsoft.PreIndexed.Package"
}
}
],
"WinGetVersion" : "1.0.11692"
}
Mettre à jour vos applications
winget upgrade vlc
winget upgrade --all
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
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
installer plusieurs applications
winget install <Application1> <option> && winget install <Application2> <option> -e && winget install <Application3> <option> && ...
WingetUI : interface utilisateur pour le gestionnaire de paquets Winget
WingetUI est une interface utilisateur gratuite pour les gestionnaires de paquets pour Windows les plus courants tels que Winget (Windows Package Manager) et Scoop.
Avec cette application, vous pourrez facilement télécharger, installer, mettre à jour et désinstaller tout logiciel publié sur les gestionnaires de paquets pris en charge en un seul clic.
Installation :
winget install wingetui
Si message d'erreur CONCRT140.DLL manquante, installez https://aka.ms/vs/17/release/vc_redist.x64.exe