Partager via


Débogage et résolution des problèmes liés à l’outil WinGet

Si WinGet n’apparaît pas correctement installé, procédez comme suit à partir d’une invite de commandes PowerShell :

Install-PackageProvider -Name NuGet -Force | Out-Null
Install-Module -Name Microsoft.WinGet.Client -Force -Repository PSGallery | Out-Null
Repair-WinGetPackageManager -Force -Latest

Lorsque les commandes WinGet échouent, il est parfois nécessaire d’examiner les fichiers journaux pour mieux comprendre le comportement.

Journaux WinGet

Le Gestionnaire de package Windows crée par défaut des fichiers journaux au moment de l’exécution des commandes. Ces journaux contiennent des informations qui peuvent faciliter la résolution des problèmes avec WinGet. Il n’y a pas de limite maximale de taille pour les fichiers journaux. Leur taille n’excède généralement pas quelques Ko. Lorsque le nombre de fichiers journaux dans le répertoire dépasse 100, les fichiers journaux les plus anciens commencent à être supprimés. Il n’existe aucune suppression basée sur la date des journaux et ces paramètres ne sont pas configurables. Si vous avez atteint la capacité de 100 fichiers de journaux, déplacez simplement les journaux WinGet que vous souhaitez conserver dans un autre répertoire.

Utilisez la commande winget --info pour rechercher le chemin d’accès au répertoire de vos fichiers journaux WinGet. Le chemin d’accès par défaut pour les fichiers journaux WinGet est le suivant :

%LOCALAPPDATA%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\DiagOutputDir

Vous pouvez inclure l’option --logs ou --open-logs à n’importe quelle commande pour ouvrir le répertoire des journaux une fois la commande terminée. Voici quelques exemples d’utilisation de l’option --logs :

> winget list --logs
> winget source update --open-logs

--verbose-logs

Si vous avez besoin de fichiers journaux plus complets, qui fournissent une communication complète avec les CDN et les sources, incluez également --verbose ou --verbose-logs sur la ligne de commande. Voici quelques exemples d’utilisation de l’option --verbose-logs :

> winget install vscode --verbose-logs
> winget search -n visual --verbose-logs
> winget source add -n mysource -t Microsoft.REST -a https://www.contoso.org --verbose

Problèmes connus

Une liste de problèmes connus liés aux sources et aux comportements est tenue à jour dans le dépôt du client Gestionnaire de package Windows. Si vous rencontrez des problèmes durant l’utilisation de l’outil WinGet, vous trouverez ici des informations sur leur résolution.

Codes de sortie

L’outil WinGet retourne des codes de sortie pour indiquer la réussite ou l’échec de la commande. Recherchez une table des codes de sortie et leurs significations dans le fichier « Codes de retour » du référentiel client du Gestionnaire de package Windows.

Étendue pour un utilisateur spécifique ou à l’échelle de l’ordinateur

Les programmes d’installation ne prennent pas tous en charge l’installation dans l’étendue « utilisateur » ou l’étendue « ordinateur » de manière cohérente.

  • Packages basés sur MSIX : Comportement WinGet fiable.
  • Les packages basés sur MSI prennent généralement en charge les configurations WinGet fiables, mais dans certains cas, ils sont imbriqués dans un programme d’installation basé sur .exe, ce qui peut entraîner plus d’instabilité.
  • Le comportement des programmes d’installation basés sur EXE autour de l’étendue n’est pas nécessairement déterministe. Dans certains cas, les arguments permettant de spécifier l’étendue ne sont pas disponibles, tandis que dans d’autres cas, le programme d’installation peut déterminer si l’utilisateur est membre du groupe Administrateurs local. Les packages installés dans l’étendue de l’utilisateur peuvent quand même nécessiter l’autorisation UAC (Contrôle de compte d’utilisateur) d’un administrateur.

Pour plus d’informations sur les problèmes liés aux étendues, consultez le dépôt de produits WinGet sur GitHub.

Erreur 403 Interdit

Une erreur 403 Interdit peut se produire lors de la tentative de téléchargement d’un package à l’aide de l’outil WinGet. Ce problème peut se produire si un fournisseur de logiciels indépendant (ISV) opte pour un produit distribué par un service de gestionnaire de package tel que WinGet.

Le serveur réponsible pour lancer le téléchargement recherche généralement une chaîne d’agent utilisateur incluse dans la demande de téléchargement pour identifier l’appareil ou le client (par exemple, navigateur, WinGet). Si vous pouvez télécharger le programme d’installation à l’aide de votre navigateur, mais rencontrez des problèmes avec WinGet, il est possible que l’éditeur de logiciels indépendants ait bloqué la chaîne de l’agent utilisateur WinGet.

La chaîne de l’agent utilisateur pour WinGet a le format suivant :

winget-cli WindowsPackageManager/{Client Version} DesktopAppInstaller/Microsoft.DesktopAppInstaller {AppInstaller Version}

Exemple :

winget-cli WindowsPackageManager/1.9.25200 DesktopAppInstaller/Microsoft.DesktopAppInstaller v1.24.25200.0