Skip to content

Conversation

ericstj
Copy link
Member

@ericstj ericstj commented Sep 22, 2021

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.

vitek-karas and others added 2 commits September 22, 2021 10:07
On non-Windows we used install_location file with multiple lines which contained locations per-architecture (and the default).

This changes the host to use separate file for each architecture:
* `install_location_<arch>` for the architecture specific
* `install_location` for the "legacy" file

This is a much easier format for installers to handle (and it also simplifies the apphost code a little bit).

Adapted tests to the new behavior. Removed some tests which don't make sense anymore. Some small test cleanup to deduplicate code.

Changed the test-only env. variable to point to the directory with configuration files instead of to the configuration file itself.
Also don't write to paths when running translated (rosetta)
@ericstj ericstj requested a review from vitek-karas September 22, 2021 17:12
@ghost ghost added the area-Host label Sep 22, 2021
@ghost
Copy link

ghost commented Sep 22, 2021

Tagging subscribers to this area: @vitek-karas, @agocke, @VSadov
See info in area-owners.md if you want to be subscribed.

Issue Details

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.

Template to come.

Author: ericstj
Assignees: -
Labels:

area-Host

Milestone: -

@ericstj ericstj changed the title Split install_location to file-per-architecture [release/6.0-rc2] Split install_location to file-per-architecture Sep 22, 2021
@ericstj ericstj requested a review from mateoatr September 22, 2021 17:13
@ericstj ericstj added the Servicing-consider Issue for next servicing release review label Sep 22, 2021
@ericstj ericstj added this to the 6.0.0 milestone Sep 22, 2021
@ericstj ericstj added Servicing-approved Approved for servicing release and removed Servicing-consider Issue for next servicing release review labels Sep 22, 2021
@ericstj
Copy link
Member Author

ericstj commented Sep 22, 2021

Approved over email.

@ericstj ericstj merged commit 6e8f538 into dotnet:release/6.0-rc2 Sep 22, 2021
@ghost ghost locked as resolved and limited conversation to collaborators Nov 3, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-Host Servicing-approved Approved for servicing release
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants