# 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. ## Install Save in your project root: # WinGet — Windows Package Manager by Microsoft ## Quick Use ```powershell # WinGet is pre-installed on Windows 11 and recent Windows 10 builds # Search for a package winget search vscode # Install a package winget install Microsoft.VisualStudioCode # Upgrade all installed packages winget upgrade --all # Export your installed apps to a JSON file winget export -o myapps.json ``` ## 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 - https://github.com/microsoft/winget-cli - https://learn.microsoft.com/en-us/windows/package-manager/ --- Source: https://tokrepo.com/en/workflows/asset-c3c11cdc Author: AI Open Source