Depuração e solução de problemas com a ferramenta winget

Quando o Gerenciador de Pacotes do Windows está instalando, pesquisando ou listando aplicativos, às vezes, é necessário examinar os arquivos de log para entender melhor o comportamento.

Logs do WinGet

Por padrão, o Gerenciador de Pacotes do Windows cria arquivos de log ao executar comandos. Esses logs contêm informações que podem ajudar na depuração de problemas com o WinGet. Não existe tamanho máximo para os arquivos de log. Normalmente, eles têm apenas alguns KBs. Quando o número de arquivos de log no diretório exceder 100, os arquivos de log mais antigos começarão a ser excluídos. Não há remoção de logs baseada em tempo, e essas configurações não podem ser definidas. Se você atingiu a capacidade de log de 100 arquivos, basta mover todos os logs do WinGet que deseja preservar para outro diretório.

Use o comando winget --info para encontrar o caminho do diretório para seus arquivos de log do WinGet. O caminho padrão dos arquivos de log do WinGet é:

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

Você pode incluir a opção --logs ou --open-logs em qualquer comando para abrir o diretório de logs após a conclusão do comando. Aqui estão alguns exemplos de uso da opção --logs:

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

--verbose-logs

Se você precisar de arquivos de log mais abrangentes, que forneçam a comunicação completa com os CDNs e as fontes, inclua --verbose ou --verbose-logs na linha de comando também. Estes são alguns exemplos de como usar a opção --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

Problemas conhecidos

Uma lista de problemas conhecidos com as fontes e os comportamentos é mantida atualizada no repositório do Cliente do Gerenciador de Pacotes do Windows. Se encontrar problemas ao usar a ferramenta winget, acesse aqui para solucioná-los.

Códigos de saída

A ferramenta winget retorna códigos de saída para indicar o sucesso ou falha do comando. Encontre uma tabela de códigos de saída e seus significados no arquivo "Códigos de retorno" do repositório do Cliente do Gerenciador de Pacotes do Windows.

Escopo para usuário específico versus todo o computador

Nem todos os instaladores dão suporte à instalação no escopo "usuário" versus "computador" de maneira consistente.

  • Pacotes baseados em MSIX: comportamento do WinGet confiável.
  • Os pacotes baseados em MSI normalmente dão suporte a configurações confiáveis do WinGet, mas, em alguns casos, são aninhados dentro de um instalador baseado em .exe. Portanto, pode haver mais variabilidade.
  • O comportamento de instaladores baseados em EXE em torno do escopo não é necessariamente determinístico. Em alguns casos, os argumentos para especificar o escopo não estão disponíveis e, em outros casos, o instalador pode fazer a determinação com base em se o usuário é membro do grupo de administradores locais. Os pacotes instalados no escopo do usuário ainda podem exigir autorização do UAC (Controle de Conta de Usuário) de um administrador.

Confira mais detalhes sobre problemas relacionados ao escopo no repositório de produtos WinGet no GitHub.