Mono integration to Wine

Kornél Pál kornelpal at
Mon Dec 1 09:07:52 CST 2008


Wine is still using Mono by creating a new process altough it has 
support for _CorExeMain and _CorDllMain. There is a MonoFixupCorEE 
method exported by mono.dll that could be used.

I also did some research on executing exe assemblies without creating a 
mono.exe process on MS Windows by injecting code to the new process 
before initialization to load Mono. Note that because mscoree.dll is 
loaded at a very early process initilization stage no side-by-side 
manifests can be used that is required by newer MSVCRTs so I'll most 
likely create a separate DLL that will load mono.dll later in 
_CorExeMain or _CorDllMain.

For the above mentioned reason it may be better not to use 
MonoFixupCorEE yet.

I would like to receive comments on mixed-mode assembly support of Mono 
on Wine and if there are people willing to update the Loader to call 
_CorValidateImage, _CorExeMain (real entry point is not called for EXEs) 
and _CorImageUnloading for managed images.

MSVCRT also should call CorExitProcess on exit.


More information about the wine-devel mailing list