Culture numérique

Winget: Comment installer et mettre à jour une application, sous Windows

Les choses que tu devrais apprendre à l’école, et si tu es un informaticien, que tu ne devrais pas ignorer…

Pascal Kotté
CloudReady CH

--

Annoncé en 2020, un truc que j’attendais de la part de Microsoft depuis, on va dire 15 ans pour pas exagérer… Si tu trouves cet article utile, merci de le partager, et si tu y trouves des trucs erronés ou incomplets, ou si tu es pas d’accord, merci de le dire (avec sources). Si c’est des fautes d’orthographe merci de faire un commentaire en mode privé, pas public, que je puisse corriger discrètement.

WINGET

Ah non, y’a pas la version en français, tu veux contribuer? Moi je suis dispo si quelqu’un veut me rémunérer pour le faire! Microsoft?

Et le pire, c’est que j’ai raté cette info majeure et (re)découvert seulement 2 ans après, donc si tu es informaticien, et que tu bosses sur des machines Windows (serveurs ou stations) et que tu connais pas encore, et bien cet article est pour toi.

Mais les “simples utilisateurs” de Windows ont tout intérêt à prêter un oeil attentif à cet article.

Et merci à Naël, un apprenti que je forme qui m’a montré cela, que j’avais vu passer, mais pas saisi de suite son importance…

J’adore quand mes élèves m’apprennent des trucs!

Learning by doing

En Annexe, un utilitaire libre indispensable: WingetUI! Bientôt renommé UniGetUI: Et si tu n’as pas envie de “savoir” comment/quoi ci-dessous, alors tu peux directement aller chercher le bon outil ici: https://www.marticliment.com/wingetui/

Stage 1 — la base (3mn)

On va faire simple pour débuter, tu lances une fenêtre de commande (cmd):

Tu tape la touche 🪟 de ton clavier, tu fais “cmd”, clic-droit dessus “Invite de commandes” et “Exécuter en tant qu’administrateur” (si pas admin cela fonctionne, mais le package applicatif va se mettre dans le profil utilisateur et pas dans le dossier Programmes).

Et là, tu tapes la commande:

winget search notepad++

Notepad++ est un petit éditeur de textes super cool, open source et libre!

Nom          ID                   Version Correspondance Source
---------------------------------------------------------------
Notepad++ Notepad++.Notepad++ 8.5.8 winget
Notepad Next dail8859.NotepadNext 0.6.4 Tag: notepad++ winget

Et il t’affiche alors la liste des packages avec ce nom ou ce mot clef comme ‘tag’ ce qui permet de voir les solutions “alternatives” qui s’annoncent aussi.

Pour l’installer sur ton PC, il te suffit alors de taper:

  • winget install notepad++
C:\Windows\System32>winget install notepad++

Un package existant a déjà été installé. Tentative de mise à niveau du package installé...
Trouvé Notepad++ [Notepad++.Notepad++] Version 8.5.8
La licence d’utilisation de cette application vous est octroyée par son propriétaire.
Microsoft n’est pas responsable des paquets tiers et n’accorde pas de licences à ceux-ci.
Téléchargement en cours https://github.com/notepad-plus-plus/notepad-plus-plus/releases/download/v8.5.8/npp.8.5.8.Installer.x64.exe
██████████████████████████████ 4.57 MB / 4.57 MB
Le code de hachage de l’installation a été vérifié avec succès
Démarrage du package d’installation... Merci de patienter.
Installé correctement

Et ton package va s’installer, ou se mettre à jour, comme ici.

Si cela ne fonctionne pas, check si ta version est à jour: winget -v (v1.7.10861 en avril 2024, installé par le package 1.22.10861) et si pas, tu peux le mettre à jour via: winget install — id=Microsoft.AppInstaller -e -h — scope “machine”
ou bien le prendre dans le Microsoft Store: ici. (Installeur d’applications)

Pourquoi c’est super?

Le package source va être vérifié avec sa signature et va avorter l’installation si cette signature ne concorde pas, ce qui évite de choper des malfaçons. L’aternative était d’utiliser “Virustotal” pour vérifier un package avant son installation.

Ce qui est indispensable pour tout informaticien “Pro” un minimum responsable ou un utilisateur “éclairé”… (En fais-tu partie?)

Stage 2 — Ton script de réinstallation et d’update

