------------------------------ On Wed, Sep 16, 2015 3:45 AM BST Vincent Povirk wrote:
Is there any way of doing this with 64-bit wine and 64-bit wine-mono?
Currently, Wine does not have the ability to load pure .NET PE images in a 64-bit process.
Ntdll needs to call _CorValidateImage during the loading process. _CorValidateImage needs to convert the image, in memory, to the correct architecture.
It's complicated, and I don't have a solution.
Actually you do :-).
Using http://madewokherd.nfshost.com/omgsecret/mono-64bit-exe.tar.gz from https://bugs.winehq.org/show_bug.cgi?id=30518
It is a bit dated, but does the job.
I was very confused by both of libmono-2.0-x86_64.dll libmono-2.0-x86.dll MonoPosixHelper-x86_64.dll MonoPosixHelper-x86.dll in c:/windows/mono/mono-2.0/bin/
In fact libmono-2.0-x86_64.dll MonoPosixHelper-x86_64.dll are never used, at the moment.
When 64-bit mono loads a .NET PE image which then P/Invoke, it does so P/Invoke to 64-bit dlls.
I was very confused by both of libmono-2.0-x86_64.dll libmono-2.0-x86.dll MonoPosixHelper-x86_64.dll MonoPosixHelper-x86.dll in c:/windows/mono/mono-2.0/bin/
In fact libmono-2.0-x86_64.dll MonoPosixHelper-x86_64.dll are never used, at the moment.
Correct. Alexandre insisted we include 64-bit builds anyway. In theory, they would work if Wine had everything required.