.NET 4.0 with wine 1.6.2

Questions about Wine on Linux
Locked
suchja
Level 1
Level 1
Posts: 6
Joined: Sat Apr 18, 2015 3:43 pm

.NET 4.0 with wine 1.6.2

Post by suchja »

Dear all,

unfortunately I do have some trouble with .NET4 and my wine 1.6.2. I installed it with 'winetricks --unattended dotnet4'. Which does not give me any errors. From the output it seems that wine-mono is removed by winetricks.

When running 'wine uninstaller' it shows me two entries for .NET v 4.0.30319 (client and extended), which should be okay. Now when running an application using .NET framework e.g. 'dotnet_verifier', I get

Code: Select all

Error parsing
C:\windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config
Parser returned error 0x80004001
The same happens when trying to update GAC as described on the AppDB pages.

I also tried creating a new machine.config file by using the machine.config.default file. However, this provided no help.

Any idea would be highly appreciated.

Thanks and regards
Jan
User avatar
dimesio
Moderator
Moderator
Posts: 13208
Joined: Tue Mar 25, 2008 10:30 pm

Re: .NET 4.0 with wine 1.6.2

Post by dimesio »

Start by upgrading Wine; 1.6.2 is almost 2 years old.
suchja
Level 1
Level 1
Posts: 6
Joined: Sat Apr 18, 2015 3:43 pm

Re: .NET 4.0 with wine 1.6.2

Post by suchja »

One step further. After installing wine 1.7.38, i do get a new error message:

Code: Select all

wine cmd.exe /c echo '%ProgramFiles%' returned unexpanded string '%ProgramFiles%' ... can be caused a corrupt wineprefix, an old wine, or by not owning /home/xclient/.wine
I have to say, that I'm trying to get it running in a docker Image. Guess it does not make a huge difference, but who knows. It is running headless. So things like winecfg are difficult to use. Not sure whether there is anything, except for wine wineboot --init, which is absolutely required, to get it running.

Any ideas where to start looking for answers? Already searched for the error message, but did not find anything. In general information about running wine without a display is not easy to find. Obviously this is not such a big use case.
User avatar
dimesio
Moderator
Moderator
Posts: 13208
Joined: Tue Mar 25, 2008 10:30 pm

Re: .NET 4.0 with wine 1.6.2

Post by dimesio »

suchja wrote:One step further. After installing wine 1.7.38, i do get a new error message:

Code: Select all

wine cmd.exe /c echo '%ProgramFiles%' returned unexpanded string '%ProgramFiles%' ... can be caused a corrupt wineprefix, an old wine, or by not owning /home/xclient/.wine
Try a clean wineprefix; the .NET installers are very touchy about unclean ones. You should also get the latest winetricks from https://raw.githubusercontent.com/Winet ... winetricks.
suchja
Level 1
Level 1
Posts: 6
Joined: Sat Apr 18, 2015 3:43 pm

Re: .NET 4.0 with wine 1.6.2

Post by suchja »

Finally I'm pretty sure that the combination of dockerfile and wine is the problem. You can build an docker image from a dockerfile. In this process commands are automatically and sequentially executed by the docker engine. The docker engine now executes wine wineboot --init and executes the next command once wineboot returns. Unfortunately some of the background processes (like wineserver) are still running and docker simply kills them or at least does not wait for them to be finished.

This probably leaves the wine prefix in an unknown and corrupt state. I hope the guys from docker can help me solving this problem.

Is there any other way to create a clean wine prefix, where the command only returns once really everything is finished?

Thanks a lot for your help. Obviously it is not really a wine issue. So sorry for all the questions!

Best regards
Jan
User avatar
dimesio
Moderator
Moderator
Posts: 13208
Joined: Tue Mar 25, 2008 10:30 pm

Re: .NET 4.0 with wine 1.6.2

Post by dimesio »

Wine will automatically create a new wineprefix if it doesn't exist the first time you run anything in it. If your next command was winetricks, skip wineboot and just run that.
suchja
Level 1
Level 1
Posts: 6
Joined: Sat Apr 18, 2015 3:43 pm

Re: .NET 4.0 with wine 1.6.2

Post by suchja »

Unfortunately the problem stays the same as now child processes started by winetricks will not complete before docker assumes everything is done.

Additionally I'm also not that sure how the interaction between creating the prefix and starting winetricks behaves with regards to child processes. I would guess that winetricks already starts it work before the prefix is really complete.

Somehow I need a command that I can call and which really only returns when all wine related work (including background work) is complete.

Hope the people from docker have already dealt with issues like this.

Thanks!
Locked