Et du coup, il est très facile de fabriquer un fichier ‘Batch’ (.bat ou .cmd) avec la liste de tes applications:

rem securité et système
winget install --id=Piriform.CCleaner -e -h --scope "machine"
winget install --id=Bitwarden.Bitwarden -e -h --scope "machine"
winget install --id=VirusTotal.VirusTotalUploader -e -h --scope "machine"
rem winget install --id=IObit.MalwareFighter -e -h --scope "machine"
rem bug Le code de hachage de l’installation ne correspond pas ; ceci ne peut pas être contourné lors d’une exécution en tant qu’administrateur
rem winget install --id=SaferNetworking.SpybotAntiBeacon -e -h --scope "machine" - c'est pas le bon tool...

rem browser (navigateurs web)
winget install --id=Google.Chrome -e -h --scope "machine"
winget install --id=Mozilla.Firefox -e -h --scope "machine"
winget install --id=Brave.Brave -e -h --scope "machine"
winget install --id=Opera.OperaGX -e -h --scope "machine"

rem outils comm (Telegram et Signal, adieu Whatsapp)
winget install --id=Telegram.TelegramDesktop -e -h --scope "machine"
winget install --id=OpenWhisperSystems.Signal -e -h --scope "machine"

rem winget install --id=Discord.Discord -e -h --scope "machine" - bug?

rem outils, traducteur, pdf reader...
winget install --id=DeepL.DeepL -e -h --scope "machine"
winget install --id=Foxit.FoxitReader -e -h --scope "machine"
winget install --id=Xmind.Xmind -e -h --scope "machine"
winget install --id=Notepad++.Notepad++ -e -h --scope "machine"
winget install --id=WestWind.MarkdownMonster -e -h --scope "machine"
winget install --id=JGraph.Draw -e -h --scope "machine"
rem JGraph.Draw c'est Draw.io

rem applications
winget install --id=TheDocumentFoundation.LibreOffice -e -h --scope "machine"

rem outils advanced
winget install --id=WiresharkFoundation.Wireshark -e -h --scope "machine"
winget install --id=Loom.Loom -e -h --scope "machine"

Pour un usage privé, ou compléments persos sur un PC PRO: Tu poses ce script dans ton espace “OneDrive” dans un dossier “install” par exemple, et en cas de “reinstall from scratch” (réinstallation Windows complète de zéro) ou du vol de ton ordinateur (expérience vécue), alors tu n’auras plus qu’à reconnecter ton nouveau Windows sur ton profil Microsoft, connecté à ton OneDrive, et tu pourras ensuite “rejouer” ton script, pour récupérer toutes tes applications.

Si tu as pris la peine d’inclure Bitwarden dans tes outils, et sans en avoir oublié son “passphrase” (mot de passe long), alors tu vas récupérer aussi la reconnection facilitée de tous tes services numériques que tu as pris soin de bien sauvegarder…

En particulier pour restaurer les licences des logiciels payants, pense aussi pour ceux encore avec des “clefs”, de bien les poser dans Bitwarden…

Je n’ai presque rien perdu: Sauf les favoris dans “Brave”, sites streaming pirates gratuits, pas grave. Quand aux trucs “confidentiels critiques”, c’était chiffré, même pas peur!

Options: -e -h --scope “machine” ?

C’est pour éviter un “prompt” que l’on ajoute -h (silent mode),

--scope “machine” (ordinateur) permet de forcer l’installation pour tous les profils utilisateurs de la même machine, dans le dossier “Programmes” (ou “Programmes (x86)”) de l’ordinateur. Sauf que tu dois avoir un compte reconnue “admin” sur le PC pour ce faire, et si pas, pas grave, il fera l’installation mais dans ton profil utilisateur. Un autre utilisateur devra refaire l’installation dans son propre profil. Ce qui n’est pas très économique en “espace disque”, donc c’est mieux en mode ‘admin’… Mais ton script doit être lancé avec des droits élevés (cmd en mode admin), sinon, même avec l’option -h l’installation va se mettre en pause et attendre une confirmation.

-e c’est juste pour éviter de t’installer un package dont l’id (ou le nom) commence pareille (en fait il va t’afficher la liste de ces 2 packages et ne rien installer).

