Skip to content

[release/13.5] fix(release): Restore WinGet publication with .NET 9 wingetcreate - #19509

Merged
Jose Perez Rodriguez (joperezr) merged 2 commits into
microsoft:release/13.5from
radical:fix-wingetcreate-dotnet9-runtime
Aug 20, 2026
Merged

[release/13.5] fix(release): Restore WinGet publication with .NET 9 wingetcreate#19509
Jose Perez Rodriguez (joperezr) merged 2 commits into
microsoft:release/13.5from
radical:fix-wingetcreate-dotnet9-runtime

Conversation

@radical

Copy link
Copy Markdown
Member

Description

Aspire 13.5 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: 32 passed, 0 failed.
  • Azure DevOps run 3052264 installed .NET runtime 9.0.19 and successfully ran wingetcreate v1.12.13.0 info; submission remained skipped.

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

Ankit Jain (radical) and others added 2 commits August 19, 2026 16:04
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>
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>
Copilot AI balanced review requested due to automatic review settings August 19, 2026 21:56
@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 -- 19509

Or

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

@github-actions github-actions Bot added the area-engineering-systems infrastructure helix infra engineering repo stuff label Aug 19, 2026

Copilot AI 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 the .NET 9 runtime required by wingetcreate and validating startup before submission.

Changes:

  • Installs the .NET 9 runtime in preparation and publication jobs.
  • Runs wingetcreate info as an early compatibility check.
  • Adds regression tests and documents the validation flow.

Reviewed changes

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

File Description
tests/Infrastructure.Tests/Pipelines/ReleasePublishNugetPipelineTests.cs Verifies runtime installation, startup checks, and submission gates.
eng/winget/README.md Documents WinGet compatibility validation.
eng/pipelines/templates/publish-winget.yml Validates wingetcreate before conditionally submitting.
eng/pipelines/templates/prepare-winget-manifest.yml Adds routine wingetcreate startup verification.

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

@github-actions

Copy link
Copy Markdown
Contributor

Retrying the failed CI jobs for this pull request from the CI run attempt. The rerun is being tracked in the rerun attempt.

@github-actions

Copy link
Copy Markdown
Contributor

Retrying the failed CI jobs for this pull request from the CI run attempt. The rerun is being tracked in the rerun attempt.

@github-actions

Copy link
Copy Markdown
Contributor

Retrying the failed CI jobs for this pull request from the CI run attempt. The rerun is being tracked in the rerun attempt.

@radical
Ankit Jain (radical) marked this pull request as ready for review August 20, 2026 00:57
@radical Ankit Jain (radical) changed the title fix(release): Restore WinGet publication with .NET 9 wingetcreate [release/13.5] fix(release): Restore WinGet publication with .NET 9 wingetcreate Aug 20, 2026
@joperezr
Jose Perez Rodriguez (joperezr) merged commit 6ee87f7 into microsoft:release/13.5 Aug 20, 2026
1340 of 1357 checks passed
@microsoft-github-policy-service microsoft-github-policy-service Bot added this to the 13.5 milestone Aug 20, 2026
@radical
Ankit Jain (radical) deleted the fix-wingetcreate-dotnet9-runtime branch August 20, 2026 20:38
@radical

Copy link
Copy Markdown
Member Author

/backport to main

@github-actions

Copy link
Copy Markdown
Contributor

Started backporting to main (link to workflow run)

Ankit Jain (radical) added a commit that referenced this pull request Aug 20, 2026
…ingetcreate (#19509) (#19551)

* 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.



* 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>
This was referenced Aug 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area-engineering-systems infrastructure helix infra engineering repo stuff

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants