dotnet / dotnet/arcade

dotnet-install.ps1 is not checking for arm64 and will fallback to x64

Open
#16,584 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
C#
Stars
729
Forks
397
Avg merge
3d 15m
Merged PRs (30d)
149

Description

dotnet-install.ps1 checks just x86 architecture when checking for .net installation.
When you run arm64 installer on x64 device it won't install the runtime, and will end with error. So this either intentionally or by luck works okay, because it checks the installation is checked against the "native" dotnet that is installed directly in .dotnet/shared.

But the message is misleading, and should instead say: "skipped because arm64 is not supported on this platform" .

Image

This is how it looks like if I am trying to install arm64 via global.json. (the longer message is new, and comes from the fast check that is implemented here https://github.com/dotnet/arcade/pull/16580

How it should work:

The installer behavior is encoded in both dotnet-install.ps1, and the fast check for Windows, Linux (and macos).

Arm64 does not seem to be widely used in global.json runtimes, so there is no hurry to fix this. You can assign to me.

Contributor guide

Open the contributing guide

Research direction

Start with dotnet-install.ps1, then inspect the fast-check implementations for Windows, Linux, and macOS. Reproduce an arm64 runtime install selected through global.json and trace the architecture check; done means unsupported arm64 on the platform reports the requested message consistently without changing valid installations.

Written by the indexing model from the issue text.

Assessment

Tech stack
powershell
Domain
build-system, tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.