microsoft/winget-create
C#
Captured source
source ↗microsoft/winget-create
Description: The Windows Package Manager Manifest Creator command-line tool (aka wingetcreate)
Language: C#
License: MIT
Stars: 621
Forks: 111
Open issues: 106
Created: 2021-05-03T20:16:55Z
Pushed: 2026-06-10T20:36:56Z
Default branch: main
Fork: no
Archived: no
README:
Welcome to the Windows Package Manager Manifest Creator repository.
This repository contains the source code for the Windows Package Manager Manifest Creator. The Windows Package Manager Manifest Creator is designed to help generate or update manifest files for the Community repo.
Overview
Windows Package Manager Manifest Creator is an Open Source tool designed to help developers create, update, and submit manifest files to the Windows Package Manager repository.
Developers will use this tool to submit their applications for use with the Windows Package Manager.
Getting Started
For your convenience, WingetCreate can be acquired a number of ways.
Install from the github repo
The Windows Package Manager Manifest Creator is available for download from the winget-create repository. To install the package, simply click the MSIX file in your browser. Once it has downloaded, click open.
Install with Windows Package Manager
winget install wingetcreate
Install with Scoop
scoop install wingetcreate
Install with Chocolatey
choco install wingetcreate
Build status

Using Windows Package Manager Manifest Creator
WingetCreate has the following commands:
| Command | Description | | ------- | ----------- | | [New](doc/new.md) | Command for creating a new manifest from scratch | | [Update](doc/update.md) | Command for updating an existing manifest | | [New-Locale](doc/new-locale.md) | Command for creating a new locale for an existing manifest | | [Update-Locale](doc/update-locale.md) | Command for updating a locale for an existing manifest | | [Submit](doc/submit.md) | Command for submitting an existing PR | | [Show](doc/show.md) | Command for displaying existing manifests | | [Token](doc/token.md) | Command for managing cached GitHub personal access tokens | | [Settings](doc/settings.md) | Command for editing the settings file configurations | | [Cache](doc/cache.md) | Command for managing downloaded installers stored in cache | [Info](doc/info.md) | Displays information about the client | | [Dsc](doc/dsc.md) | DSC v3 resource commands | | [-?](doc/help.md) | Displays command line help |
Click on the individual commands to learn more.
Using Windows Package Manager Manifest Creator in a CI/CD pipeline
You can use WingetCreate to update your existing app manifest as part of your CI/CD pipeline. For reference, see the final task in this repo's release Azure pipeline. If you are utilizing GitHub Actions as your CI pipeline, you can refer to the following repositories that have implemented WingetCreate within their release pipelines:
You can also check out this episode of Open at Microsoft where we cover the same topic.
Using the standalone exe:
The latest version of the standalone exe can be found at https://aka.ms/wingetcreate/latest, and the latest preview version can be found at https://aka.ms/wingetcreate/preview, both of these require .NET Runtime 6.0 to be installed on the build machine. To install this on your build machine in your pipeline, you can include the following dotnet task:
- task: UseDotNet@2 displayName: 'Install .NET Runtime' inputs: packageType: sdk version: '6.x' installationPath: '$(ProgramFiles)\dotnet'
Or you can utilize a PowerShell task and run the following script.
Invoke-WebRequest https://dot.net/v1/dotnet-install.ps1 -OutFile dotnet-install.ps1 .\dotnet-install.ps1 -Runtime dotnet -Architecture x64 -Version 6.0.13 -InstallDir $env:ProgramFiles\dotnet
> [!IMPORTANT] > Make sure your build machine has the Microsoft Visual C++ Redistributable for Visual Studio already installed. Without this, the standalone WingetCreate exe will fail to execute and likely show a "DllNotFoundException" error.
To execute the standalone exe, add another PowerShell task to download and run the ./wingetcreate.exe to update your existing manifest. You will need a GitHub personal access token if you would like to submit your updated manifest. It is not recommended to hardcode your PAT in your script as this poses as a security threat. You should instead store your PAT as a secret pipeline variable or a repository secret in case of GitHub Actions.
Invoke-WebRequest https://aka.ms/wingetcreate/latest -OutFile wingetcreate.exe .\wingetcreate.exe update -u $(packageUrls) -v $(manifestVersion) -t $(GITHUB_PAT)…
Excerpt shown — open the source for the full document.