runtime: Hostfxr.dll load failure with arm64 app on arm64 Windows 11 host

Description

After deploying a hello-world framework-dependent portable net6.0 app onto a Windows 11 arm64 host, attempts to launch that app result in failure.

image

Reproduction Steps

  1. Download/extract supplied dotnet_6_arm64_repro.zip (see below)
  2. dotnet publish
  3. Copy \bin\ARM64\Debug\net6.0\publish\ to arm64 machine
  4. Execute dotnet_6_arm64_repro.exe
  5. (Optional) Address the missing .NET 6.0.2 dependency by installing .NET 6.0 Desktop Runtime (v6.0.2) - Windows arm64, and revisit step 4.

Expected behavior

App to run and print Hello, World! successfully.

Actual behavior

App fails with:

Failed to load the dll from [C:\Program Files\dotnet\host\fxr\6.0.2\hostfxr.dll], HRESULT: 0x800700C1
The library hostfxr.dll was found, but loading it from C:\Program Files\dotnet\host\fxr\6.0.2\hostfxr.dll failed
  - Installing .NET prerequisites might help resolve this problem.
     https://go.microsoft.com/fwlink/?linkid=798306

Regression?

No response

Known Workarounds

No response

Configuration

Windows 11 22504.1010 (arm64) Visual Studio 2022 17.0.5

Other information

dotnet_6_arm64_repro.zip

Host (useful for support):
  Version: 6.0.2
  Commit:  839cdfb0ec

.NET SDKs installed:
  No SDKs were found.

.NET runtimes installed:
  Microsoft.NETCore.App 6.0.2 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.WindowsDesktop.App 6.0.2 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]

To install additional .NET runtimes or SDKs:
  https://aka.ms/dotnet-download

Core host trace, verbosity=4

Tracing enabled @ Sat Feb 12 21:16:51 2022 GMT
--- Invoked apphost [version: 6.0.2, commit hash: 839cdfb0ecca5e0be3dbccd926e7651ef50fdf10] main = {
C:\Users\Rafael\desktop\publish\dotnet_6_arm64_repro.exe
}
Redirecting errors to custom writer.
The managed DLL bound to this executable is: 'dotnet_6_arm64_repro.dll'
Can't open the SDK installed location registry key, result: 0x2
Using global installation location [C:\Program Files\dotnet] as runtime location.
Reading fx resolver directory=[C:\Program Files\dotnet\host\fxr]
Considering fxr version=[6.0.2]...
Detected latest fxr version=[C:\Program Files\dotnet\host\fxr\6.0.2]...
Resolved fxr [C:\Program Files\dotnet\host\fxr\6.0.2\hostfxr.dll]...
Failed to load the dll from [C:\Program Files\dotnet\host\fxr\6.0.2\hostfxr.dll], HRESULT: 0x800700C1
The library hostfxr.dll was found, but loading it from C:\Program Files\dotnet\host\fxr\6.0.2\hostfxr.dll failed
  - Installing .NET prerequisites might help resolve this problem.
     https://go.microsoft.com/fwlink/?linkid=798306
> dotnet --list-runtimes
Microsoft.NETCore.App 6.0.2 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.WindowsDesktop.App 6.0.2 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]

> dotnet --list-sdks
[no output]

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Reactions: 1
  • Comments: 21 (14 by maintainers)

Most upvoted comments

@vitek-karas Friendly ping. Would be great if we could get this into 6.0 servicing, given it’s a LTS release.