.NET Framework 4.0, released on 2011-02-21.
What does not
What was not tested
Everything else besides What works section.
1. Install wine-staging then open terminal in your home directory and type commands listed below: rm -fr ~/.wine export WINEARCH=win32 export WINEPREFIX="/home/USER/.wine" winecfg 1a. Replace USER with your USERNAME 1b. In winecfg set Windows version to Windows 7 2. Visit https://github.com/Winetricks/winetricks and grab winetricks from there 2a. In your home directory create folder called Winetricks 2b. Open above folder in terminal 2c. Type wget -r -c -N https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks then chmod +x winetricks 3. Open winetricks (type sh winetricks in terminal) and navigate to the default wineprefix -> Installation of Windows DLL or component, find dotnet4 and mark it for installation. 4. Installer will install all .NET Frameworks including 4 version
|Operating system||Test date||Wine version||Installs?||Runs?||Used|
|Show||KDE neon||Jan 17 2018||3.0-rc6||Yes||Yes||Yes||Gold||Invictus Tiberius|
|Show||Fedora 24 x86_64||Apr 16 2017||2.2-staging||Yes||Yes||Gold||Luc Absil|
|Current||Ubuntu 16.04 "Xenial" amd64 (+ variants like Kubuntu)||Sep 28 2016||1.9.19||Yes||Yes||Gold||an anonymous user|
|Show||Mac OS X 10.10 "Yosemite"||Aug 17 2015||1.7.47||Yes||Yes||Gold||an anonymous user|
|Show||Ubuntu 14.04 "Trusty" i386 (+ variants like Kubuntu)||Dec 07 2014||1.7.31||No, but has workaround||Yes||Bronze||an anonymous user|
|Bug #||Description||Status||Resolution||Other apps affected|
|12401||NET Framework 2.0, 3.0, 4.0 installers and other apps that make use of GAC API for managed assembly installation need reparse point/junction API support, i.e. DeviceIoCtl(FSCTL_SET_REPARSE_POINT/FSCTL_GET_REPARSE_POINT)||STAGED||View|
|15670||.NET applications that make use of System.IO.IsolatedStorage crash (missing "HKLM\Software\Microsoft\Windows NT\CurrentVersion\ProfileList\
|32323||Netflix (Silverlight 4.x) and several .NET Framework 3.x/4.0 WPF apps require either Arial or Verdana to be installed||STAGED||View|
|33506||Microsoft Expression Design 4 (Free Version) crashes when quickly populating main menu items (dropdown sub-menu drawing)||NEW||View|
|36461||Multiple .NET 4.0 applications fail on startup, WPF message dispatcher unexpectedly receives messages during 'CoWaitForMultipleHandles' call with 'COWAIT_ALERTABLE' flag (Visual Studio 2010, BgmHkClient)||NEW||View|
|43408||Quest 5.7.x (.NET 4.0 WPF app) crashes on direct access of MIL4 (Media Integration Layer, wpfgfx_v0400.dll) to internal bitmap struct/class impl (depends on exact layout)||NEW||View|
|44562||.NET 4.x - rundll32.exe - Error messages when running any application||UNCONFIRMED||View|
Last update: 2018-06-30
You need to install winetricks first (see more details here):
$ wget 'https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks'
$ chmod +x ~/winetricks
It is recommended to use a new Wine prefix (but not necessary, depending on your applications). "$HOME/winedotnet40" is the path for the prefix on which .NET will be installed; you can change it to whatever you want:
$ env WINEPREFIX=$HOME/winedotnet40 wineboot --init
Then you can install .NET Framework (and optionally install corefonts):
$ env WINEPREFIX=$HOME/winedotnet40 ~/winetricks dotnet40 corefonts
To perform instead a silent (no GUI) installation:
$ env WINEPREFIX=$HOME/winedotnet40 ~/winetricks --unattended dotnet40 corefonts
Use dotnet40 to install .NET Framework 4.0. If you want to install another version of 4.x series, change it for one of the following list:
dotnet45 to install .NET Framework 4.5
dotnet451 to install .NET Framework 4.5.1
dotnet452 to install .NET Framework 4.5.2
dotnet46 to install .NET Framework 4.6
dotnet461 to install .NET Framework 4.6.1
dotnet462 to install .NET Framework 4.6.2
dotnet47 to install .NET Framework 4.7 (currently not supported) dotnet471 to install .NET Framework 4.7.1 (currently not supported)
... And so on. For example, if you want to install .NET Framework 4.5.2:
$ env WINEPREFIX=$HOME/winedotnet452 ~/winetricks --unattended dotnet452 corefonts
Mono (free alternative .NET Implementation) and Microsoft .NET Framework don't mix well in same WINEPREFIX.
If you intend to manually install .NET Frameworks make sure you removed any previous install of 'MONO' package from WINEPREFIX before.
You don't need this step if you use 'winetricks' to install Microsoft .NET Frameworks.
Use the following command to manually trigger GAC rebuild after .NET Framework installation (or if WINEPREFIX changed due to Wine update):
Some errors while loading dependent modules that are not GAC'd yet are expected and can be ignored.
To verify .NET Framework installation(s) in WINEPREFIX you can use the .NET Framework Setup Verification Tool from Aaron Stebner (Microsoft) which checks for proper installation of .NET assemblies and registry entries.
Website and download here
Select the .NET Framework you want to verify and evaluate the log file manually if verification failed.
This happens if you run 'winetricks' recipe on existing/created 64-bit WINEPREFIX.
Winetricks and 64-bit WINEPREFIXes are not supported.
You have to create a pure 32-bit WINEPREFIX through WINEARCH=win32 environment variable before running winetricks script!
If a .NET application exits with the following message in console:
Some of Wine's truetype fonts are still not in shape of being a complete replacement for Windows ones, causing errors.
You must use 'winetricks corefonts' recipe to work around this problem!
If a .NET application exits with the following message in console:
You are missing the samba/winbind component which is essential for certain Wine functionality.
Please install winbind with your distribution package manager!
If you encounter this error, the .NET4 app basically requests .NET 4.0 Full Framework. The default for .NET 4.0 Framework is "Client Profile".
Workaround: If your .NET4 application is called "foo.exe", rename "foo.exe.config" to something different and run again.
If this file is missing the CLR assume that your app is targeting NET4 Client Profile by default (which should work out in most cases).
This links explains the differences and implications: Microsoft MSDN blog
URL_ParseUrl FIXME messages on console when running/installing .NET apps are harmless and can be safely ignored. Example console output:
Never run wine as root (su, sudo)! Wine doesn't require to be run as root!
You will screw your WINEPREFIX and possibly other things up. If you have run Wine as root you need to:
Again: Just run wine as regular user and all should be fine.