Et si tu veux installer un logiciel propriétaire comme Microsoft Office, va falloir allonger les paramètres pour accepter les conditions par défaut:

winget install --id 9WZDNCRD29V9 --exact --accept-source-agreements --disable-interactivity --accept-source-agreements --force

La suite de l’article, tu es un dauphin numérique si tu arrives à suivre.

Stage 3 — Mode PRO

Cet outil va remanier la façon dont on peut gérer des profils de déploiement logiciels dans les entreprises. Mais avant de te réjouir, attend de tout lire cet article complètement! Il va y avoir quelques bémols… Mais des trucs biens:

Déjà pour commencer tu peux faire l’inventaire des installations de ton poste, source ‘winget’ ou pas…

Winget list 

Et tu vas obtenir la liste exhaustive de tout ce qui est installé sur ta machine, avec la source si disponible, la version installée et la version disponible à la source si plus récente.

Et si tu veux filtrer uniquement ceux que tu dois et peux lancer un update:

winget upgrade

Et pour en voir un peu plus, tu fais:

winget list —upgrade-available —include-unknown

On y trouve des trucs que tu n’as pas installé toi-même en Winget, mais Microsoft l’a fait, et donc, tu peux en forcer les mises à jour. Car bien entendu, tu peux faire un script directement avec ce contenu (mieux vaut prendre l’option --id=Nom.Package.Complet, que de prendre le nom).

Spoiler: Cela va foirer et doubler les installations, parfois ou souvent!

Tu peux aussi exporter depuis une machine de référence la liste des package au format JSON, que tu pourras reproduire avec la fonction import correspondante (que tu peux aussi réutiliser pour forcer les updates).

winget export -o c:/temp/softs.json
rem ensuite tu peux refaire l'import
winget import -i c:/temp/softs.json

Effet Wow garanti pour les noobs!

Désolés les gars qui débarquez, mais ce truc est disponible sur les machines Linux depuis plus de 20 ans!

Par contre il manque encore

Auto-Update all

J’ai bing qui m’a dit de faire:

winget upgrade --all

Sauf que le résultat affiche bien une liste de packages “à installer”, mais sans le faire!

Bon, cela peut tomber en marche, retesté, et cela est passé en partie seulement, juste les 2 packages Google et Microsoft qui “bloquent”…

winget upgrade --all --accept-package-agreements --include-unknown --disable-interactivity --accept-source-agreements --force

Possible que des paramètres soit redondants ci-dessus, mais on tente au max…

Comme on peut le faire sur Linux depuis plus de 20 ans, avec une des 3 options possibles selon la “profondeur” des mises à jour souhaitées:

sudo apt update
sudo apt upgrade
sudo apt full-upgrade

Cela permet de lancer la mise à jour de tous les packages nécessaires, en une seule ligne de commande, y compris des composants annexes ou systèmes, à mettre à jour.

Si cela ne se passe pas “assez bien” via Winget, tu peux tenter les solutions:

Contournement 1: Tu peux utiliser WingetUI, mis en annexe, mais c’est manuel, ou automatisé via un agent WingetUI résident.

Contournement 2: Vu précédemment, tu fais un export JSON, et tu exécutes l’import, cela devrait faire le taf pareil, c’est l’avantage de l’inconvénient de ne pas figer sur une version… C’est tout con en fait, mais voilà!

winget import -i c:/temp/softs.json

Mais il y a aussi des machins que les éditeurs ont déclarés avec leurs pieds visiblement (et aucune allusion aux manchots qui font des trucs fantastiques avec leurs pieds… Ok il faut que je trouve une autre expression):

Et non, il ne suffit pas d’ajouter l’option “bourrin” --include-unknown, j‘ai essayé!
Tu crois quoi? C’est du MiGroSoft tout craché des trucs pareils… Un message qui te recommande un paramètre qui ne fonctionne pas! Trop fort!

Connaître la taille du truc avant de lancer l’installation?

Ah ben non, c’est surprise… Tu vois de suite la taille au lancement, mais faut lancer d’abord! Tu peux extraire l’URL du package source, et aller y voir sa taille (et encore, j’ai pas trouvé comment faire sans télécharger). A noter que rien n’empêche un éditeur de t’installer un “installeur” léger, qui va télécharger ensuite le reste des GB. On peut espérer que eux aussi, procèdent correctement à un contrôle du hash (en espérant pas un bête checksum MD5, compromis depuis les années 2004), voir même de vérifier l’espace libre disponible et éviter le crash. Mais quand c’est pas Open Source, on peux pas savoir… Faut faire confiance!
Ou changer de logiciels et opter pour des alternatives libres.

Or donc, chez MiGroSoft de demander aux éditeurs de fournir l’espace disque disponible requis pour une installation, ne serait-ce que vous vérifier avant de lancer une installation qui va tout planter, c’est pas une option chez eux!

Télécharger et vérifier avant d’installer

Je sais pas comment faire cela sous Linux, mais je parie que c’est possible de faire un téléchargement et préparation des packages sans installation. Avec Winget, ben non! (ou pas trouvé). Tu installes “live” directement…

Rappel de Microsoft à chaque lancement: AVERTISSEMENT : NOUS NE SOMMES PAS RESPONSABLES DES PAQUETS TÉLÉCHARGÉS. VEUILLEZ VOUS ASSURER DE N’INSTALLER QUE DES LOGICIELS FIABLES.

Mais Ils ne vont pas te faciliter pour te donner les moyens de les contrôler ces packages, bandes de nazes!

Contournement 1: Tu vas extraire l’URL de la source du package (par exemple via WingetUI, en annexe), et tu le récupères avant, pour check.

Contournement 2: Tu fais un PC virtuel sacrifiable, et tu analyses ce qu’il s’est pris dans la tête après l’installation, pour le contrôler.

De toutes façons, avant de déployer un truc dans un parc, toujours nécessaire de tester et contrôler que cela se passe bien, avant! En mode PRO, c’est “must have”.

Contournement 3: Tu vas ici après l’installation pour récupérer le package: %TEMP%\WinGet (mais du coup, trop tard, c’est installé…)

Figer une version?

Alors finalement oui, tu peux: Tu tapes la commande pour voir les versions:

winget show -q Notepad++ --versions
Et tu as alors toutes les versions à disposition.

Et pour l’installer:

winget install Notepad++ -v 8.5.7 -h -e

Car en mode PRO, il faut que tu gères cela, afin de “figer sur une version donnée”, sinon tu peux lancer ton script le matin, et l’après-midi le même script sur une autre machine va mettre la version suivante…

Pas super approprié pour une entreprise!

Mais c’est jouable, en spécifiant la version du package.

Et pour tes propres packages?

Si c’est des packages “publics” tu peux les publier chez Microsoft, mais si c’est des packages fait maison et pas le droit ou l’envie, de le rendre publiquement accessible, faut mettre en place ton propre “repository winget” et gérer toi-même tes sources…

Si tu as un abonnement Windows Intune, tu peux utiliser winget avec tes propres packages (à vérifier, testimonial wanted: http://call.kotte.net).

Tu peux aussi louer des espaces chez “winstall.app”, mais avec 2'000€/an pour 25 packages et 4000€ pour 100 applications, c’est reparti pour traire les “vaches à laits” que nous sommes… Je vais t’en recommander d’autres!

Le Cloud, c’est super, pour les investisseurs!

Alors avec Chocolatey, tu as aussi la version Community, ou la version Business. Par contre quand tu veux leur commander tes 10 packages spécifiques à gérer, ben leur bon de commande re-switch à 100, qu’on se demande pourquoi on peut modifier la quantité!
100 packages = 1 577,53 CHF/an… C’est moins pire.
(Les contacter, c’est un bug du site, j’espère!).

Et C’est du Open source, avec une version communautaire (Github)

Avec en bonus, une API pour utiliser Virustotal, qui scanne tous les packages soumis chez eux… Que du bon je vous dis! Soyons honnêtes, peut-être que Microsoft le font aussi, mais j’ai demandé à Bing, et j’ai pas eu une réponse probante à ce sujet. Ils seraient capables de ne pas le faire…

Mais cela ne veut pas dire que cette solution est adaptée à tes propres besoins, ni à tes moyens (techniques et financiers), se faire aider pour trouver chaussure à son pied: http://call.kotte.net

Réversibilité?

Puis-je faire un retour à l’installation précédente?

Pas directement en fait… Tu peux reprendre depuis l’installation précédente: %TEMP%\WinGet

  • C:\Users\username\AppData\Local\Temp\WinGet

Où tu vas retrouver toutes les “traces” des installations Winget: C’est cool… Mais certains packages vont faire le ménage après installation, et le dossier sera vide… Mais j’ai peut-être fait un cleanmgr qui avait vidé ce dossier! Toutefois, j’ai l’impression que cela s’auto-clean rapidement (à voir)…

Contournement: Tu lances une désinstallation, et installes la version précédente:

C:\Windows\System32>winget uninstall 7zip
Trouvé 7-Zip [7zip.7zip]
Début de la désinstallation du paquet...
Désinstallé avec succès

C:\Windows\System32>winget install --id 7zip.7zip -v 22.01 -h -e
Trouvé 7-Zip [7zip.7zip] Version 22.01
La licence d’utilisation de cette application vous est octroyée par son propriétaire.
Microsoft n’est pas responsable des paquets tiers et n’accorde pas de licences à ceux-ci.
Téléchargement en cours https://7-zip.org/a/7z2201-x64.msi
██████████████████████████████ 1.82 MB / 1.82 MB
Le code de hachage de l’installation a été vérifié avec succès
Démarrage du package d’installation... Merci de patienter.
Installé correctement

Sous Linux, tu peux lister les versions publiées et choisir celle que tu veux. Le plus souvent, il existe plusieurs canaux dont l’option “LTS” (Long Term Support = Long Time Stable).

Dans Winget, certains packages sont déclarés avec multiples canaux, par certains éditeurs , mais pas figés pour autant. Le plus souvent c’est pour des versions “alpha” que des “canaux” supplémentaires sont disponibles.

Certaines versions alphas deviennent plus anciennes que les dernières finales!

Nettoyage?

A l’inverse, conserver les logs et les packages de toutes ces installations, et pire, toutes les versions de ces installations, c’est aussi une habitude chez Microsoft. Ce qui est une bonne chose pour assurer une réversibilité, même s’il faut le faire manuellement car pas géré par Winget (sauf erreur).

Sous Linux, tu fais une des 2 commandes, selon le degré de nettoyage que tu veux faire:

sudo apt autoremove
sudo apt autoclean

Pour Windows… Tu peux essayer la commande cleanmgr (Nettoyage de disque), et avec l’option “système”. Je crains cependant que cela ne gère pas %TEMP%\WinGet ? Ce serait ballot, mais ici je ne vois pas les 600MB actuels de ce dossier… Je constate toutefois que mes dossiers Winget se vident vite, c’est peut-être mes “cleanmgr”, à tester et creuser.

Alors il existe une option Winget: --purge

Supprimer tous les fichiers et répertoires du répertoire du package (portable)

Mais cela n’a pas fonctionné dans mes tests…

Fiabilité?

Qu’est-ce qui va empêcher un package de t’installer un truc additionnel “pré coché” et de voir apparaitre un icône “Facebook” dans ta barre applicative que tu n’avais pas demandé?

Rien!

Comme d’habitude, faut choisir ses “éditeurs” et sources d’installations logicielles avec précautions!

Et un cybercriminel qui fera passer son application pour un truc bien, pourra-t-il y mettre son maliciel?

Pareil!

Pire, pas vu la moindre procédure de “reporting” intégré pour permettre une “dénonciation” et intervention rapide de MiGroSoft!

Ils vivent sur une autre planète ces gens!

Unicité des installations

Pas sûr que Linux fasse mieux, avec multiples sources repository et multiversions (inconvénients de l’avantage de gérer les versions), mais là, y’a un problème MiGroSoft:

Entre les installations “Edge web app” avec le MS Store, et les Winget, y’a des recouvrements… Windows tente de les “gommer”, et un seul EXE tourne pour la même app, mais pas nécessairement celui que tu crois…

Utiliser 2 sources d’installation divergentes, va installer 2 packages en parallèle…
Et quand tu vas lancer ton Slack, surprise, pas le nouveau qui apparait…
Et après. quand l’utilisateur va lancer “le bon”, il aura perdu tous les settings, et faudra tout reconnecter! (On se demande à quoi sert le dossier AppData dans le profil utilisateur, mais là, je ne pense pas qu’il faille blâmer Microsoft, Slack porte sa part!)

Il faut donc faire attention de nettoyer manuellement certaines installations de Microsoft Store, qui entrent en dualité avec Winget.

Comme tous les packages ne sont pas encore tous compatibles Winget, comme d’habitude, faut faire des trucs hybrides et c’est le bordel!

Mais fais bien attention car certains packages vont installer 2 Packages, à partir d’une seule installation Winget:

L’installation PC local, avec une version installée moisie, a été installé par le package winget lui-même. A priori, pas Microsoft en cause, mais pas drôle pour les logiciels d’inventaires. On va encore courir après des logiciels obsolètes “fantômes”…

Un autre détail qui tue…

Si comme moi, tu ne laisses pas les “desktop icons” (Raccourcis sur le bureau) dans tes installations packagées, car cela ne fait pas PRO du tout. A la rigueur, on leur met un truc important dans la barre des tâches, mais laisser les gens se noyer dans des raccourcis fragiles, volatiles, et bordéliques sur leur “bureau”, c’est nul! (mon avis…)

Ben dommage, c’est par défaut avec Winget!

Sans déconner MiGroSoft!
Fais toi un compte sur GitHub et viens réclamer toi aussi!

Bref

C’est mieux, bien mieux, mais ce n’est pas encore cela et “on n’est pas encore sorti du sable!”. Mais sauf effondrement, d’ici 10 ans, Microsoft va s’améliorer et commencer à égaler ce que Novell et Linux pouvaient faire depuis les années 90!

On est chez MiGroSoft les gars,

faut pas rêver non plus!

NB: J’exagère, il y a des fonctions qui étaient absentes à l’époque Novell, mais j’exagère à peine… Avec des serveurs Novell, charger ou décharger des applications (NLM), ou rollback, c’était simple, immédiat et sans reboot!

Pour aller plus loin:

Addons

WingetUI (bientôt UniGetUI, car plus large que Winget seul!)

C’est libre et open source, donc c’est bien ;-)

Ou en tout cas, c’est facilement améliorable, et on peut faire plus confiance, mais cela ne corrige pas tous les “manques” de Microsoft...

Par contre, vous êtes gentils, mais pour l’installer, faut pas faire comme il dit, ou alors, tu fais un virustotal dessus avant avec ton package téléchargé (faut vraiment distribuer des claques à tous ces Geeks qui n’incluent aucune précaution sécuritaire dans leurs tutos, pour les “alléger”!)…

Tu l’installes dans une boite de commande STP: winget install WingetUI

C:\Users\pasca\OneDrive\Applications>winget search wingetui
Nom ID Version Source
-------------------------------------------------------
WingetUI SomePythonThings.WingetUIStore 2.1.1 winget

C:\Users\pasca\OneDrive\Applications>winget install WingetUI
Trouvé WingetUI [SomePythonThings.WingetUIStore] Version 2.1.1
La licence d’utilisation de cette application vous est octroyée par son propriétaire.
Microsoft n’est pas responsable des paquets tiers et n’accorde pas de licences à ceux-ci.
Téléchargement en cours https://github.com/marticliment/WingetUI/releases/download/2.1.1/WingetUI.Installer.exe
██████████████████████████████ 61.0 MB / 61.0 MB
Le code de hachage de l’installation a été vérifié avec succès
Démarrage du package d’installation... Merci de patienter.
\

Est-ce que ce mode opératoire est plus sûr que de prendre le package EXE ici, https://github.com/marticliment/WingetUI/releases/latest/download/WingetUI.Installer.exe et de faire un Check Virustotal de ce dernier, avant? Pas si sûr! Je pense que nous verrons des packages moisis avec des “rogues sources” apparaître dans les Winget, et que ce sera pas un mal de faire un check de ton dossier %TEMP%\WinGet, mais bon, c’est trop tard si tu t’es installé une saleté!

Des mises à jour facilitées

Avec WingetUI, tu peux dire adieu à tous les utilitaires de type spywares qu’on veut absolument te faire prendre un abonnement payant pour te mettre à jour ton Windows… A bannir ces machins, tous, y compris Piriform!

Et tu peux même mettre à jour tout d’un coup, ou exclure certaines applications des mises à jours (Et tu peux y revenir pour lister les packages ignorés afin de choisir celui que tu veux finalement mettre à jour, contrairement à ce qui était annoncé dans la vidéo sur une version précédente).

