Windows Package Manager Manifest Creator: Step-by-Step Workflow
1. Overview
Windows Package Manager Manifest Creator is a tool that helps generate the YAML/JSON manifests used by winget to describe packages (metadata, installer details, checksums, commands). This workflow covers creating, validating, and submitting manifests for single- and multi-file installers.
2. Prerequisites
- Windows ⁄11 with winget and WiX/PowerShell or the Manifest Creator app installed.
- A packaged installer (EXE, MSI, MSIX) and its download URL.
- Basic knowledge of YAML/JSON and command-line use.
- Optional: GitHub account for submitting to the community repo.
3. Gather package information
- Name, Publisher, Version.
- Installer URLs for each architecture (x86/x64/arm64) if applicable.
- Installer type (exe, msi, msix) and silent install switches.
- SHA256 checksum for each installer file.
- Short/long descriptions, homepage, license, tags.
4. Create the manifest
- Choose format: YAML (recommended for winget community) or JSON.
- Use Manifest Creator UI or start a template. Key fields:
- Id (reverse-domain style), Name, Publisher
- Version
- License, LicenseUrl
- Installer: Architecture, Url, Sha256, InstallerType, Installers switches
- Commands (if package exposes CLI)
- For multi-file installers, create a version manifest referencing installer manifests.
5. Compute checksums
- Download installer(s) to a stable environment.
- Compute SHA256 (PowerShell:
Get-FileHash -Algorithm SHA256 .\installer.exe). - Paste checksum into manifest.
6. Validate the manifest
- Use winget-cli validation or the Manifest Creator’s built-in validator.
- Command-line validation (example):
winget validate - Fix schema errors, missing required fields, or checksum mismatches.
7. Test install locally
- Use a local source or
winget install –manifestto test installation behavior. - Verify silent install, shortcuts, uninstall, and that app files are placed correctly.
8. Prepare PR for community repo
- Fork the winget-pkgs repo on GitHub.
- Create a branch named like
add/.- - Place manifest files in the correct folder path (Publisher/Package/Version).
- Commit with a clear message and push to your fork.
9. Submit and address review
- Open a Pull Request against the community repo.
- Include testing notes and environment details.
- Respond to automated validation failures or reviewer requests (fix metadata, checksums, installer switches).
10. Post-merge maintenance
- Monitor issues or update requests.
- Bump versions by adding new version manifests when newer installers are released.
Troubleshooting (brief)
- Checksum mismatch: re-download installer from official source and recompute.
- Validation errors: ensure schema-compliant YAML and required fields present.
- Silent install failures: verify correct installer switches and test manually.
Useful commands (examples)
- Compute SHA256:
Get-FileHash -Algorithm SHA256 .\installer.exe - Validate manifest:
winget validate - Install from local manifest:
winget install –manifest
Leave a Reply