.NET Framework

.NET Framework 2.0, released on 2005-11-07.

Application Details:

Version: 2.0
License: Free to use
Votes: 24
Latest Rating: Platinum
Latest Wine Version Tested: 4.13

Maintainers: About Maintainership

Link Codeweavers AppDB Free Download Microsoft .NET Framework 2.0 Redistributable x86 32-bit Free Download Microsoft .NET Framework 2.0 Service Pack 1 Redistributable x86 32-bit Free Download Microsoft .NET Framework 2.0 Service Pack 2 Redistributable x86 32-bit Free Download Microsoft .NET Framework 2.0 Redistributable x86 64-bit Free Download Microsoft .NET Framework 2.0 Service Pack 2 Redistributable x86 64-bit

Test Results

Old test results
The test results for this version are very old, and as such they may not represent the current state of Wine. Please consider submitting a new test report.
Selected Test Results

What works

Install without problems 64bit version.

Everything should run normally

What does not


What was not tested


Hardware tested


  • GPU: Other
  • Driver: open source

Additional Comments

You have to set Version to Windows XP for being able to install .Net Framework 2.0

selected in Test Results table below
Operating systemTest dateWine versionInstalls?Runs?Used
CurrentSolusAug 22 20194.13Yes Yes NoPlatinumKevin Puertas 
ShowUbuntu 16.04 "Xenial" amd64 (+ variants like Kubuntu)Sep 28 20161.9.19Yes Yes Platinuman anonymous user 
ShowArch Linux x86_64Aug 11 20151.7.49Yes Yes Platinuman anonymous user 
ShowFedora 19 x86_64Dec 26 20141.7.33Yes Yes GoldAnastasius Focht 
ShowGentoo Linux x86_64May 03 20141.7.18Yes Yes GoldFarmboy0 

Known Bugs

