Pain free way of using Wine/Mono applications?

Is there any extensive up-to-date sources of being able to setup and configure Wine/Mono applications under Linux? I feel like I always have a terrible time trying to get anything to work properly, but when I look at how others setup an application on their Linux install it works fine for them, but not me because there’s always some issue that I can’t work past that prevents me from running applications that others seem to have no issue with.

Most issues seem to stem around .NET Framework like this;

0110:fixme:file:NtLockFile I/O completion on lock not implemented yet
0110:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
0110:fixme:heap:RtlSetHeapInformation 0000000000BD0000 0 000000000031E4B0 4 stub
0110:fixme:ntdll:EtwEventRegister ({319dc449-ada5-50f7-428e-957db6791668}, 0000000180023270, 000000018009CA40, 000000018009CA60) stub.
0110:fixme:ntdll:EtwEventSetInformation (deadbeef, 2, 00000001800725B7, 28) stub
0110:fixme:msi:internal_ui_handler internal UI not implemented for message 0x0b000000 (UI level = 5)
0110:fixme:msi:internal_ui_handler internal UI not implemented for message 0x0b000000 (UI level = 5)
0110:fixme:ntdll:EtwEventUnregister (deadbeef) stub.
0118:err:module:process_init L"C:\\windows\\Microsoft.NET\\Framework64\\v4.0.30319\\mscorsvw.exe" not found
00c8:fixme:service:delayed_autostart_callback Delayed auto-start service L"clr_optimization_v4.0.30319_64" failed to start: 126
0120:err:module:process_init L"C:\\windows\\Microsoft.NET\\Framework\\v4.0.30319\\mscorsvw.exe" not found
00c8:fixme:service:delayed_autostart_callback Delayed auto-start service L"clr_optimization_v4.0.30319_32" failed to start: 126

and like this;

0024:fixme:heap:RtlSetHeapInformation 0000000000270000 0 000000000021EC90 4 stub
0024:fixme:ntdll:EtwEventRegister ({319dc449-ada5-50f7-428e-957db6791668}, 0000000180023270, 000000018009CA40, 000000018009CA60) stub.
0024:fixme:ntdll:EtwEventSetInformation (deadbeef, 2, 00000001800725B7, 28) stub
0024:fixme:ntdll:EtwEventRegister ({319dc449-ada5-50f7-428e-957db6791668}, 00000000011A98B0, 0000000001631360, 0000000001631380) stub.
0024:fixme:ntdll:EtwEventSetInformation (deadbeef, 2, 000000000140CDE4, 28) stub
0024:fixme:kernelbase:QuirkIsEnabled3 (000000000021EF50, 00000000FFFFFFFF) stub!
0024:fixme:heap:GetNumaHighestNodeNumber semi-stub: 000000000021F9A8
0024:fixme:ntdll:EtwEventRegister ({e13c0d23-ccbc-4e12-931b-d9cc2eee27e4}, 00000000010BED10, 00000000016271B0, 0000000001635C50) stub.
0024:fixme:ntdll:EtwEventRegister ({763fd754-7086-4dfe-95eb-c01a46faf4ca}, 00000000010BED10, 0000000001628B90, 0000000001628C08) stub.
0024:fixme:ntdll:EtwEventRegister ({a669021c-c450-4609-a035-5af59af4df18}, 00000000010BED10, 0000000001633E60, 0000000001635C68) stub.
0024:fixme:ntdll:EtwEventRegister ({cc2bcbba-16b6-4cf3-8990-d74c2e8af500}, 00000000010BED10, 00000000016272F0, 0000000001635C60) stub.
0024:fixme:seh:WerRegisterRuntimeExceptionModule (L"C:\\windows\\Microsoft.NET\\Framework64\\v4.0.30319\\mscordacwks.dll", 0000000000C10000) stub
0024:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
0100:err:ole:CoGetContextToken apartment not initialised
0024:fixme:ntdll:EtwEventRegister ({319dc449-ada5-50f7-428e-957db6791668}, 000000001A9124C0, 000000001A93CA60, 000000001A93CA80) stub.
0024:fixme:ntdll:EtwEventSetInformation (deadbeef, 2, 000000001A92AEF1, 28) stub
0024:fixme:combase:RoGetParameterizedTypeInstanceIID stub: 4 0000000000B72A48 0000000000219608 000000000021A340 0000000000000000
0024:fixme:combase:RoGetParameterizedTypeInstanceIID stub: 3 0000000000B71420 000000000021A1E8 000000000021AF20 0000000000000000
0024:fixme:combase:RoGetParameterizedTypeInstanceIID stub: 3 0000000000B71420 000000000021A1E8 000000000021AF20 0000000000000000
0024:fixme:nls:LCIDToLocaleName unsupported flags 8000000
0024:fixme:advapi:RegisterEventSourceW ((null),L".NET Runtime"): stub
0024:fixme:advapi:ReportEventW (00000000CAFE4242,0x0001,0x0000,0x000003ff,0000000000000000,0x0001,0x00000000,000000000021D940,0000000000000000): stub
0024:err:eventlog:ReportEventW L"Application: RMLLauncher.exe\nFramework Version: v4.0.30319\nDescription: The process was terminated due to an internal error in the .NET Runtime at IP 0000000000C1749F (0000000000C10000) with exit code 80131506.\n"
0024:fixme:advapi:DeregisterEventSource (00000000CAFE4242) stub
0024:fixme:ntdll:EtwEventUnregister (deadbeef) stub.
0024:fixme:ntdll:EtwEventUnregister (deadbeef) stub.
0024:fixme:ntdll:EtwEventUnregister (deadbeef) stub.

Thing is though I HAVE .NET 4.0 framework installed in my WINEPREFIX and I even have Mono Runtime installed too, yet I still can’t run certain applications without running into these issues. I’ve tried multiple times to clean out and start fresh with a new WINEPREFIX but nothing I do ever seems to make it work like how others manage to. I tried 32-Bit Wine prefix which seems to work in some cases, except when trying to run 64-bit applications, and I’ve even tried 64-bit Wine prefix which is suppose to have 32-bit support, and it’s not like I can tell wine to use 2 seperate Wine prefixes either.

I’ve added so many DLL overrides as required for many applications so it’s using native first before built-in DLL’s. Running applications through Wine shouldn’t be so difficult and frustrating as it is. Wine current version is at like what? 5.22? And they still haven’t made it any easier when it comes to running applications that rely on .NET Framework. No built-in workarounds or fixes to the many common issues that Wine suffers.

What am I missing here? How can I have a usable Wine prefix environment that avoids half these issues? I feel like I have a better time using Steam Proton version of Wine when it comes to running applications than the regular builds of Wine, because they have a lot of fixes and tweaks to these kinds of issues where it’s a non-issue.

1 Like

Tk-Glitch has build scripts you might find helpful.

From what I’ve read trying to run the newer DotNET stuff doesn’t really work very well.

I’m not an authority on this - only windows program I ever tried to run via wine was ExactAudioCopy and it didn’t work for me…

1 Like

I use Lutris to set up all of my Windows Programs and Games personally, because there is a GUI for it all to select everything you need.

I thought about trying this for this question tomorrow, but obviously that’s not necessary any more. Now I know I’m not the only one to think of it, and it works too.

Thank you!