Si trabajas en Windows y te gusta tenerlo todo controlado desde la consola, WinGet es tu aliado para instalar, actualizar y gestionar aplicaciones sin tener que navegar por descargas ni asistentes gráficos. Este gestor de paquetes, creado por Microsoft, simplifica desde el despliegue en limpio de un equipo hasta el mantenimiento del día a día.
Más allá de la instalación básica, WinGet brilla por su integración con Microsoft Store, su soporte para repositorios externos y sus opciones de automatización con archivos YAML y con el módulo de PowerShell. A continuación encontrarás una guía completa y práctica para instalarlo, usarlo con soltura, entender sus comandos, afinar su seguridad en empresa y sacarle todo el partido en Windows 10, Windows 11 y Windows Server 2025.
¿Qué es WinGet y en qué sistemas está disponible?
WinGet (Windows Package Manager) es la interfaz de línea de comandos del servicio Administrador de paquetes de Windows. Permite detectar, instalar, actualizar, configurar y desinstalar software en Windows 10, Windows 11 y Windows Server 2025, integrándose con el componente App Installer (Instalador de aplicaciones) que Microsoft distribuye y actualiza a través de Microsoft Store en los escritorios de Windows y mediante actualizaciones en Windows Server 2025.
Frente a soluciones previas de terceros como Chocolatey o Scoop, WinGet aporta el canal oficial de Microsoft con catálogos de la Store y de un repositorio comunitario, además de la posibilidad de añadir orígenes privados. Su filosofía recuerda a gestores como apt o dnf en GNU/Linux y a Homebrew en macOS, acercando a Windows la automatización y la reproducibilidad en la gestión de aplicaciones.
Instalar WinGet (estable y versiones preliminares)

En equipos actuales, WinGet suele venir ya instalado como parte de App Installer. Para comprobarlo, abre PowerShell o el Símbolo del sistema y escribe winget; si ves ayuda y versión, ya lo tienes. Si no aparece, instala App Installer desde Microsoft Store y con eso habilitarás WinGet automáticamente.
Si quieres probar funciones más nuevas, hay varias vías para obtener versiones preliminares (preview) del cliente: descarga el paquete de la versión preliminar desde GitHub para instalarlo manualmente (no recibirás actualizaciones automáticas por Store), únete al Programa Windows Insider (Canary o Dev) con una cuenta Microsoft, profesional, educativa o AAD para recibir las previews vía Store, o regístrate con tu MSA en el programa Insider del Administrador de paquetes de Windows para que Microsoft Store te entregue las nuevas compilaciones previas en cuanto estén disponibles.
Instalación de WinGet en Windows Sandbox
Windows Sandbox es un entorno de escritorio aislado y efímero. Este espacio aislado no incluye WinGet ni la aplicación Microsoft Store, así que tendrás que bootstrapearlo. Puedes descargar el paquete más reciente desde GitHub o usar PowerShell con el cmdlet adecuado para reparar e instalar los componentes de WinGet.
Para la ruta soportada vía PowerShell, ejecuta en el Sandbox lo siguiente (puedes abrir PowerShell como usuario estándar en el entorno aislado): el proceso instala el módulo de cliente y repara el Administrador de paquetes para todos los usuarios del entorno.
$progressPreference = 'silentlyContinue'
Write-Host "Installing WinGet PowerShell module from PSGallery..."
Install-PackageProvider -Name NuGet -Force | Out-Null
Install-Module -Name Microsoft.WinGet.Client -Force -Repository PSGallery | Out-Null
Write-Host "Using Repair-WinGetPackageManager cmdlet to bootstrap WinGet..."
Repair-WinGetPackageManager -AllUsers
Write-Host "Done."
Si lo prefieres, instala el módulo para todo el sistema con -Scope AllUsers en Install-Module. Para probar una preview añade -IncludePrerelease al cmdlet Repair-WinGetPackageManager. Y si necesitas ayuda detallada, consulta los parámetros con Get-Help Repair-WinGetPackageManager -Full en el propio Sandbox.
Permisos y elevación: consideraciones para administradores
La experiencia puede variar según ejecutes comandos con o sin elevación. Si lanzas WinGet sin privilegios de administrador, algunos instaladores exigirán UAC para elevarse; si cancelas el aviso, esa aplicación no se instalará. En cambio, si abres la consola “como administrador” los instaladores no pedirán elevación (ya la tienes), así que extrema precauciones e instala solo software de confianza.
En entornos corporativos, combinar WinGet con directivas de grupo e Intune permite imponer políticas de seguridad, controlar orígenes y automatizar la configuración, manteniendo al mismo tiempo la experiencia sin fricciones para el usuario final.
Primeros pasos: búsqueda, instalación y ayuda
Para empezar, abre PowerShell, Terminal o CMD y escribe winget; verás versión, comandos y opciones. Un flujo típico consiste en localizar un paquete y, a continuación, instalarlo usando su nombre o identificador.
Busca aplicaciones con winget search <nombre>. Cuando confirmes cuál es el paquete correcto, instala con winget install <paquete>. Por ejemplo, para Visual Studio Code: winget install Microsoft.VisualStudioCode. El cliente gestionará la descarga y el instalador.
Para ver la ayuda completa de la herramienta y de cada comando, usa winget --help o winget <comando> --help. Si algo no funciona y sospechas un problema de ruta, revisa que el cliente esté correctamente en PATH, ya que a algunos usuarios les falla por ese motivo.
Los comandos más útiles de WinGet
El cliente de Windows Package Manager incluye una colección amplia de subcomandos. Estos son los más destacados y su propósito para que sepas cuándo usar cada uno:
- install: instala el paquete especificado.
- show: muestra detalles del paquete.
- source: añade, elimina y actualiza orígenes (repositorios) a los que accede WinGet.
- search: busca aplicaciones en los orígenes configurados.
- list: enumera el software instalado que WinGet reconoce.
- upgrade: actualiza una app concreta o todas con
--all. - uninstall: desinstala el paquete indicado.
- hash: genera el hash SHA256 de un instalador para verificaciones.
- validate: valida un manifiesto antes de enviarlo al repositorio.
- settings: abre el archivo de configuración (settings.json).
- features: muestra el estado de funciones experimentales.
- export: exporta la lista de paquetes instalados a un archivo.
- import: instala todos los paquetes definidos en un archivo exportado.
- pin: gestiona “anclajes” de versión para evitar actualizaciones no deseadas.
- configure: aplica archivos de configuración para llevar el sistema a un estado deseado.
- download: descarga el instalador del paquete sin instalarlo aún.
- repair: intenta reparar la aplicación seleccionada.
- dscv3: comandos relacionados con los recursos de PowerShell Desired State Configuration v3.
Un apunte práctico: la capacidad de actualizar con upgrade se ha ampliado; antes se limitaba a apps instaladas con WinGet, pero ahora puede detectar y actualizar más software que identifique en el sistema.
Opciones globales que merece la pena conocer
Además de los subcomandos, WinGet tiene opciones generales que modifican su comportamiento en cualquier ejecución. Algunas de las más útiles son:
- -v, –version: muestra la versión del cliente.
- –info: detalla información del sistema, licencia, privacidad y políticas aplicadas.
- -?, –help: ayuda del cliente o del subcomando.
- –wait: espera una tecla antes de salir.
- –logs, –open-logs: abre la carpeta de registros por defecto.
- –verbose, –verbose-logs: activa registro detallado.
- –nowarn, –ignore-warnings: suprime advertencias.
- –disable-interactivity: ejecuta sin prompts interactivos.
- –proxy: define un proxy temporal para esa ejecución.
- –no-proxy: fuerza a no usar proxy en esa ejecución.
Con estas banderas puedes, por ejemplo, silenciar interactividad para scripts automatizados, activar trazas si depuras un fallo o forzar un proxy específico durante una instalación.
Formatos de instalador compatibles

WinGet es flexible con los tipos de instaladores. Admite EXE (conmutadores Silent y SilentWithProgress), ZIP, INNO, NULLSOFT, MSI, WIX, APPX, MSIX, BURN y PORTABLE. Esto le permite cubrir desde instaladores clásicos hasta empaquetados modernos de la Microsoft Store.
La diversidad de formatos significa que, según el paquete, la experiencia de instalación puede variar (por ejemplo, más o menos silenciosa, o con pasos propios del fabricante). Aun así, WinGet uniformiza la invocación y el seguimiento del proceso.
Automatización con archivos de configuración y scripting
Uno de los puntos fuertes está en la automatización con archivos de configuración YAML para llevar un equipo a un estado deseado con un solo comando: winget configure --file ruta/winget.yaml. Estos archivos usan PowerShell DSC v3 (Desired State Configuration) junto a recursos y paquetes de WinGet.
El YAML se divide en dos áreas principales: Aserciones (Assertions) para declarar requisitos previos (p. ej., versión mínima del sistema operativo) y Recursos (Resources) donde enumeras paquetes, dependencias, scripts y configuraciones.
Un ejemplo simplificado podría incluir paquetes como Microsoft.VisualStudioCode y Google.Chrome con versión latest, y un bloque script para ajustar políticas de ejecución o instalar módulos de PowerShell. Además, puedes forzar la procedencia (source) del paquete (Store o repositorio) y encadenar dependencias (dependsOn).
Si prefieres PowerShell puro, el módulo Microsoft.WinGet.Client está disponible en PowerShell Gallery. Con él ganarás cmdlets nativos y podrás integrar WinGet en scripts de despliegue, CI/CD o tareas programadas.
Gestionar orígenes y añadir repositorios
Por defecto, WinGet usa Microsoft Store y el repositorio de la comunidad. Puedes ampliar el catálogo con orígenes REST adicionales, por ejemplo, uno privado de tu organización o soluciones alojadas en la nube o on-premise.
Para añadir una fuente nueva, ejecuta: winget source add --name <nombre> --arg <URL>. Opcionalmente define --type (REST por defecto), --trust-level (none o trusted) y --accept-source-agreements para aceptar términos sin prompts.
Comprueba las fuentes con winget source list. Existen proyectos que simplifican el hosting de repositorios, e incluso opciones comerciales como WinGetty con despliegue en Docker para entornos locales. Esta flexibilidad es clave en empresas con catálogos internos o requisitos de cumplimiento específicos.
Configuración avanzada: settings.json y funciones experimentales
Para afinar el comportamiento del cliente, abre la configuración con winget settings y edita settings.json. Aquí puedes ajustar orígenes, comportamiento de telemetría, características experimentales y más. Si te interesa explorar lo experimental, consulta su estado con winget features.
La personalización a nivel de usuario facilita, por ejemplo, forzar determinadas opciones de instalación silenciosa o modular cómo interactúan los repositorios cuando hay paquetes homónimos entre Store y comunidad.
Registro, depuración y envío de paquetes
Cuando algo falla, WinGet dispone de registros y trazas. Puedes abrir la carpeta de logs con --open-logs o aumentar la verbosidad con --verbose-logs. La documentación de depuración describe dónde mirar y cómo interpretar errores comunes.
Si echas en falta una app en el catálogo, contribuye enviando un paquete al repositorio de la comunidad. Antes de la subida, valida el manifiesto con winget validate para evitar rechazos automáticos. Así ayudas a que más usuarios dispongan de ese software directamente desde WinGet.
Proyecto de código abierto y cómo contribuir
El cliente es open source y vive en GitHub: https://github.com/microsoft/winget-cli/. El código se compila con Visual Studio 2022, la solución está en C++ dentro de la carpeta src, y el repositorio incluye scripts en .github para preparar el entorno.
Si te animas a contribuir, firma el CLA de Microsoft y envía tus cambios desde una rama de tu fork. El repositorio mantiene listados de problemas comunes y recomendaciones de solución que te serán útiles tanto para contribuir como para diagnosticar incidencias en producción.
Casos de uso: desarrolladores, ISV y empresas
Para desarrolladores, WinGet agiliza montar entornos de trabajo repetibles: abre Terminal Windows, PowerShell o CMD, y con unos pocos comandos tendrás tus herramientas listas. Además, el blog de la línea de comandos de Windows y vídeos introductorios muestran flujos reales.
Los ISV pueden usar WinGet como canal de distribución adicional. Envían manifiestos al Repositorio de manifiestos de la comunidad Microsoft en GitHub para que sus instaladores .msix, .msi o .exe se analicen y validen, tanto de forma automática como con revisiones manuales cuando proceda.
En empresas, el cliente se integra bien con Intune y Directiva de grupo para estandarizar despliegues, mantener software actualizado y asegurar cumplimiento. El origen “msstore” y el anclaje de certificados protegen las comunicaciones con la Store, reduciendo el riesgo de ataques de intermediario (MITM).
Seguridad empresarial: anclaje de certificados y GPO
Para conexiones con Microsoft Store, WinGet valida el certificado mediante pinning. En redes con inspección SSL, ese pinning puede provocar errores si un firewall intercepta el tráfico. Para estos casos existe la directiva BypassCertificatePinningForMicrosoftStore.
Las opciones de esta GPO son: Sin configurar (recomendado para heredar valores por defecto), Habilitar (omite la validación del pinning) o Deshabilitar (exige que el certificado coincida con los de Microsoft Store). Deshabilitar el anclaje conlleva riesgos, porque abre la puerta a ataques MITM; evita hacerlo salvo que sea estrictamente necesario y controlado.
Más directivas de grupo para Windows Package Manager
Con cada versión de Windows 11 se publican plantillas ADMX/ADML específicas para el Administrador de paquetes de Windows, repartidas en categorías como control de orígenes, desarrollo local y directivas de ejecución.
Para instalarlas, descarga el DesktopAppInstallerPolicies.zip desde las releases de Windows Package Manager en GitHub, extrae y copia el .admx a C:\Windows\PolicyDefinitions y el .adml de tu idioma al subdirectorio correspondiente (por ejemplo, en-US o es-ES). Luego abre la Consola de administración de directivas de grupo (GPMC) y configura las políticas según tus necesidades.
Como es habitual, cada nueva versión puede añadir configuraciones. Conviene revisar y actualizar estas plantillas periódicamente para mantener el entorno alineado con las capacidades actuales de WinGet.
Ejemplos prácticos de uso
Instalar una app concreta es tan simple como ejecutar winget install <paquete>. Ejemplos: winget install Google.Chrome, winget install Microsoft.VisualStudioCode o winget install Mozilla.Firefox; en todos los casos, el cliente descargará y lanzará el instalador, y puede que te pida confirmación de UAC si no estás elevando.
Para mantener el software al día, consulta actualizaciones con winget upgrade y aplica todas con winget upgrade --all. Ten presente que, si una aplicación está abierta, puede omitirse su actualización hasta que la cierres.
Si quieres preparar una reinstalación limpia del sistema, exporta tu catálogo con winget list > lista.txt, identifica los IDs que necesitas y construye un único comando con todas tus apps (por ejemplo: winget install discord.discord gimp.gimp microsoft.powertoys valve.steam) para reinstalarlas de una tacada.
¿No recuerdas el nombre exacto de un paquete? Busca con winget search notepad y revisa coincidencias, orígenes (Store o repositorio) e IDs específicos que te serán útiles durante la instalación o al fijar versiones.
Herramientas complementarias y GUI
Aunque la consola es directa y potente, hay utilidades que facilitan a los menos habituados. Winstall (winstall.app) permite crear scripts para instalación por lotes de forma similar a Ninite, y portales como winget.run listan comandos listos para copiar.
Si prefieres una interfaz gráfica de escritorio, han aparecido frontends como UnitGetUI, que ofrecen exploración de catálogos, instalación múltiple y gestión visual sobre el motor de WinGet. Son útiles para usuarios que quieren la potencia de un gestor de paquetes sin salir de una UI.
Cuando juntas la distribución oficial de Microsoft Store, el repositorio comunitario y la capacidad de añadir fuentes privadas, WinGet se convierte en una solución integral para instalar, mantener y auditar software en Windows.
Sus comandos cubren el ciclo completo (instalar, actualizar, desinstalar, exportar/importar), las opciones globales aportan control fino para scripting y depuración, y la integración con políticas permite a las organizaciones asegurar sus flujos sin renunciar a la agilidad. Si además aprovechas archivos YAML con DSC v3 y el módulo de PowerShell, tendrás despliegues repetibles y confiables en muy pocos pasos. Comparte esta guía y más personas sabrán sobre WinGet.