Bug # Description Status Resolution Other apps affected
3972 .NET Framework 2.0 installation fails on installation of assemblies CLOSED FIXED View
8499 AutoWikiBrowser doesn't work (uses .NET 2 framework) CLOSED FIXED View
10467 Microsoft .NET Framework 2.0 requires l_intl.nls (unicode casing tables) CLOSED FIXED View
10506 .NET applications which use 'System.Security.Cryptography.DSA' fail to set up crypt32 DSS provider due to missing default key container NEW View
10601 Microsoft .NET Framework: GAC API for managed assembly installation needs reparse point/junction API support (.NET Framework 2.0, 3.0, 4.0 installers and other apps that make use of GAC API) CLOSED DUPLICATE View
11228 .NET Framework 2.0 installer creates non-deformatted registry keys CLOSED FIXED View
11964 .NET Reflector 6.x user interface is distorted CLOSED FIXED View
12031 scambled fonts (encoding?) with .NET 2 application CLOSED WORKSFORME 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
12457 Multiple apps crash with NotImplementedException at IWebBrowser2.get_LocationName() (SharpDevelop 2.2, Clarion Enterprise Edition 9.0.10376) CLOSED FIXED View
12458 Multiple apps fail due to RichEdit ITextDocument_fnRange stub (MySQL Workbench, BlitzMaxDemo137) CLOSED FIXED View
15369 WINEDEBUG=+relay results in unhanded exception CLOSED WORKSFORME View
15545 Photomatix Pro works in 32-bit but crashes in 64-bit Ubuntu CLOSED FIXED View
15649 Ultima Online with Razor (.NET) often crashes CLOSED INVALID View
15670 .NET applications that make use of System.IO.IsolatedStorage crash (missing "HKLM\Software\Microsoft\Windows NT\CurrentVersion\ProfileList\" registry subkey) CLOSED FIXED View
15804 Multiple .NET applications fail to start, reporting exception "Culture name 'ga-ie' is not supported." (support for alternate calendar types needed) CLOSED FIXED View
16258 .net 2.0's ngen.exe hangs while compiling a particular assembly CLOSED WONTFIX View
16418 Keyword corral crashes (LsaLookupNames2 returns ERROR_NONE_MAPPED) CLOSED FIXED View
16445 Microsoft .NET Framework 2.0 refuses to install, reporting 'IE5.01 or higher version is required prior to installing Microsoft .NET Framework' (broken WINEPREFIX) CLOSED INVALID View
16491 Pindersoft DotNet Test hangs when advancing months (monthcal day state/notification data handling) CLOSED FIXED View
16626 NBC Direct installer can't find resources CLOSED FIXED View
16755 installation of .NET 2.0 crashes wineserver CLOSED DUPLICATE View
16956 Lexware: Installation of .Net 2.0 SP 1 fails CLOSED FIXED View
17161 Provide lodctr.exe tool to prevent misleading process spawn failure console messages (.NET installers) CLOSED FIXED View
17922 LiveZilla 3.x/4.x (.NET 2.0 app) aborts due to unimplemented HTMLDocument_execCommand CLOSED FIXED View
17991 QueryPathOfRegTypeLib fails to locate typelib when (major.minor) = (0xffff.0xffff) CLOSED FIXED View
18025 .NET 2.0 Regasm.exe typelib exporter needs ICreateTypeInfo2::SetCustData CLOSED FIXED View
18510 Microsoft .Net 20 SP1 Installer's text is unreadable CLOSED FIXED View
18531 .NET based apps using WebBrowser Control need OleInPlaceObject_InPlaceDeactivate properly implemented CLOSED FIXED View
19529 .NET 2.0: LDAP authorization fails CLOSED FIXED View
19861 Wine should warn when ulimit -n needs raising CLOSED FIXED View
20262 .NET 2.0 not installable due to repeating RegSvcs.exe crashings CLOSED DUPLICATE View
22365 .NET Framework 2.0 installer hangs CLOSED FIXED View
22521 .NET 2.0 SP2 installer fails (RegSvcs.exe bootstrapper expects updated assemblies while GAC update is deferred during install) CLOSED FIXED View
22722 Wine running out of address space (MacOS) CLOSED FIXED View
22724 windows opened by wine has zero size, and cannot be resized CLOSED FIXED View
22805 Can't install 64bit .NET 2.0 (install.exe fails to be mapped at preferred base when being restarted as 64-bit process, shared WoW64) CLOSED FIXED View
23759 Many .NET gui apps report unhandled exception on launch due to gdiplus GdipTranslateLineTransform stub (no menu bar and status bar with built-in gdiplus) CLOSED FIXED View
24196 oleaut32: typelib registration should not fail bitness-neutral assemblies (32-bit typelib wrapped in 64-bit PE, x64 .NET 2.0 installer) CLOSED FIXED View
28682 Ragnarok download shows a .NET exception on start (needs Win32_Processor WMI class) CLOSED FIXED View
30162 Microsoft .NET 2.0 Framework: "mscorsvw" compile worker hangs sometimes while generating native images from assemblies in GAC (loader section block reported) CLOSED FIXED View
30485 MeGUI 2112 crashes after first update / restart (application XML settings can't be fully deserialized due to oleaut32 VarDecRound being a semi-stub) CLOSED FIXED View
30681 Microsoft SQL Server Management Studio Express 2008 installer fails (some .NET assemblies are not updated/patched by .NET service packs containing .msp) CLOSED FIXED View
31652 .NET Framework Setup Verification Tool stopped working with dotnet20sp1 CLOSED FIXED View
31882 Many multithreaded gui apps randomly deadlock in winex11 driver surface section (arial32.exe, Aquanox, Mahaa demo, Total Commander) RESOLVED NOTOURBUG View
32165 .NET installer does not set file dates CLOSED FIXED View
34207 Microsoft .NET Framework 2.0 service pack installers fail 'NGEN service version check' custom action (service not stopped before binary update) CLOSED FIXED View
34593 MS .Net 2.0 x64 installer fails under XP mode (works under win2k3) CLOSED FIXED View
34803 .NET Framework 2.0 SP2 refuses to install on top of .NET 2.0 SP1 (SBSDisabled registry key install blocker detected) CLOSED WORKSFORME View
39863 Microsoft .NET Runtime Optimization Service 2.x terminates prematurely due to failure to hook up registry notifier ('RegNotifyChangeKeyValue' must treat NTSTATUS 'STATUS_PENDING' as success) CLOSED FIXED View

Show open bugs

HowTo / Notes

Get winetricks!

Install winetricks (more details here) to make easier to configure the Wine prefix:

$ sudo wget '' -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.

Manually trigger rebuild of the Global Assembly Cache (GAC) after .NET Framework installation

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.

Verify .NET Framework installation using .NET Framework Setup Verification Tool (Microsoft)

Last update: 2023-06-16

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 ''
$ unzip
$ 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.

fixme:shell:URL_ParseUrl failed to parse ...

URL_ParseUrl FIXME messages on console when running/installin­g .NET apps are harmless and can be safely ignored. Example console output:

fixme:shell:URL_ParseUrl failed to parse L"mscorlib"

err:msi:HANDLE_CustomType34 Unable to execute command

If you see an error message at the end of the installer i­n console like this:

­err:msi:HANDLE_CustomType34 Unable to execut­e command L"\"C:\\windows\\Microsoft.NET\\Framework\\netfxsbs20.exe\" /install"

This message is harmless and expected (see my comment here).

This product is not supported on a 64-bit operating system. Setup will now exit.

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:

$ wine dotnetfx /C

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:

$ wine install.exe

This is only for experts and not the recommended way. Use at own risk! ­

err:eventlog:ReportEventW .NET Runtime version 2.0.50727.42 - Fatal Execution Engine Error (7A05E2B3) (80131506)

If a .NET application exits with the following mes­sage in console:

fixme:advapi:ReportEventW (0xcafe4242,0x0001,0x0000,0x000003ff,(nil),0x0001,0x00000000,0x33b6e8,(nil)): stub
err:eventlog:ReportEventW L".NET Runtime version 2.0.50727.42 - Fatal Execution Engine Error (7A05E2B3) (80131506)"
fixme:advapi:DeregisterEventSource (0xcafe4242) stub

This 'Fatal Execution Engine Error' (80131506) is pretty general and can be caused by many things, for example by bug 10506.­

Unhandled Exception: System.NullReferenceException: Object reference not set to an instance of an object

If you get a crash/backtrace like this in console:

Unhandled Exception: System.NullReferenceException: Object reference not set to an instance of an object.
at System.Resources.ResourceManager.GetSatelliteAssembliesFromConfig()
at System.Resources.ResourceManager.TryLookingForSatellite(CultureInfo lookForCulture)
at System.Resources.ResourceManager.InternalGetResourceSet(CultureInfo culture, Boolean createIfNotExists, Boolean tryParents)
at System.Resources.ResourceManager.GetString(String name, CultureInfo culture)
at System.Environment.ResourceHelper.GetResourceStringCode(Object userDataIn)
at System.Environment.GetResourceFromDefault(String key)
at System.TypeInitializationException..ctor(String fullTypeName, Exception innerException)
at System.Globalization.TextInfo.GetNativeTextInfo(Int32 cultureID)
at System.Globalization.TextInfo.get_InvariantNativeTextInfo()
at System.String.Compare(String strA, Int32 indexA, String strB, Int32 indexB, Int32 length, StringComparison comparisonType)
at System.Security.Util.URLString.PreProcessForExtendedPathRemoval(String url, Boolean isFileUrl)
at System.AppDomainSetup.NormalizePath(String path, Boolean useAppBase)
at System.AppDomainSetup.SetupDefaultApplicationBase(String imageLocation)
at System.AppDomain.SetupFusionStore(AppDomainSetup info)
at System.AppDomain.SetupDomain(Boolean allowRedirects, String path, String configFile)
wine: Unhandled page fault on read access to 0x00000000 at address 0x2de297f (thread 0019), starting debugger...

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.

ngen.exe hangs while compiling a particular assembly (out of file descriptors)

­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:­

$ su­
# ulimit -n 4096
­# su your_username
­$ wine your_installer­­