Skip to content

Installers should be aware of multi-arch OSes and warn users as appropriate #10192

@vitek-karas

Description

@vitek-karas

Most OSes are becoming multi-arch, in the sense that it's possible to run multiple different architectures on the same machine. For example:

  • Windows x64 and x86 - existing problem
  • Apple M1 x64 and arm64
  • Windows x64 and arm64
  • and so on (pending future support for platform/architecture matrix)

On all platforms, the default installers will put the location of dotnet into PATH. But if they install the second architecture, the resulting experience is confusing to the users. For example:

  • Install x64 .NET 5 on Windows (C:\Program Files\dotnet is added to the PATH)
  • Install x86 .NET 3.1 on Windows (C:\Program Files (x86)\dotnet is appended to the PATH)
    The end result is that both x64 and x86 are on PATH, but the first one wins, so running:
    dotnet --info
    Will run the x64 version and only list 5.0 as installed. Also dotnet app.dll won't work on 3.1 app, even though it was just installed.

Installers should recognize that another architecture is already on the machine and that it's on PATH and inform user about this behavior.

See dotnet/runtime#3820 (comment) for another great example of this problem and how installer warning would help.

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions