Skip to content

Improved manifest validations for MSI and Windows Feature names#6170

Merged
JohnMcPMS merged 2 commits intomicrosoft:masterfrom
JohnMcPMS:msi-valid-main
Apr 23, 2026
Merged

Improved manifest validations for MSI and Windows Feature names#6170
JohnMcPMS merged 2 commits intomicrosoft:masterfrom
JohnMcPMS:msi-valid-main

Conversation

@JohnMcPMS
Copy link
Copy Markdown
Member

@JohnMcPMS JohnMcPMS commented Apr 22, 2026

CP of #6169 onto main branch.

Change

Adds some additional validation for MSI switches and Windows Feature names:

  1. MSI switches are checked during full manifest validation in the same way that they are checked when we attempt to use the MSI APIs rather than msiexec. The API is used for fully all silent installs of MSIs, so we now ensure that those will work (6 total manifests in winget-pkgs were found that needed fixes).
  2. Windows Feature names in dependencies are validated to be { alphanumeric, -, _ }. This is done both during full manifest validation and at runtime.

A PowerShell script
(tools/ManifestValidation/Invoke-ManifestValidation.ps1) is added that will run wingetdev validate against a directory recursively and generate a report. There is support for resuming in the middle of the run. This would probably perform much better if it were updated to use the WinGetUtil API, but that can be a future project.

Microsoft Reviewers: Open in CodeFlow

…osoft#6169)

## Change
Adds some additional validation for MSI switches and Windows Feature
names:

1. MSI switches are checked during full manifest validation in the same
way that they are checked when we attempt to use the MSI APIs rather
than msiexec. The API is used for fully all silent installs of MSIs, so
we now ensure that those will work (6 total manifests in winget-pkgs
were found that needed fixes).
2. Windows Feature names in dependencies are validated to be {
alphanumeric, `-`, `_` }. This is done both during full manifest
validation and at runtime.

A PowerShell script
(tools/ManifestValidation/Invoke-ManifestValidation.ps1) is added that
will run `wingetdev validate` against a directory recursively and
generate a report. There is support for resuming in the middle of the
run. This would probably perform much better if it were updated to use
the WinGetUtil API, but that can be a future project.
@JohnMcPMS JohnMcPMS requested a review from a team as a code owner April 22, 2026 19:01
yao-msft
yao-msft previously approved these changes Apr 22, 2026
@JohnMcPMS JohnMcPMS merged commit 855d227 into microsoft:master Apr 23, 2026
9 checks passed
@JohnMcPMS JohnMcPMS deleted the msi-valid-main branch April 23, 2026 15:25
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.

2 participants