WinGet Manifest Creator
This tool provides a hands-on experience for creating WinGet manifest files. Follow the steps below to generate a YAML manifest for any software installer, which you can then use in a public or private repository.
Step 1: Fetch from URL
Enter the direct download URL for an installer (.exe, .msi, etc.).
Step 2: Review & Edit Details
Correct any auto-filled details and provide the rest of the required information.
Step 3: Generate Manifest
Click to create the YAML manifest file.
// Your generated manifest will appear here...
Interactive Manifest Explorer
A WinGet manifest is a YAML file that contains metadata about an application. Hover over the different fields in the sample manifest below to learn what each one does. This helps you understand the file you just generated.
PackageIdentifier: MyCompany.MyApp
PackageVersion: 1.2.3
PackageLocale: en-US
Publisher: MyCompany
PackageName: My Awesome App
License: MIT License
ShortDescription: A brief description of the app.
ManifestType: version
ManifestVersion: 1.0.0
Installers:
- Architecture: x64
InstallerType: exe
InstallerUrl: https://.../installer.exe
InstallerSha256: E3B...
InstallerSwitches:
Silent: /S
SilentWithProgress: /SP
Public Repository Workflow
To make your application available to everyone, you need to submit your manifest to the public `winget-pkgs` repository on GitHub. This process involves a few key steps to ensure quality and security.
Calculate SHA-256
Download the installer and use PowerShell to get its unique security hash.
Get-FileHash ...
Fork Repository
Create your own copy of the official `microsoft/winget-pkgs` repository on GitHub.
Create Folders & Add File
In your fork, create the specific folder structure based on the package ID and add your manifest file.
Create Pull Request
Submit your changes back to the main repository. Automated checks will run before a maintainer reviews it.
Private Repository Workflow
For internal company software, you can host your own repository. This gives you full control over distribution while still using the power of WinGet. This is a two-part process: server setup and client configuration.
Part 1: Host Your Files (Server Side)
Host Installers
Make your installer files (.exe, .msi) available at a stable, direct download URL.
Host Manifests
On the same host, place your completed manifest files in the standard folder structure.
Part 2: Configure WinGet (Client Side)
Add Your Source
On each user's machine, run a single command to tell WinGet where to find your repository.
winget source add --name "MySource" --arg "https://..."
Install Your App
Users can now search for and install your internal apps using standard WinGet commands.
winget install MyCompany.MyApp