0

I try to install a Windows program on Ubuntu. This program needs .NET40.

Afaik I have two options:

  1. I use wine, install winetricks and with winetricks dotnet40 and everything with win32-architecture (because dotnet40 only installs on 32bit). After successful installation via wine Setup.exe and trying to start the application with wine Program.exe I get strange error boxes so I tried the second way.

  2. I install mono.

    1. If I try to call mono Setup.exe I'll get:

      Cannot open assembly 'Setup.exe': File does not contain a valid CIL image.
      

      and somewhere else I read that it isn't possible to run setups with mono. Is there a way to run the setup with mono?

    2. I call Setup.exe with wine which works and afterwards I try to start the installed program with mono Program.exe. But now the program doesn't find its required resources. Is there a possibility to tell mono where the installed files are placed?

1 Answer 1

1

You need to install wine-mono package, and run it with wine.

sudo apt-get install wine-mono
wine ./Setup.exe

Unless you're developing C# app with GNU/Linux, you'd better to stay away of the mono app. There's too many cases where plain mono wouldn't work, while the wine does. Often this is caused by .net app usage of some native Windows libraries instead of sticking to C# ones. You could blame the developers, and you would be right, because they have to think next time, and use Qt with C++ at the very least, or something else as flexible and crossplatform. However just to let you know: programing with Windows is a bunch of workarounds, also surprisingly C# was made to accord the old WinAPI (just wrapped to .net) instead of fixing its fails.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .