WineHQ

.NET Framework

.NET Framework 4.0, released on 2011-02-21.

Application Details:

Version: 4.0
License: Free to use
URL: http://msdn.microsoft.com/netf...
Votes: 6
Latest Rating: Gold
Latest Wine Version Tested: 9.7-staging

Maintainers: About Maintainership

Free Download Offline installer (48.1 MB)

Test Results

Old test results
The test results you have selected are very old and may not represent the current state of Wine.
Selected Test Results

What works

Installer will start and verify files.

What does not

Installation fails with HRESULT 0x80070643 on first attempt Second attempt at installation results: Error parsing c:\windows\Microsoft.NET\Framework\v4.0.30319\config\maching.config Parser returned error 0x80004005

Workarounds

What was not tested

Will not install, no further testing possible.

Hardware tested

Graphics:

  • GPU:
  • Driver:

Additional Comments

Used winetricks to install gecko, windowscodecs, ie7 msxml3 to meet .NET Framework 4.0 requirements.

selected in Test Results table below
Operating systemTest dateWine versionInstalls?Runs?Used
Workaround?
RatingSubmitter
ShowEndeavourOSMay 05 20249.7-stagingYes Yes YesGoldben 
ShowUbuntu 18.04 "Bionic" amd64 (+variants like Kubuntu)Jun 03 20194.9No Not installable YesGarbageAaron Franke 
ShowKDE neonJan 17 20183.0-rc6Yes Yes YesGoldAet456 
ShowFedora 24 x86_64Apr 16 20172.2-stagingYes Yes NoGoldLuc Absil 
ShowUbuntu 16.04 "Xenial" amd64 (+ variants like Kubuntu)Sep 28 20161.9.19Yes Yes NoGoldan anonymous user 

Known Bugs

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 on NTFS filesystems need reparse point/junction API support (FSCTL_SET_REPARSE_POINT/FSCTL_GET_REPARSE_POINT) STAGED View
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
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
40427 Windows Update Standalone Installer 'Wusa.exe' does not support Vista+ 'MSDelta' compression 'msdelta.dll' (Windows Media Feature Pack, .NET Framework 4.x web installers) NEW View
47949 .NET 4.x and later do not run on MacOS with 64 bit prefix NEEDINFO View

Show all bugs

HowTo / Notes

Get winetricks!

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
Automated installation through winetricks

Last update: 2020-08-24


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 --force dotnet40 corefonts

Use dotnet40 to install .NET Framework 4.0. To install another version of 4.x series, change it to 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
dotnet471  to install .NET Framework 4.7.1
dotnet472  to install .NET Framework 4.7.2
dotnet48   to install .NET Framework 4.8

... And so on. For example, to install .NET Framework 4.5.2:

$ env WINEPREFIX=$HOME/winedotnet winetricks --force dotnet452 corefonts

If this doesn't work or you need to install a version not supported by winetricks, try a manual installation (explained below).

Manual installation (Step 1)

Start with a new Wine prefix:

$ env WINEPREFIX=$HOME/winedotnet wineboot --init

Try to install .NET 4.0 through winetricks:

$ env WINEPREFIX=$HOME/winedotnet winetricks --force dotnet40 corefonts

If it success and you need to install a higher 4.x version, go to Manual Installation (Step 2). If it doesn't work (very unlikely) keep reading.


Uninstall wine-mono from your Wine prefix:

$ env WINEPREFIX=$HOME/winedotnet wine uninstaller --remove '{E45D8920-A758-4088-B6C6-31DBB276992E}'

Change reported version to Windows XP, then download and install .NET 4.0:

$ env WINEPREFIX=$HOME/winedotnet winetricks winxp
$ wget 'http://download.microsoft.com/download/9/5/A/95A9616B-7A37-4AF6-BC36-D6EA96C8DAAE/dotNetFx40_Full_x86_x64.exe'
$ env WINEPREFIX=$HOME/winedotnet wine ~/dotNetFx40_Full_x86_x64.exe

Open winecfg dialog:

$ env WINEPREFIX=$HOME/winedotnet winecfg

Go to "Libraries" tab, add a new library substitution called "mscoree" and set it to "Native (Windows)". Close the dialog by clicking OK.

Manual installation (Step 2)

Change reported version to Windows 7:

$ env WINEPREFIX=$HOME/winedotnet winetricks win7

Download and run the installer for the desired version of .NET (install only the highest version you need):

  • .NET Framework 4.5:
    $ wget 'http://download.microsoft.com/download/b/a/4/ba4a7e71-2906-4b2d-a0e1-80cf16844f5f/dotnetfx45_full_x86_x64.exe'
    $ env WINEPREFIX=$HOME/winedotnet wine ~/dotnetfx45_full_x86_x64.exe /q
  • .NET Framework 4.5.1:
    $ wget 'https://download.microsoft.com/download/1/6/7/167F0D79-9317-48AE-AEDB-17120579F8E2/NDP451-KB2858728-x86-x64-AllOS-ENU.exe'
    $ env WINEPREFIX=$HOME/winedotnet wine ~/NDP451-KB2858728-x86-x64-AllOS-ENU.exe /q
  • .NET Framework 4.5.2:
    $ wget 'http://download.microsoft.com/download/E/2/1/E21644B5-2DF2-47C2-91BD-63C560427900/NDP452-KB2901907-x86-x64-AllOS-ENU.exe'
    $ env WINEPREFIX=$HOME/winedotnet wine ~/NDP452-KB2901907-x86-x64-AllOS-ENU.exe /q
  • .NET Framework 4.6:
    $ wget 'https://download.microsoft.com/download/C/3/A/C3A5200B-D33C-47E9-9D70-2F7C65DAAD94/NDP46-KB3045557-x86-x64-AllOS-ENU.exe'
    $ env WINEPREFIX=$HOME/winedotnet wine ~/NDP46-KB3045557-x86-x64-AllOS-ENU.exe /q
  • .NET Framework 4.6.1:
    $ wget 'https://download.microsoft.com/download/E/4/1/E4173890-A24A-4936-9FC9-AF930FE3FA40/NDP461-KB3102436-x86-x64-AllOS-ENU.exe'
    $ env WINEPREFIX=$HOME/winedotnet wine ~/NDP461-KB3102436-x86-x64-AllOS-ENU.exe /q
  • .NET Framework 4.6.2:
    $ wget 'https://download.microsoft.com/download/F/9/4/F942F07D-F26F-4F30-B4E3-EBD54FABA377/NDP462-KB3151800-x86-x64-AllOS-ENU.exe'
    $ env WINEPREFIX=$HOME/winedotnet wine ~/NDP462-KB3151800-x86-x64-AllOS-ENU.exe /q
  • .NET Framework 4.7:
    $ wget 'https://download.microsoft.com/download/D/D/3/DD35CC25-6E9C-484B-A746-C5BE0C923290/NDP47-KB3186497-x86-x64-AllOS-ENU.exe'
    $ env WINEPREFIX=$HOME/winedotnet wine ~/NDP47-KB3186497-x86-x64-AllOS-ENU.exe /q
  • .NET Framework 4.7.1:
    $ wget 'https://download.microsoft.com/download/9/E/6/9E63300C-0941-4B45-A0EC-0008F96DD480/NDP471-KB4033342-x86-x64-AllOS-ENU.exe'
    $ env WINEPREFIX=$HOME/winedotnet wine ~/NDP471-KB4033342-x86-x64-AllOS-ENU.exe /q
  • .NET Framework 4.7.2:
    $ wget 'https://download.microsoft.com/download/6/E/4/6E48E8AB-DC00-419E-9704-06DD46E5F81D/NDP472-KB4054530-x86-x64-AllOS-ENU.exe'
    $ env WINEPREFIX=$HOME/winedotnet wine ~/NDP472-KB4054530-x86-x64-AllOS-ENU.exe /q
  • .NET Framework 4.8:
    $ wget 'https://download.visualstudio.microsoft.com/download/pr/7afca223-55d2-470a-8edc-6a1739ae3252/abd170b4b0ec15ad0222a809b761a036/ndp48-x86-x64-allos-enu.exe'
    $ env WINEPREFIX=$HOME/winedotnet wine ~/ndp48-x86-x64-allos-enu.exe /q


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\\v4.0.30319\\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 'https://web.archive.org/web/20200729095123/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.

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"


The application requested process termination through System.Environment.FailFast

If a .NET application exits with the following message in console:

err:eventlog:ReportEventW ...
Description: The application requested process termination through System.Environment.FailFast(string message).\n
Message: Unrecoverable system error.\n
Stack:\n
at System.Environment.FailFast(System.String)\n
at MS.Internal.Invariant.FailFast...

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!

System.Window.Markup.XmlParseException when starting .NET apps

If a .NET application exits with the following message in console:

err:secur32:SECUR32_initSchannelSP TLS library not found, SSL connections will fail
err:winediag:SECUR32_initNTLMSP ntlm_auth was not found or is outdated. Make sure that ntlm_auth >= 3.0.25 is in your path. Usually, you can find it in the winbind package of your distribution.
fixme:rpc:RpcBindingSetAuthInfoExW unsupported AuthnSvc 10

You are missing the samba/winbind component which is essential for certain Wine functionality.

Please install winbind with your distribution package manager!

To run this application, you first must install one of the following versions of the .NET Framework: .NETFramework,Version=v4.0

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

Comments

The following comments are owned by whoever posted them. WineHQ is not responsible for what they say.

dotnet40 (.NET Framework 4.0)
by fabrizio on Wednesday April 12th 2023, 14:01
You can try using the following command to install .NET Framework 4.0 on Ubuntu: ``` sudo apt-get install -y winetricks winetricks dotnet40 ``` Make sure you have Wine installed on your system before running these commands.

if there is an Error code: `0x8001011d` usually indicates a communication failure between Wine and the .NET Framework installer. You can try the following workaround to fix the error: 1. Open a terminal window. 2. Run the following command to delete the existing Wine prefix: ``` rm -rf ~/.wine ``` 3. Run the following command to create a new Wine prefix: ``` WINEARCH=win32 WINEPREFIX=~/.wine winecfg ``` 4. In the Wine configuration window, go to the "Applications" tab, and select "Windows 7" or a later

then type: env WINEARCH=win32 WINEPREFIX=~/.wine32 winetricks dotnet40
RE: dotnet40 (.NET Framework 4.0)
by fabrizio on Wednesday April 12th 2023, 14:06
this was used with lubuntu 20.04 and wine 5.0
Back