Condividi tramite


Debug e risoluzione dei problemi relativi allo strumento WinGet

Se WinGet non sembra essere installato correttamente, seguire questa procedura da un prompt dei comandi di PowerShell:

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

Quando i comandi WinGet hanno esito negativo, a volte è necessario esaminare i file di log per comprendere meglio il comportamento.

Log WinGet

Gestione pacchetti di Windows crea per impostazione predefinita i file di log durante l'esecuzione dei comandi. Questi log contengono informazioni utili per il debug dei problemi con WinGet. Non sono previste dimensioni massime per i file di log. In genere le dimensioni sono solo di pochi KB. Quando il numero di file di log nella directory supera 100, i file di log meno recenti inizieranno a essere eliminati. Non esiste alcuna rimozione basata sulla durata dei log e tali impostazioni non sono configurabili. Se è stata raggiunta la capacità di log di 100 file, spostare tutti i log WinGet che si desidera mantenere in una directory diversa.

Usare il comando winget --info per trovare il percorso della directory per i file di log di WinGet. Il percorso predefinito per i file di log WinGet è:

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

È possibile includere l'opzione --logs o --open-logs su qualsiasi comando per aprire la directory dei log al termine del comando. Di seguito sono riportati alcuni esempi di uso dell'opzione --logs:

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

--verbose-logs

Se sono necessari file di log più completi, che forniscono la comunicazione completa con le reti CDN e le origini, includere --verbose o --verbose-logs anche nella riga di comando. Di seguito sono riportati alcuni esempi di uso dell'opzione --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

Problemi noti

Un elenco di problemi noti relativi a origini e comportamenti viene mantenuto aggiornato nel repository client di Gestione pacchetti di Windows . Se si verificano problemi quando si usa lo strumento WinGet, andare qui per la risoluzione dei problemi.

Codici di uscita

Lo strumento WinGet restituisce codici di uscita per indicare l'esito positivo o negativo del comando. Trovare una tabella di codici di uscita e i relativi significati nel file "Codici restituiti" del repository client di Gestione pacchetti di Windows.

Ambito per utenti specifici e a livello di computer

Non tutti i programmi di installazione supportano l'installazione nell'ambito "utente" rispetto all'ambito "computer" in modo coerente.

  • Pacchetti basati su MSIX: comportamento WinGet affidabile.
  • Pacchetti basati su MSI in genere supportano configurazioni WinGet affidabili, ma in alcuni casi vengono annidate all'interno di un programma di installazione basato su .exe, in modo che ci sia maggiore variabilità.
  • Il comportamento dei programmi di installazione basati su EXE relativo all'ambito non è necessariamente deterministico. In alcuni casi gli argomenti per specificare l'ambito non sono disponibili e in altri casi il programma di installazione può determinare se l'utente è membro del gruppo degli amministratori locale. I pacchetti installati nell'ambito utente possono comunque richiedere l'autorizzazione di Controllo account utente da un amministratore.

Per altre informazioni sui problemi relativi all'ambito nel repository dei prodotti WinGet su GitHub, vedere altri dettagli.

Errore 403 Accesso negato

È possibile che si verifichi un errore 403 Non consentito quando si tenta di scaricare un pacchetto usando lo strumento WinGet. Questo problema può verificarsi se un fornitore di software indipendente (ISV) sceglie di non avere il prodotto distribuito da un servizio di gestione pacchetti come WinGet.

Il server reponsible per l'avvio del download verifica in genere la presenza di una stringa agente utente inclusa nella richiesta di download per identificare il dispositivo o il client (ad esempio, browser, WinGet). Se è possibile scaricare il programma di installazione usando il browser, ma si verificano problemi con WinGet, è possibile che l'ISV abbia bloccato la stringa dell'agente utente WinGet.

La stringa dell'agente utente per WinGet ha il formato seguente:

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

Esempio:

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