.NET Framework 2.0, released on 2005-11-07.
Everything should work normally.
What does not
What was not tested
Install it via winetricks.
|Operating system||Test date||Wine version||Installs?||Runs?||Used|
|Current||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|
|Show||Ubuntu 14.04 "Trusty" amd64 (+ variants like Kubuntu)||Jun 24 2014||1.6.2||Yes||Yes||Gold||Jonah Aragon|
|Bug #||Description||Status||Resolution||Other apps affected|
|10506||.NET applications which use 'System.Security.Cryptography.DSA' need crypt32 DSS provider||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 need reparse point/junction API support, i.e. DeviceIoCtl(FSCTL_SET_REPARSE_POINT/FSCTL_GET_REPARSE_POINT)||STAGED||View|
|12457||SharpDevelop 2.2 crashes with NotImplementedException at IWebBrowser2.get_LocationName()||NEW||View|
|15670||.NET applications that make use of System.IO.IsolatedStorage crash (missing "HKLM\Software\Microsoft\Windows NT\CurrentVersion\ProfileList\
|31882||Many multithreaded gui apps randomly deadlock in winex11 driver surface section (arial32.exe, Aquanox, Mahaa demo, Total Commander)||RESOLVED||NOTOURBUG||View|
|34803||.NET Framework 2.0 SP2 refuses to install on top of .NET 2.0 SP1 (SBSDisabled registry key install blocker detected)||NEW||View|
You need to install winetricks first (see more details here). This tool make easier to install and configure many things on your wine-prefix. Your distribution probably comes with a package to install it but it could likely be outdated, so, to be safe, download the latest version:
$ wget 'https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks'
$ chmod +x ~/winetricks
Make sure you operate on a clean 32-bit WINEPREFIX (~/.wine)!
Installation by using 'winetricks' script
Use this option for easy installation of .NET 2.0 Framework. Winetricks will take care of all needed installation prerequisites and work around some problems.
$ bash winetricks dotnet20
Always use the latest 'winetricks' script from the URL above! Several Linux distributions package outdated 'winetricks' versions, don't use them.
Installation by using 'winetricks' script
Use this option for easy installation of .NET 2.0 Framework Service Pack(s).
Winetricks will take care of all needed installation prerequisites and work around some problems (.NET 2.0 already installed, Service Packs already applied...).
.NET Framework 2.0 Service Pack 1:
.NET Framework 2.0 Service Pack 2:
There is no need to manually install .NET Framework 2.0 before. Winetricks does this as part of service pack install!
See HOWTO Methods: refer to "manual" installation method what steps are needed before running the installer in unattended mode
Example command lines you can use to perform unattended installations for the .NET Framework 2.0 installation:
These command lines will run the .NET Framework 2.0 setup in fully silent mode. The setup package will extract to a temporary location and installation will begin with no user interaction and no visible UI. The user will see no visible indication that setup is running.
Standard unattended installation
These command lines will run the .NET Framework 2.0 setup in standard unattended mode. The setup package will extract to a temporary location and installation will begin with no user interaction. A progress dialog will appear on the screen during installation, and it will disappear when setup is complete. Errors encountered during installation might pop up message boxes during installation if they occur.
Unattended installation with no cancel button available in the UI
These command lines will run the .NET Framework 2.0 setup in unattended mode with no cancel button. The behavior of setup is the same as with the command lines above except the cancel button will be hidden on the progress page during installation. This allows the user to know that a setup is in progress but prevent them from cancelling it (unless they kill the process).
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.
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.
If you encounter this error while trying to run 'winetricks dotnet20sp1' recipe:
"indexXX.dat" files get changed (number increments) each time a native assembly is generated and installed into GAC (ngen run).
It's an error in older winetricks versions that relied on these numbers.
You can verify this by running full GAC rebuild (optional):
After this command new index files have been generated.
Please update your winetricks script to a newer version (see main HOWTO)
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 in 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 message 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. This is a bug in the Microsoft .NET 2.0 Framework. Use the following workaround if you encounter this bug: