# Windows Package Manager (WinGet)

### **Introduction**

Microsoft a mis en place un nouveau package pour l’installation de programme en ligne de commande (CMD ou PowerShell). Et suite aux nouvelles politiques de Mircrosoft le logiciel est disponible sur [github](https://github.com/microsoft/winget-cli "page du projet").

<p class="callout danger">Attention, Windows Package Manager est en **développement** donc à vos risques et périls</p>

### **Installation**

Pour utiliser cette nouvelle fonctionnalité qui est encore en **preview** (actuellement en version v0.1.41331 Preview), il faut installer la dernière version disponible sur :

<div class="page-content" id="bkmrk-github-microsoft-sto"><div dir="auto">- - - - - [github](https://github.com/microsoft/winget-cli/releases/ "github")
                - [Microsoft Store](https://www.microsoft.com/fr-fr/p/app-installer/9nblggh4nns1?activetab=pivot:overviewtab "Microsoft Store")

</div></div>Microsoft a déjà publié en français une documentation sur cette fonctionnalité : [Gestionnaire de package Windows](https://docs.microsoft.com/fr-fr/windows/package-manager/)

### **winget dans la pratique**

```shell
winget [<command>] [<options>]
```

<div class="page-content" id="bkmrk-commande-description"><div dir="auto"><table border="1" id="bkmrk-commande-description-1" style="border-collapse: collapse; width: 100%;"><tbody><tr><td style="width: 24.4444%;">**Commande**</td><td style="width: 75.5556%;">**Description**</td></tr><tr><td style="width: 24.4444%;">search</td><td style="width: 75.5556%;">Rechercher une application</td></tr><tr><td style="width: 24.4444%;">install</td><td style="width: 75.5556%;">Installer une application</td></tr><tr><td style="width: 24.4444%;">show</td><td style="width: 75.5556%;">Affiche les informations d'une ou plusieurs applications</td></tr><tr><td style="width: 24.4444%;">source</td><td style="width: 75.5556%;">Permet de gérer les sources d'application</td></tr><tr><td style="width: 24.4444%;">hash</td><td style="width: 75.5556%;">Génère le hachage SHA256 pour le programme d’installation</td></tr><tr><td style="width: 24.4444%;">validate</td><td style="width: 75.5556%;">Valide un fichier manifeste pour l’envoi dans le dépôt du Gestionnaire de package Windows</td></tr></tbody></table>

</div></div>#### **winget search**

```shell
winget search [[-q] <query>] [<options>]
```

<div class="page-content" id="bkmrk-commande-description-2"><div dir="auto"><table border="1" id="bkmrk-commande-description-0" style="border-collapse: collapse; height: 261px;"><tbody><tr style="height: 29px;"><td style="width: 138px; height: 29px;">**Commande**</td><td style="width: 671px; height: 29px;">**Description**</td></tr><tr style="height: 29px;"><td style="width: 138px; height: 29px;">-q,--query</td><td style="width: 671px; height: 29px;">Requête utilisée pour rechercher une application</td></tr><tr style="height: 29px;"><td style="width: 138px; height: 29px;">--id</td><td style="width: 671px; height: 29px;">Filtrer les résultats par identifiant</td></tr><tr style="height: 29px;"><td style="width: 138px; height: 29px;">--name</td><td style="width: 671px; height: 29px;">Filtrer les résultats par nom</td></tr><tr style="height: 29px;"><td style="width: 138px; height: 29px;">--moniker</td><td style="width: 671px; height: 29px;">Filtrer les résultats par nom d’application</td></tr><tr style="height: 29px;"><td style="width: 138px; height: 29px;">--tag</td><td style="width: 671px; height: 29px;">Filtrer les résultats par mot-clé</td></tr><tr style="height: 29px;"><td style="width: 138px; height: 29px;">--command</td><td style="width: 671px; height: 29px;">Filtrer les résultats par commande</td></tr><tr style="height: 29px;"><td style="width: 138px; height: 29px;">-s,--source</td><td style="width: 671px; height: 29px;">Rechercher une application à l’aide de la source indiquée</td></tr><tr><td style="width: 138px;">-n,--count</td><td style="width: 671px;">Ne pas afficher plus de résultats que le nombre spécifié</td></tr><tr style="height: 29px;"><td style="width: 138px; height: 29px;">-e,--exact</td><td style="width: 671px; height: 29px;">Rechercher une application à l’aide d’une correspondance exacte</td></tr></tbody></table>

</div></div>[![winget-search.png](https://doc.vainsta.fr/uploads/images/gallery/2024-11/scaled-1680-/rvQKsYBrsrS2aBwp-winget-search.png)](https://doc.vainsta.fr/uploads/images/gallery/2024-11/rvQKsYBrsrS2aBwp-winget-search.png)

#### **winget install**

```shell
winget install [[-q] <query>] [<options>]
```

<div class="page-content" id="bkmrk-commande-description-3"><div dir="auto"><table border="1" id="bkmrk-commande-description-4" style="border-collapse: collapse; width: 100%; height: 290px;"><tbody><tr style="height: 29px;"><td style="width: 11.358%; height: 29px;">**Commande**</td><td style="width: 55.6447%; height: 29px;">**Description**</td></tr><tr style="height: 29px;"><td style="width: 11.358%; height: 29px;">-q,--query</td><td style="width: 55.6447%; height: 29px;">Requête utilisée pour rechercher une application</td></tr><tr style="height: 29px;"><td style="width: 11.358%; height: 29px;">-m,--manifest</td><td style="width: 55.6447%; height: 29px;">Chemin d’accès au manifeste de l’application</td></tr><tr style="height: 29px;"><td style="width: 11.358%; height: 29px;">--id</td><td style="width: 55.6447%; height: 29px;">Filtrer les résultats par identifiant</td></tr><tr style="height: 29px;"><td style="width: 11.358%; height: 29px;">--name</td><td style="width: 55.6447%; height: 29px;">Filtrer les résultats par nom</td></tr><tr style="height: 29px;"><td style="width: 11.358%; height: 29px;">--moniker</td><td style="width: 55.6447%; height: 29px;">Filtrer les résultats par nom d’application</td></tr><tr style="height: 29px;"><td style="width: 11.358%; height: 29px;">-v,--version</td><td style="width: 55.6447%; height: 29px;">Utiliser la version indiquée; la version par défaut est la dernière version</td></tr><tr style="height: 29px;"><td style="width: 11.358%; height: 29px;">-s,--source</td><td style="width: 55.6447%; height: 29px;">Rechercher une application à l’aide de la source indiquée</td></tr><tr style="height: 29px;"><td style="width: 11.358%; height: 29px;">-e,--exact</td><td style="width: 55.6447%; height: 29px;">Rechercher une application à l’aide d’une correspondance exacte</td></tr><tr style="height: 29px;"><td style="width: 11.358%; height: 29px;">-i,--interactive</td><td style="width: 55.6447%; height: 29px;">Demander une installation interactive; l’intervention de l’utilisateur peut être nécessaire</td></tr><tr><td style="width: 11.358%;">-h,--silent</td><td style="width: 55.6447%;">Demander une installation sans assistance</td></tr><tr><td style="width: 11.358%;">-o,--log</td><td style="width: 55.6447%;">Emplacement du journal (si pris en charge)</td></tr><tr><td style="width: 11.358%;">--override</td><td style="width: 55.6447%;">Remplacer les arguments à transmettre au programme d’installation</td></tr><tr><td style="width: 11.358%;">-l,--location</td><td style="width: 55.6447%;">Emplacement d’installation (si pris en charge)</td></tr></tbody></table>

</div></div>##### Exemple d’installation

```shell
winget install -h Microsoft.AzureCLI
winget install Microsoft.AzureCLI
```

Pour l'exemple je voulais faire une silent install, mais comme je n'avais pas lancé ma session powershell en administrateur, j'ai eu une erreur.

[![winget-install.png](https://doc.vainsta.fr/uploads/images/gallery/2024-11/scaled-1680-/nSQ9vRK5m2qJPjbc-winget-install.png)](https://doc.vainsta.fr/uploads/images/gallery/2024-11/nSQ9vRK5m2qJPjbc-winget-install.png)


##### Recherche via la commande -q

```shell
winget install -q Microsoft
```

[![winget-install-search.png](https://doc.vainsta.fr/uploads/images/gallery/2024-11/scaled-1680-/YRvrfbHQC5d30btA-winget-install-search.png)](https://doc.vainsta.fr/uploads/images/gallery/2024-11/YRvrfbHQC5d30btA-winget-install-search.png)

<p class="callout warning">Faite attention avec install -q, si il n'y a qu'un choix cela installe directement le logiciel. C'est ce qui m'ai arrivé avec la recherche sur Notion.</p>

```shell
winget install -q notion
```

[![winget-install-search2.png](https://doc.vainsta.fr/uploads/images/gallery/2024-11/scaled-1680-/s4OTYWKniHriCKq9-winget-install-search2.png)](https://doc.vainsta.fr/uploads/images/gallery/2024-11/s4OTYWKniHriCKq9-winget-install-search2.png)

#### **winget source**

```shell
winget source <command>
```

<div class="page-content" id="bkmrk-commande-description-5"><div dir="auto"><table border="1" id="bkmrk-commande-description-6" style="border-collapse: collapse; width: 57.284%; height: 179px;"><tbody><tr style="height: 29px;"><td style="width: 24.4444%; height: 29px;">**Commande**</td><td style="width: 42.5583%; height: 29px;">**Description**</td></tr><tr style="height: 29px;"><td style="width: 24.4444%; height: 29px;">add</td><td style="width: 42.5583%; height: 29px;">Ajouter une nouvelle source</td></tr><tr style="height: 29px;"><td style="width: 24.4444%; height: 29px;">list</td><td style="width: 42.5583%; height: 29px;">Répertorier les sources actuelles</td></tr><tr style="height: 29px;"><td style="width: 24.4444%; height: 29px;">update</td><td style="width: 42.5583%; height: 29px;">Mettre à jour les sources actuelles</td></tr><tr style="height: 29px;"><td style="width: 24.4444%; height: 29px;">remove</td><td style="width: 42.5583%; height: 29px;">Supprimer les sources actuelles</td></tr><tr><td style="width: 24.4444%;">reset</td><td style="width: 42.5583%;">Réinitialiser les sources</td></tr></tbody></table>

</div></div>```shell
winget source list
```

[![winget-source-liste.png](https://doc.vainsta.fr/uploads/images/gallery/2024-11/scaled-1680-/xSD3z8zDoPmtJF9U-winget-source-liste.png)](https://doc.vainsta.fr/uploads/images/gallery/2024-11/xSD3z8zDoPmtJF9U-winget-source-liste.png)

<p class="callout warning">Actuellement, il n'y a que une seule source de possible. La commande *winget source add* n'a pas d’intérêt pour le moment.</p>

```shell
winget source update
```

[![winget-source-update.png](https://doc.vainsta.fr/uploads/images/gallery/2024-11/scaled-1680-/th46QTwcJQU3nKaF-winget-source-update.png)](https://doc.vainsta.fr/uploads/images/gallery/2024-11/th46QTwcJQU3nKaF-winget-source-update.png)

<p class="callout success">La seule commande utile est : *winget source update*. Car la liste des applications disponibles augmente depuis la publication de beta. Les applications ont un processus de validation par Microsoft.</p>

### **Les applications disponibles**

La liste des application actuellement disponible sont consultable de deux façons :

<div class="page-content" id="bkmrk-github-%3A-winget-pkgs"><div dir="auto">- - - - [github : winget-pkgs](https://github.com/microsoft/winget-pkgs/tree/master/manifests "winget-pkgs")
            - [winstall.app](https://winstall.app "winstall.app")

</div></div>Le site [winstall.app](https://winstall.app "winstall.app") permet de gérer en plus les lignes de commandes d’installation.

[![winget1.png](https://doc.vainsta.fr/uploads/images/gallery/2024-11/scaled-1680-/4AmDz23BUaZVcdQC-winget1.png)](https://doc.vainsta.fr/uploads/images/gallery/2024-11/4AmDz23BUaZVcdQC-winget1.png)

<p class="callout info">Comme on peut le voir en dessous, il est possible d'exporter dans un fichier .bat ou .ps1</p>

[![winget2.png](https://doc.vainsta.fr/uploads/images/gallery/2024-11/scaled-1680-/1RXylCvl33FOuV4M-winget2.png)](https://doc.vainsta.fr/uploads/images/gallery/2024-11/1RXylCvl33FOuV4M-winget2.png)