Skip to content

Add support for Manifests with No Installers#6157

Draft
Trenly wants to merge 7 commits intomicrosoft:masterfrom
Trenly:NoInstallerType
Draft

Add support for Manifests with No Installers#6157
Trenly wants to merge 7 commits intomicrosoft:masterfrom
Trenly:NoInstallerType

Conversation

@Trenly
Copy link
Copy Markdown
Contributor

@Trenly Trenly commented Apr 18, 2026

Summary

This PR introduces support for the noinstaller manifest type (manifest version 1.29.0), which allows publishers to declare packages that have no downloadable installer. This enables WinGet to correlate against already-installed software even when no installation artifact is available — useful for system components, pre-installed software, and packages distributed through channels outside of WinGet. This also acts as a way to notify clients that a version has been removed for a specific reason, a package has been removed for a specific reason (CVEs, publisher request, moved to a new identifier, etc.), while still providing tools over at winget-pkgs like the duplicates checker a way to enforce removed packages by SHA.

What's New

NoInstaller Manifest Type

Publishers can now declare a manifest with InstallerType: noinstaller to indicate that a package exists and is recognized by WinGet, but has no installer to download or run. WinGet will correctly handle these packages across the install, show, and upgrade workflows.

Installer Availability Message

A new optional manifest field, InstallerAvailabilityMessage, allows publishers to provide a human-readable explanation when an installer is unavailable. This message is surfaced to the user in place of the generic fallback message, giving them actionable context (e.g., a link or explanation of where to obtain the software).

This change may require changes to the validation framework, which is why the PR is being created as draft


Microsoft Reviewers: Open in CodeFlow

@github-actions

This comment has been minimized.

@Trenly
Copy link
Copy Markdown
Contributor Author

Trenly commented Apr 18, 2026

Tagging @hackean-msft as I'm not sure if the install validation would handle this cleanly currently or not; I believe it may be likely that the validation pipeline would need to skip installer validation for noinstaller

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant