.NET Framework 2.0, released on 2005-11-07.
Installation and a basic application
What does not
What was not tested
More advanced applications
I was able to run an application I wrote, QuickGUIDGen, without any issues. It's a very simple application that generates GUIDs. Written with .NET 2.0. ( download at http://digitaldeviation.com/projects/tools/quick-guid-gen/ ) I used the fonts as described in the HOWTO and copied the l_intl.nls file. I did NOT apply any of the patches listed.
|Operating system||Test date||Wine version||Installs?||Runs?||Used|
|Show||Solus||Aug 22 2019||4.13||Yes||Yes||No||Platinum||Kevin Puertas|
|Show||Ubuntu 16.04 "Xenial" amd64 (+ variants like Kubuntu)||Sep 28 2016||1.9.19||Yes||Yes||Platinum||an anonymous user|
|Show||Arch Linux x86_64||Aug 11 2015||1.7.49||Yes||Yes||Platinum||an anonymous user|
|Show||Fedora 19 x86_64||Dec 26 2014||1.7.33||Yes||Yes||Gold||Anastasius Focht|
|Show||Gentoo Linux x86_64||May 03 2014||1.7.18||Yes||Yes||Gold||Farmboy0|
|Bug #||Description||Status||Resolution||Other apps affected|
|10506||.NET applications which use 'System.Security.Cryptography.DSA' fail to set up crypt32 DSS provider due to missing default key container||NEW||View|
|12401||NET Framework 2.0, 3.0, 4.0 installers and other apps that make use of GAC API for managed assembly installation on NTFS filesystems need reparse point/junction API support (FSCTL_SET_REPARSE_POINT/FSCTL_GET_REPARSE_POINT)||STAGED||View|
|31882||Many multithreaded gui apps randomly deadlock in winex11 driver surface section (arial32.exe, Aquanox, Mahaa demo, Total Commander)||RESOLVED||NOTOURBUG||View|
Install winetricks (more details here) to make easier to configure the Wine prefix:
$ sudo wget 'https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks' -O /usr/local/bin/winetricks
$ sudo chmod +x /usr/local/bin/winetricks
Last update: 2020-05-03
As usual, create a new Wine prefix (for most applications, it's better to set its own prefix):
$ env WINEPREFIX=$HOME/winedotnet wineboot --init
If Wine prompts for installing Mono, click Cancel.
Install .NET Framework (and optionally install corefonts):
$ env WINEPREFIX=$HOME/winedotnet winetricks dotnet20 corefonts
Replace dotnet20 with dotnet20sp1 or dotnet20sp2 to install Service Pack 1 or Service Pack 2, respectively.
Use the following command to manually trigger GAC rebuild after .NET Framework installation (or if the Wine prefix changed due to a Wine update):
$ env WINEPREFIX=$HOME/winedotnet wine "c:\\windows\\Microsoft.NET\\Framework\\v2.0.50727\\ngen.exe" update
Some errors (while loading dependent modules that are not GAC'd yet) are expected and can be ignored.
Last update: 2019-01-06
To verify .NET Framework installation(s) you can use the .NET Framework Setup Verification Tool from Aaron Stebner (Microsoft) which checks for proper installation of .NET assemblies and registry entries:
$ wget 'https://msdnshared.blob.core.windows.net/media/2018/05/netfx_setupverifier_new.zip'
$ unzip netfx_setupverifier_new.zip
$ env WINEPREFIX=$HOME/winedotnet wine ~/netfx_setupverifier.exe
Select the .NET Framework version you want to verify and evaluate the log file manually if verification failed.
URL_ParseUrl FIXME messages on console when running/installing .NET apps are harmless and can be safely ignored. Example console output:
If you see an error message at the end of the installer iÂn console like this:
This message is harmless and expected (see my comment here).
This is because you are running the 32-bit installer in a WoW64 Wine. ÂThere are two ways to overcome this:
Method 1: create 32-bit WINEPREFIX
Set environment variable "export WINEARCH=win32", create a new WINEPREFIX and run the installer
Method 2: "hack" to force install into 64-bit WINEPREFIX
It is possible to install 32-bit .NET Framework in 64-bit prefix (shared Wow64 enviroment):
In order to do this: run the .NET installer as follows:
It will ask you for a folder to put extracted files in. After extraction, go to the folder and open up the "install.ini" in text editor.
Change the value under [setup] section:
Now you are ready to run the installer using:
This is only for experts and not the recommended way. Use at own risk! Â
If a .NET application exits with the following mesÂsage in console:
This 'Fatal Execution Engine Error' (80131506) is pretty general and can be caused by many things, for example by bug 10506.Â
If you get a crash/backtrace like this in console:
Please read appdb entry HOWTO more carefully! This is bug 10467.
If you followed appdb HOWTO and this problem still occurs you most likely have a corrupted "l_intl.nls" file in your winetricks cache. Update your winetricks script to newer version (contains checksum for detection of corrupted download) or remove "l_intl.nls" from "dotnet20" folder in "winetrickscache" and repeat the winetricks step.Â
ÂReported in Bug 16258. It seems the PE image generator runs out of file descriptors while writing out native images. TÂhis is a bug in the Microsoft .NET 2.0 Framework. Use the following workaround if you encounter this bug:Â