-
Notifications
You must be signed in to change notification settings - Fork 4.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[release/6.0] Remove duplicate entries from dotnet --info #60446
Conversation
Tagging subscribers to this area: @vitek-karas, @agocke, @VSadov |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!
approved over mail. Test failure is Probably just a coincidence that this is in a host test, right? Especially since we only change the windows PAL. Rerunning though to increase confidence that I didn't cause some butterfly effect. |
That failure is fixed in 7 (right @agocke?), and it's a completely random failure affecting all single-file tests, but basically nothing else. |
Sorry for the delay -- yes this race should be fixed in |
Backport of #60376 to release/6.0
/cc @ericstj
Customer Impact
Customers see duplicate entries in
dotnet --info
for all SDKs and all frameworks when running in the default install on Windows. Regression introduced in RC2. This isn't blocking but it looks pretty bad.Testing
Manually tested end-to-end to verify fix (shown below). Added automated regression test.
Risk
Very low. Leverages existing method in a new place.
Root cause
We are writing a trailing slash on
InstallLocation
and the host didn't remove this when considering paths (though it does for other paths). The result is that it considersC:\Program Files\dotnet
andC:\Program Files\dotnet\
to be separate paths, causing duplicates. Fixing this to avoid the trailing slash in the installer requires a custom action. The reason it worked before was because the installer was using hard-coded strings to write these values. We changed that in ARM64 work to calculate these directories. MSI insists on directories ending in a trailing slash.Result before:
After: