Esta página se muestra en inglés. Una traducción al español está en curso.
ConfigsMay 13, 2026·3 min de lectura

WinGet — Windows Package Manager by Microsoft

WinGet is the official Windows Package Manager CLI from Microsoft. It lets you discover, install, upgrade, remove, and configure applications from the command line using a curated repository of thousands of packages.

Introduction

WinGet brings the convenience of command-line package management to Windows, similar to what apt or brew offer on Linux and macOS. Developed by Microsoft as an open-source project, it connects to the Windows Package Manager Community Repository and the Microsoft Store, letting developers script repeatable machine setups.

What WinGet Does

  • Installs applications silently from the command line with a single command
  • Searches across the community repository and Microsoft Store for packages
  • Upgrades all installed applications in one pass
  • Exports and imports application lists for reproducible environment setup
  • Supports package pinning to prevent specific apps from being upgraded

Architecture Overview

WinGet is a native Windows CLI client that communicates with one or more package sources. The default source is the community-driven winget-pkgs repository hosted on GitHub, which contains YAML manifests describing each package version, installer URL, and hash. WinGet downloads installers directly from publisher-hosted URLs, verifies SHA256 hashes, and runs the appropriate installer type (MSI, MSIX, EXE, or ZIP) with silent flags. A local SQLite database tracks installed packages and their source mappings.

Self-Hosting & Configuration

  • Pre-installed on Windows 11; on older builds install the App Installer package from the Microsoft Store
  • Configure default sources and behavior via winget settings which opens a JSON settings file
  • Add custom package sources pointing to private REST endpoints or local directories
  • Create YAML manifests for internal applications using the winget create command
  • Use winget configure with DSC (Desired State Configuration) YAML files for declarative machine setup

Key Features

  • Silent and unattended installs suitable for scripting and CI pipelines
  • Hash verification of every downloaded installer for supply-chain safety
  • Configuration files (winget configure) for declarative dev environment provisioning
  • Package pinning and version constraints for controlled upgrades
  • Integration with Microsoft Store and community repository out of the box

Comparison with Similar Tools

  • Chocolatey — community-driven with a larger legacy catalog but requires a separate install and uses its own packaging format
  • Scoop — focuses on portable CLI tools without admin rights but has a smaller catalog for GUI apps
  • Homebrew (via WSL) — powerful on Linux/macOS but adds WSL overhead on Windows
  • Ninite — GUI-only batch installer with no CLI automation or scripting

FAQ

Q: Is WinGet truly open source? A: Yes. Both the client (microsoft/winget-cli) and the package repository (microsoft/winget-pkgs) are MIT-licensed on GitHub.

Q: Do I need administrator rights? A: Some installers require elevation. WinGet prompts for UAC when needed but can install user-scoped packages without admin.

Q: Can I use WinGet in CI/CD pipelines? A: Yes. WinGet runs non-interactively and returns proper exit codes, making it suitable for GitHub Actions or Azure Pipelines.

Q: How do I contribute a package? A: Fork the winget-pkgs repository, create a YAML manifest with the winget create tool, and open a pull request. Automated validation checks the manifest and installer hash.

Sources

Discusión

Inicia sesión para unirte a la discusión.
Aún no hay comentarios. Sé el primero en compartir tus ideas.

Activos relacionados