Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Wine mono or dotnet #68

Open
lr1729 opened this issue Apr 27, 2020 · 2 comments
Open

Wine mono or dotnet #68

lr1729 opened this issue Apr 27, 2020 · 2 comments

Comments

@lr1729
Copy link

lr1729 commented Apr 27, 2020

Would it be possible to install wine mono or dotnet4.5? Running /hangover/build/wine-host/loader/wine64 /hangover/build/qemu/x86_64-windows-user/qemu-x86_64.exe.so uninstaller to install wine mono.msi gives Failed to load "uninstaller", last error 126. Is there a way to install dotnet via winetricks?

@stefand
Copy link
Collaborator

stefand commented Apr 27, 2020

Microsoft .NET can be installed with hangover, but it does not run. I have used it to run the 32 bit .net installer (up to version 4.6.2) on a 64 bit only Wine on MacOS Catalina. This achieved its purpose because then 64 bit .NET could run natively.

I don't think you'll have much joy with .NET on an ARM box at the current point. I haven't even looked at what is necessary to run the actual .NET virtual machine, but at very least qemu's detection of self-modifying and JIT generated code is not currently hooked into Wine on the host side. Qemu needs to be able to call VirtualProtect to mark pages containing x86 code read-only and properly interpret write access exceptions to know that it has to re-translate the modified code. And that's just one of the corner cases. I am sure there are some other bits in the virtual memory handling, stack setup, etc that will break in very interesting ways.

I don't know about Wine-mono. The first thing to do is port it to arm/aarch64. This won't run .NET apps with native code components but it should be able to run pure .NET programs without hangover.

The other approach would be to install x86 wine-mono into the prefix and have all Wine libs that call it (mscoree, and I am sure there are some others too) built as x86/x64 PE libs. This will be slower, more complicated, but should handle programs that have their own native code pieces.

@AndreRH
Copy link
Owner

AndreRH commented Mar 1, 2024

Wine Mono can be installed by now, I just have no .net binary to test it

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants