Open chirontt opened 2 years ago
I'll try, but I have never worked with Arm64 on Windows, so it's a bit of a trial-and-error for me. Could you try running dotnet openhardwaremonitor.dll
from the command line? Does that work?
Can you compile the app for Arm64 on your x64 box (i.e. cross compiling to Arm64)? I can test-run the resulting package on my Arm64 box if you need it.
As to running dotnet openhardwaremonitor.dll
(this is using the native Arm64 dotnet
command invoking the openhardwaremonitor.dll
from your distribution (x64)), it gives me the error box:
The Aga.Controls.dll
file is there in the same folder, so why is it complaining about not finding it? My guess is that the native dotnet
command can't load that .dll file which was built for x64 (?)
I eventually bit the bullet and re-compiled this application using the native Arm64 tools (VS 2022, .NET 6, etc.) and the build.cmd
, and it produced some Debug/Release distributions in the OpenHardwareMonitor\bin
folder. But then double-clicking on the resulting OpenHardwareMonitor.exe
would show nothing, as if it just silently quits. Is there any logs produced somewhere by the app?
Examining the resulting OpenHardwareMonitor.exe
shows that it's a native Arm64 executable alright, so the whole distribution is also for native Arm64, right? Note that I'm quite a newbie in these .NET things, so I may have done incorrect things somewhere...
Then I try the command line option: dotnet openhardwaremonitor.dll
in either Debug/Release directories, but it just gives the same error box about Aga.Controls.dll
as above. Now I need to examine all those .dll files in the bin
folder to see if they are really for Arm64 or not ...
FYI, here are my .NET env info:
>dotnet --info
.NET SDK:
Version: 7.0.100-preview.7.22377.5
Commit: ba310d9309
Runtime Environment:
OS Name: Windows
OS Version: 10.0.22000
OS Platform: Windows
RID: win10-arm64
Base Path: C:\Program Files\dotnet\sdk\7.0.100-preview.7.22377.5\
Host:
Version: 7.0.0-preview.7.22375.6
Architecture: arm64
Commit: eecb028078
.NET SDKs installed:
6.0.400 [C:\Program Files\dotnet\sdk]
7.0.100-preview.7.22377.5 [C:\Program Files\dotnet\sdk]
.NET runtimes installed:
Microsoft.AspNetCore.App 6.0.8 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 7.0.0-preview.7.22376.6 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.NETCore.App 6.0.8 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 7.0.0-preview.7.22375.6 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.WindowsDesktop.App 6.0.8 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
Microsoft.WindowsDesktop.App 7.0.0-preview.7.22377.1 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
Other architectures found:
x64 [C:\Program Files\dotnet\x64]
...
@chirontt Thanks for your investigation. Aga.Controls.dll
is an external library that is not built by me. It is also not a .NET Core library, but built for .NET Framework 4.8. It does (magically?) work on Windows, even though OHM is now compiled for .NET 6.0, but I believe this could be the reason it's not working on Arm. When I last checked, there was no newer version of this library available.
I need to rebuild this library, it seems. I will look into this, hopefully soon.
The currently-available installer
OpenHardwareMonitorSetup.exe
was compiled for x64 architecture, but I have an Arm64 machine running Windows 11 natively (i.e. Windows on Arm64), with the .NET desktop runtime 6.0.8 for Arm64 already installed. Can an installer for Arm64 architecture be provided?Installing the self-extracting (x64)
OpenHardwareMonitorSetup.exe
is no problem on my Arm64 box, but running the resultingOpenHardwareMonitor.exe
gives me the following error box:Obviously the
OpenHardwareMonitor.exe
executable is for x64, hence it requires the .NET runtime for x64. But I don't need/want to install the runtime for x64 on my Arm64 box. The obvious solution is to recompile the OpenHardwareMonitor program for Arm64, so that it will run natively on my Arm64 box.Again, can an installer for Arm64 architecture be provided/compiled? I hope it's just a recompile to be needed i.e. no code change; after all they all run under Windows anyway.