Now updated for 1.0 manifests!
I hastily made this PowerShell module, that contains a collection of helper functions to make creation/submission of manifests easy for microsoft/winget-pkgs. Maybe it will be useful for you too.
I'm not good at PowerShell, which is why it looks like it's a bit of a mess. But it works on my machine (Windows 10 with WinGet installed) and I'm happy to share it with the community.
This PowerShell module requires the following dependencies:
Dependency | Why it's needed |
---|---|
Carbon | For getting the Product Code from MSI files |
powershell-yaml | To parse the YAML files |
You can install both of these at once with the following command:
Install-Module powershell-yaml; Install-Module -Name Carbon
This module contains the following cmdlets/functions:
Cmdlet | Description |
---|---|
Get-URLFileHash | Gets the SHA256 hash of a file from a URL, optionally with a -Clipboard parameter to copy the hash to the clipboard |
Get-GitHubReleases | Gets the latest 5 releases from a GitHub repository |
Test-WinGetManifest | Tests the generated manifest in Sandbox to ensure that it installs correctly and doesn't have any ARP errors |
Update-WinGetManifest | Generate a manifest for an updated package and optionally test it in Windows Sandbox |
Convert-WinGetSingletonToMultiFile | Converts a singleton manifest to a multi-file manifest |
New-WinGetCommit | Commit the modified manifest to the repository to submit a Pull Request |
Get-WinGetApplicationCurrentVersion | Uses WinGet CLI to get the current version of an application |
Get-WinGetManifestArpMetadata | Gets the ARP metadata from a manifest |