Can't run .NET apps on wine

Questions about Wine on Linux
Post Reply
ChickenManPL
Newbie
Newbie
Posts: 1
Joined: Thu Aug 15, 2019 8:48 am

Can't run .NET apps on wine

Post by ChickenManPL » Thu Aug 15, 2019 9:00 am

I am new to wine and i have a problem with it. I wanna install osu (game) via wine 4.0 on Linux Mint 19.2.
I Created new 32bit wine prefix

Code: Select all

WINEPREFIX=~/./wine32 WINEARCH=win32 winecfg
then installed .NET 4.0 via winetricks

Code: Select all

WINEPREFIX=~/./wine32 WINEARCH=win32 winetricks dotnet40
started installing osu

Code: Select all

WINEPREFIX=~/./wine32 WINEARCH=win32 wine osu\!install.exe
When installation was done i tried to run osu.exe

Code: Select all

WINEPREFIX=~/./wine32 WINEARCH=win32 wine osu\!.exe
and here is what i have in terminal

Code: Select all

01d6:fixme:thread:SetThreadStackGuarantee (0x32fc64): stub
01e7:err:ole:CoGetContextToken apartment not initialised
01d6:fixme:shell:URL_ParseUrl failed to parse L"System.Windows.Forms"
01d6:fixme:shell:URL_ParseUrl failed to parse L"System.Drawing"
01d6:fixme:shell:URL_ParseUrl failed to parse L"System"
01d6:fixme:shell:URL_ParseUrl failed to parse L"System.Xml"
01d6:fixme:nls:get_dummy_preferred_ui_language (0x0 0x32ca08 (nil) 0x32ca04) returning a dummy value (current locale)
01d6:fixme:nls:get_dummy_preferred_ui_language (0x0 0x32ca08 0x162478 0x32ca04) returning a dummy value (current locale)
01d6:fixme:shell:URL_ParseUrl failed to parse L"System.Core"
01d6:fixme:process:FlushProcessWriteBuffers : stub
01d6:fixme:shell:URL_ParseUrl failed to parse L"System.Runtime.Remoting"
01d6:fixme:ntdll:EtwRegisterTraceGuidsW (0xd6082a, (nil), {8e9f5090-2d75-4d03-8a81-e5afbf85daf1}, 1, 0x32e0ec, (null), (null), 0x10c2f60): stub
01d6:fixme:ntdll:EtwRegisterTraceGuidsW   register trace class {8e9f5090-2d75-4d03-8a81-e5afbf85daf1}
01d6:fixme:shell:URL_ParseUrl failed to parse L"System.Runtime.Remoting.resources"
01d6:fixme:shell:URL_ParseUrl failed to parse L"System.Runtime.Remoting.resources"
01d6:fixme:shell:URL_ParseUrl failed to parse L"mscorlib.resources"
01d6:fixme:shell:URL_ParseUrl failed to parse L"mscorlib.resources"

01e7:fixme:ntdll:EtwUnregisterTraceGuids deadbeef: stub
Nothing is starting, just stopping after this error. I repeated this installation on new prefixes many times but still i have this error :/

jkfloris
Level 6
Level 6
Posts: 704
Joined: Thu Aug 14, 2014 10:10 am

Re: Can't run .NET apps on wine

Post by jkfloris » Fri Aug 16, 2019 4:55 am

I get this game running with a higher .Net version.

Code: Select all

WINEPREFIX=~/./wine32 WINEARCH=win32 winetricks -q dotnet462

User avatar
Bob Wya
Level 12
Level 12
Posts: 2778
Joined: Sat Oct 16, 2010 7:40 pm
Location: Cambridge
Contact:

Re: Can't run .NET apps on wine

Post by Bob Wya » Fri Aug 16, 2019 5:20 am

ChickenManPL wrote:

Code: Select all

WINEPREFIX=~/./wine32 WINEARCH=win32 winecfg

Code: Select all

WINEPREFIX=~/./wine32 WINEARCH=win32 winetricks dotnet40

Code: Select all

WINEPREFIX=~/./wine32 WINEARCH=win32 wine osu\!install.exe

Code: Select all

WINEPREFIX=~/./wine32 WINEARCH=win32 wine osu\!.exe
Those commands would be more 'simply' written as:

Code: Select all

export WINEPREFIX="${HOME}/wine32"
WINEARCH=win32 wineboot -u
winetricks dotnet40
wine 'osu!install.exe'
wine 'osu!.exe'
The WINEARCH variable is only required when you first create a new WINEPREFIX.
The WINEPREFIX variable can be exported - so you don't need to keep specifying it. Note: this will only persist for the current terminal session (e.g. if you open a new terminal tab, exit from a user's session, etc. this env variable will be unset).
I generally find it's easier to avoid the hassle of managing escape sequences, e.g. \!, by quoting path expressions! :lol:
I prefer "${HOME}" , to the tilda HOME reference ~ , since the former can be used in double quoted expressions. Personal preference.

If you are actually trying to create:

Code: Select all

"${HOME}/.wine32"
Then you'd want:

Code: Select all

export WINEPREFIX=~/.wine32
Since the expression:

Code: Select all

WINEPREFIX=~/./wine32
will be interpreted as:

Code: Select all

WINEPREFIX=~/wine32
Since a single dot . directory / path element just means the current directory.
Is this what you actually intended?

Bob

Post Reply