[release/6.0-rc2] Split install_location to file-per-architecture #59485
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.
To make things easier to install and play better with side-by-side we are splitting up the install_location file into architecture specific files.
This also fixes a bug we discovered in testing that failed to write the path on mac.
Customer Impact
Enables mac/linux host to locate the runtime. Ensures future-proof + downlevel-proof design of host location probing that reduces complexity from installers. Increases likelihood that future .NET versions will not break old versions should new architectures come along (or vice-versa).
Testing
Host tests updated to cover new scenarios, run during build validation.
Manual testing of installation script across scenarios of x64, arm64, x64 on arm64, x64 from rosetta on arm64.
Risk
Low. RC2 is the first release that actually supports this scenario from installers.
The host change will break folks on mac who were manually setting things up, but if they use the installers they will automatically get the fix.