Navigate:
WinGet
~$WING0.2%

WinGet: Windows package manager with CLI and API

Multi-interface Windows package manager for Store and community repositories.

LIVE RANKINGS • 10:20 AM • STEADY
OVERALL
#275
24
DEVELOPER TOOLS
#52
3
30 DAY RANKING TREND
ovr#275
·Devel#52
STARS
25.4K
FORKS
1.7K
7D STARS
+44
7D FORKS
+11
See Repo:
Share:

Learn more about WinGet

WinGet is a package management tool for Windows systems that abstracts software installation and updates through multiple interfaces. The project consists of a command-line interface, PowerShell modules, and a COM API that allow programmatic access to package management functionality. It integrates with two default package sources: the Microsoft Store for consumer applications and the WinGet community repository hosted on GitHub. The tool requires Windows 10 build 17763 or later and manages installer execution, including handling elevation prompts and administrator privilege contexts.

WinGet

1

Multiple interface layers

Provides access through CLI, PowerShell modules, and COM API, allowing integration at different levels of Windows automation and scripting workflows.

2

Dual package sources

Accesses packages from both the Microsoft Store and a community-maintained repository, with support for group policy configuration of additional sources.

3

Privilege-aware installation

Handles elevation prompts and administrator contexts differently based on execution mode, with distinct behavior when run with or without administrator privileges.


using Microsoft.Management.Deployment;

var packageManager = new PackageManager();
var catalog = packageManager.GetPackageCatalogByName("winget");

var searchResult = catalog.Search("Microsoft.PowerToys");
var package = searchResult.Matches[0].CatalogPackage;

var installOptions = new InstallOptions();
var installResult = await packageManager.InstallPackageAsync(package, installOptions);

vv1.12.470

Servicing release focusing on App Installer bug fixes with no changes to core winget functionality.

  • MCP server available; run `winget mcp` for assistance on configuring your client
  • App Installer now uses WinUI 3, replacing WinUI 2 dependency with Windows App Runtime 1.8
  • Manifest schema updated to v1.12 adding `Font` as `InstallerType` and `NestedInstallerType`
  • Font Install, Uninstall, and winget-fonts source added and are non-experimental
  • Manifest validation no longer fails using `UTF-8 BOM` encoding when schema header is on first line
vv1.28.110-preview

Preview release with experimental source editing and detailed list output features, plus portable package fixes.

  • Bumped the winget version to 1.28 to match the package version
  • Additional options for limiting the size of log files
  • Portable Packages now use correct directory separators regardless of manifest convention
  • `--suppress-initial-details` now works with `winget configure test`
  • `--suppress-initial-details` no longer requires `--accept-configuration-agreements`
vv1.28.90-preview

Preview release introducing log file size limiting options and technical improvements for stability.

  • Bumped the winget version to 1.28 to match the package version
  • Additional options for limiting the size of log files
  • Move to latest 7.4 PS SDK
  • Enable MultiProcessorCompilation


[ EXPLORE MORE ]

Related Repositories

Discover similar tools and frameworks used by developers