Et si certaines mises à jour ne passent pas, c’est que les éditeurs associés n’ont pas fait correctement leurs jobs: Genre ici DeepL, le hash n’a pas été corrigé, et donc “mismatch”, et quand à Microsoft eux-mêmes, le package source déclaré n’est plus disponible — Très très fort MiGroSoft — Pour cette dernière erreur, tu peux faire un reboot et retenter, c’est quand même Windows! Cela peut “tomber en marche” après plusieurs tentatives. En l’occurence, si on insiste, parfois sans les paramètres -e -h --scope cela se passe mieux (pourquoi des paramètres -, et d’autres --? Ben sinon ce serait trop simple: -abréviation, --nomcomplet).

Pour le “hash missmatch”, faudra attendre que l’éditeur corrige la source. Ou alors tu vas le chercher manuellement, tu le télécharges et tu le passes dans Virustotal, et si un doute persiste, est-elle nécessaire cette mise à jour, ou bien elle peut attendre (que les autres se mangent les plâtres à ta place?).

Il y a bien une option qui permet de bypass la vérif du hash:
-- ignore-security-hash
Mais tu fais gaffe de bien check virustotal avant!

Faut pas compter sur Microsoft pour vérifier que les trucs installés par Winget soient sécurisés ! Eux ils vérifient juste que les signatures des packages installés, sont les mêmes que ceux déclarés par l’éditeur lui-même. Comment contrôlent ils les éditeurs? Dans la masse? Je doute que cela soit ‘parfait’…

Et du coup, tu peux aussi faire directement tes courses logicielles, avec plus de tranquilités : Et encore plus via Chocolatey, qui check avec VirusTotal (mais tu peux recontrôler…)

Tu peux aussi utiliser WingetUI pour explorer les versions et générer la ligne de commande avec les différentes options:

winstall.app

Des plateformes “partenaires” exploitent cela pour te faciliter la vie:

Et tu peux même y publier tes propres “groupements de packages”, en privé ou en mode public: https://winstall.app/packs/rzriDT-Xl (exemple)

Par contre le script qui est fourni est “moisi”, une seule gosse ligne:

winget install --id=Piriform.CCleaner -e -h --scope "machine" && winget install --id=Bitwarden.Bitwarden -e -h --scope "machine" && winget install --id=DeepL.DeepL -e -h --scope "machine" && winget install --id=Google.Chrome -e -h --scope "machine" && winget install --id=Mozilla.Firefox -e -h --scope "machine" && winget install --id=Brave.Brave -e -h --scope "machine" && winget install --id=Telegram.TelegramDesktop -e -h --scope "machine" && winget install --id=OpenWhisperSystems.Signal -e -h --scope "machine" && winget install --id=Discord.Discord -e -h --scope "machine" && winget install --id=Foxit.FoxitReader -e -h --scope "machine" && winget install --id=SaferNetworking.SpybotAntiBeacon -e -h --scope "machine" && winget install --id=VirusTotal.VirusTotalUploader -e -h --scope "machine" && winget install --id=Notepad++.Notepad++ -e -h --scope "machine" && winget install --id=TheDocumentFoundation.LibreOffice -e -h --scope "machine" && winget install --id=JGraph.Draw -e -h --scope "machine" && winget install --id=Xmind.Xmind -e -h --scope "machine" && winget install --id=IObit.MalwareFighter -e -h --scope "machine" && winget install --id=7zip.7zip -e -h --scope "machine"

Et si un seul de ces packages est en erreur, alors tout s’arrête… Mieux vaut refaire un script comme mon exemple précédent. A noter que la plateforme Winstall.app, est juste une “façade” et n’héberge en rien le moindre package, c’est juste un catalogue “en ligne” plus convivial que de faire “winget search” et un générateur de script moisi… Mais c’est tout!

Donc en fait, je ne l’utilise pas du tout!

Alors évidemment, tu trouveras une pléthore d’information, mais à part te noyer, impossible de mettre le main sur une introduction compréhensible.

Voir aussi

PaKo propose des formations, du coaching ou de l’assistance numérique à la demande: Prendre un http://RdV.kotte.net — Tu veux te former? Nous rejoindre ici http://QuickLearn.ch en collab avec http://iseig.ch

--

--

Pascal Kotté
CloudReady CH

Réducteur de fractures numériques, éthicien digital, Suisse romande.