Skip to content

fix(release): Restore WinGet publication with .NET 9 wingetcreate - #19551

Merged
Ankit Jain (radical) merged 1 commit into
microsoft:mainfrom
radical:radical-forward-port-pr-19509
Aug 20, 2026
Merged

fix(release): Restore WinGet publication with .NET 9 wingetcreate#19551
Ankit Jain (radical) merged 1 commit into
microsoft:mainfrom
radical:radical-forward-port-pr-19509

Conversation

@radical

Copy link
Copy Markdown
Member

Description

Forward port of #19509 from release/13.5 to main.

WinGet publication failed before opening the upstream PR:

wingetcreate.exe : You must install or update .NET to run this application.

The latest framework-dependent wingetcreate targets .NET 9, but the release agent did not have a compatible runtime. This installs the .NET 9 runtime before launching wingetcreate and runs wingetcreate info in regular preparation and selected release jobs so future runtime incompatibilities fail before a live submission.

The actual wingetcreate submit step remains restricted to non-dry-run production-branch runs.

Validation:

  • ReleasePublishNugetPipelineTests.WinGetJobVerifiesWingetCreateBeforeConditionalSubmission
  • ReleasePublishNugetPipelineTests.WinGetPreparationExercisesWingetCreate
  • 2 passed, 0 failed.

Fixes # (issue)

Checklist

  • Is this feature complete?
    • Yes. Ready to ship.
    • No. Follow-up changes expected.
  • Are you including unit tests for the changes and scenario tests if relevant?
    • Yes
    • No
  • Did you add public API?
    • Yes
      • If yes, did you have an API Review for it?
        • Yes
        • No
      • Did you add <remarks /> and <code /> elements on your triple slash comments?
        • Yes
        • No
    • No
  • Does the change make any security assumptions or guarantees?
    • Yes
      • If yes, have you done a threat model and had a security review?
        • Yes
        • No
    • No

…ingetcreate (microsoft#19509)
* fix(release): install .NET 9 for wingetcreate
WinGet publication fails before submit because the latest standalone
wingetcreate targets .NET 9 and is framework-dependent, while the
release agent image has no compatible runtime:
wingetcreate.exe : You must install or update .NET to run this application.
Install the .NET 9 runtime in the gated submission path before launching
wingetcreate. Exercise the latest executable with `info` in normal WinGet
preparation builds so future runtime incompatibilities fail before release.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
* fix(release): exercise wingetcreate in dry runs
The WinGet setup steps were gated by live production submission, so dry
runs skipped both the .NET 9 runtime installation and the wingetcreate
startup check. That prevented a safe branch run from proving that the
latest wingetcreate executable could launch.
Run UseDotNet and wingetcreate info whenever the WinGet job is selected,
while retaining the live-only gate on URL validation and submission.
This validates runtime compatibility without opening an upstream PR.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
---------
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@github-actions

Copy link
Copy Markdown
Contributor

🚀 Dogfood this PR with:

⚠️ WARNING: Do not do this without first carefully reviewing the code of this PR to satisfy yourself it is safe.

curl -fsSL https://raw.githubusercontent.com/microsoft/aspire/main/eng/scripts/get-aspire-cli-pr.sh | bash -s -- 19551

Or

  • Run remotely in PowerShell:
iex "& { $(irm https://raw.githubusercontent.com/microsoft/aspire/main/eng/scripts/get-aspire-cli-pr.ps1) } 19551"

@github-actionsgithub-actionsBot added the area-engineering-systems infrastructure helix infra engineering repo stuff label Aug 20, 2026
@radical
Ankit Jain (radical) marked this pull request as ready for review August 20, 2026 21:00

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Restores WinGet publishing by installing .NET 9 before running the framework-dependent wingetcreate.

Changes:

  • Installs the .NET 9 runtime in preparation and release jobs.
  • Runs wingetcreate info as an early compatibility check.
  • Adds pipeline contract tests and documentation.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated no comments.

FileDescription
eng/pipelines/templates/publish-winget.ymlVerifies wingetcreate before gated submission.
eng/pipelines/templates/prepare-winget-manifest.ymlAdds regular compatibility smoke testing.
tests/Infrastructure.Tests/Pipelines/ReleasePublishNugetPipelineTests.csTests runtime setup and submission gating.
eng/winget/README.mdDocuments the validation behavior.

💡 Add a code-review agent skill for context-aware, tailored reviews. Learn more in the docs.

@radical
Ankit Jain (radical) enabled auto-merge (squash) August 20, 2026 23:00
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area-engineering-systemsinfrastructure helix infra engineering repo stuff

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@radical@joperezr