Depuración y solución de problemas con la herramienta WinGet
Si WinGet no parece estar instalado correctamente, siga estos pasos desde un símbolo del sistema de PowerShell:
Install-PackageProvider -Name NuGet -Force | Out-Null
Install-Module -Name Microsoft.WinGet.Client -Force -Repository PSGallery | Out-Null
Repair-WinGetPackageManager -Force -Latest
Cuando se producen errores en los comandos WinGet, a veces es necesario examinar los archivos de registro para comprender mejor el comportamiento.
Registros de WinGet
El Administrador de paquetes de Windows crea de forma predeterminada archivos de registro al ejecutar comandos. Estos registros contienen información que puede ayudar a depurar problemas con WinGet. No hay ningún tamaño máximo para los archivos de registro. Normalmente solo tienen un tamaño de pocos KB. Cuando el número de archivos de registro del directorio supera los 100, los archivos de registro más antiguos comenzarán a eliminarse. No hay ninguna eliminación basada en el tiempo de los registros y esta configuración no se puede configurar. Si ha alcanzado la capacidad de registro de 100 archivos, solo tiene que mover los registros de WinGet que quiera conservar en un directorio diferente.
Use el comando winget --info
para buscar la ruta de acceso del directorio a los archivos de registro de WinGet. La ruta de acceso predeterminada para los archivos de registro WinGet es:
%LOCALAPPDATA%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\DiagOutputDir
Puede incluir la opción --logs o --open-logs a cualquier comando para abrir el directorio de registros una vez completado el comando. A continuación, se incluyen algunos ejemplos del uso de la opción --logs:
> winget list --logs
> winget source update --open-logs
--verbose-logs
Si necesita archivos de registro más integrales que proporcionen comunicación completa con las redes CDN y los orígenes, incluya también --verbose o --verbose-logs en la línea de comandos. A continuación, se incluyen algunos ejemplos del uso de la opción --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 conocidos
Se mantiene actualizada una lista de problemas conocidos con orígenes y comportamientos en el repositorio de cliente del Administrador de paquetes de Windows. Si tiene problemas al usar la herramienta WinGet, vaya aquí para solucionar problemas.
Códigos de salida
La herramienta WinGet devuelve códigos de salida para indicar el éxito o el error del comando. Busque una tabla de códigos de salida y sus significados en el archivo "Códigos de retorno" del repositorio del cliente del Administrador de paquetes de Windows.
Ámbito de un usuario específico o de toda la máquina
No todos los instaladores admiten la instalación en el ámbito "usuario" frente al ámbito "máquina" de forma coherente.
- Paquetes basados en MSIX: comportamiento confiable de WinGet.
- Los paquetes basados en MSI suelen admitir configuraciones de WinGet confiables; pero en algunos casos se anidan en un instalador basado en .exe, por lo que puede haber más variabilidad.
- El comportamiento de los instaladores basados en EXE sobre el ámbito no es necesariamente determinista. En algunos casos, los argumentos para especificar el ámbito no están disponibles y, en otros casos, el instalador puede realizar la determinación en función de si el usuario es miembro del grupo de administradores locales. Los paquetes instalados en el ámbito de usuario pueden requerir la autorización de UAC (control de cuentas de usuario) de un administrador.
Consulte más detalles sobre los problemas relacionados con el ámbito en el repositorio de productos WinGet en GitHub.
Error 403 Prohibido
Puede producirse un error 403 Prohibido al intentar descargar un paquete mediante la herramienta WinGet. Este problema puede surgir si un proveedor de software independiente (ISV) opta por no tener su producto distribuido por un servicio de administrador de paquetes como WinGet.
El servidor reponsible para iniciar la descarga normalmente comprueba si hay una cadena de agente de usuario incluida con la solicitud de descarga para identificar el dispositivo o el cliente (por ejemplo, explorador, WinGet). Si puede descargar el instalador mediante el explorador, pero encuentra problemas con WinGet, es posible que el ISV haya bloqueado la cadena del agente de usuario de WinGet.
La cadena del agente de usuario para WinGet tiene el formato siguiente:
winget-cli WindowsPackageManager/{Client Version} DesktopAppInstaller/Microsoft.DesktopAppInstaller {AppInstaller Version}
Ejemplo:
winget-cli WindowsPackageManager/1.9.25200 DesktopAppInstaller/Microsoft.DesktopAppInstaller v1.24.25200.0