Repository navigation
The Darling installer refuses an install when the .NET Runtime 10 is missing (#5407) - #5409
Merged
Merged
Conversation
…ssing (#5407) The standalone ASP.NET Core Runtime installer does not include Microsoft.NETCore.App, so a box with only that installer passed the runtime gate and then failed at service start with the host's 'You must install .NET'. The gate now checks the base runtime first and refuses, naming the Hosting Bundle or the .NET Runtime plus the ASP.NET Core Runtime, with Found lines for both. The Darling README and the onboarding guide list the base runtime too.
erikdarlingdata
marked this pull request as ready for review
October 6, 2026 17:15
This was referenced Oct 6, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #5407.
Why
Step 1c of
Darling/tools/install-darling.ps1refused an install whenMicrosoft.AspNetCore.App10 was missing, but never looked forMicrosoft.NETCore.App10. The standalone ASP.NET Core Runtime installer does not include the base .NET Runtime, so a box with only that installer passed the gate. The service then failed to start with the .NET host's "You must install .NET" error, which is the failure the gate exists to prevent.What changes
Get-InstalledFrameworkVersions 'Microsoft.NETCore.App'and refuses when major 10 is missing. It uses the sameFailstyle as the ASP.NET Core refusal, says "Nothing was installed or changed", and names-SkipPreflightas the escape.Darling/README.mdanddocs/uat-onboarding.mdlisted only the ASP.NET Core Runtime as the service prerequisite. They now say the Hosting Bundle, or the .NET Runtime plus the ASP.NET Core Runtime.Lite/README.mdanddocs/changelog/3.6.mdonly describe Lite's own history and were left alone.Test plan
Darling.Testswith 0 warnings and 0 errors.DarlingRuntimePreflightTests: 8 of 8 pass. Two cases are new. One pins that the base-runtime block refuses and runs before the ASP.NET Core check. The other runs the gate itself under Windows PowerShell 5.1 with the framework lookup stubbed. Base missing with ASP.NET Core present is refused with the base-runtime message. Both present passes. Base present with ASP.NET Core missing is refused as before. Both missing gives one message with both Found lines. Desktop missing alone only warns.*Census*(358 tests, 1 skipped) and*Ratchet*(15 tests): 0 failures.*Doc*classes (78 tests): 0 failures.Changelog entry to splice