.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
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:
Additional Comments
Used winetricks to install gecko, windowscodecs, ie7 msxml3 to meet .NET Framework 4.0 requirements.
Operating system | Test date | Wine version | Installs? | Runs? | Used Workaround? | Rating | Submitter | ||
Show | EndeavourOS | May 05 2024 | 9.7-staging | Yes | Yes | Yes | Gold | ben | |
Show | Ubuntu 18.04 "Bionic" amd64 (+variants like Kubuntu) | Jun 03 2019 | 4.9 | No | Not installable | Yes | Garbage | Aaron Franke | |
Show | KDE neon | Jan 17 2018 | 3.0-rc6 | Yes | Yes | Yes | Gold | Aet456 | |
Show | Fedora 24 x86_64 | Apr 16 2017 | 2.2-staging | Yes | Yes | No | Gold | Luc Absil | |
Show | Ubuntu 16.04 "Xenial" amd64 (+ variants like Kubuntu) | Sep 28 2016 | 1.9.19 | Yes | Yes | No | Gold | an anonymous user |
Bug # | Description | Status | Resolution | Other apps affected |
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 |
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 | |
15670 | .NET applications that make use of System.IO.IsolatedStorage crash (missing "HKLM\Software\Microsoft\Windows NT\CurrentVersion\ProfileList\ |
CLOSED | FIXED | View |
18640 | .NET Framework 3.x/4.x WPF Media Integration Layer requires IDirect3D9ExImpl_GetAdapterDisplayModeEx implementation | CLOSED | FIXED | View |
20128 | MS .Net Framework 4.0 installer needs native msxml3 | CLOSED | FIXED | View |
20220 | Missing windowscodecs.dll.WICCreateImagingFactory_Proxy causes failure for many .NET 3.x/4.x (WPF) based installers/apps | 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 |
25197 | Installation hangs after accept .NET 4 EULA (Standalone Installer) | CLOSED | FIXED | View |
25535 | .NET Framework 4.0 Fails to install with HRESULT 0x80070643 | CLOSED | FIXED | View |
26924 | Calling UpdateLayeredWindowIndirect in multi-threaded apps might lead to freezes (Beta League of Legends Patcher, Tunatic, .NET 3.x/4.x WPF apps) | CLOSED | FIXED | View |
27991 | LsaLookupNames2 separate allocations break .NET 4.0 System.Security subsystem and leak returned buffer data | CLOSED | FIXED | View |
28484 | .NET Framework 4.0: Crash after extracting files - unimplemented wer.WerReportAddDump | CLOSED | FIXED | View |
29666 | TurboTax 2011 fails to install (.NET 4.0 Framework verification fails) | CLOSED | FIXED | View |
29676 | .NET 4.0 runtime fails to initialize MediaSystem subsystem due to rpcrt4.dll RpcMgmtIsServerListening being a stub | CLOSED | FIXED | View |
30076 | .NET Framework 4.x with WinVer setting "Windows 7" spams terminal with "LocaleNameToLCID/LCIDToLocaleName unsupported flags 8000000" (LOCALE_ALLOW_NEUTRAL_NAMES) | 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 |
30572 | Multiple applications need vectored continue handler support (.NET 3.x/4.x/Silverlight, Lync from Office 2013) | CLOSED | FIXED | View |
30635 | .NET 3.x/4.x WPF based installers/apps require windowscodecs.dll.IWICStream_InitializeFromMemory_Proxy | CLOSED | FIXED | View |
30758 | .NET 4.0 installer/CLR native ngen.exe runs into "unimplemented function fusion.dll.InitializeFusion, aborting" (Wine builtin fusion override during .NET 4 install) | CLOSED | FIXED | View |
31056 | .NET Framework 3.x/4.x WPF Media Integration Layer deadlocks between ui and render thread when calling SetPixelFormat | CLOSED | FIXED | View |
31293 | Multiple .NET apps need GdipPrivateAddFontFile (MTGO v3 launcher, Harmony Practice 3) | CLOSED | FIXED | View |
31440 | .NET Framework 4.0 installer fails with error code: (0x80070643) | CLOSED | WORKSFORME | 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 | |
32471 | Multiple .NET 4.0 apps using WPF4 fail with "X Error of failed request: GLXBadDrawable" on glxdrv_wglMakeCurrent (Evolve client, JMP 10.0) | CLOSED | FIXED | View |
32654 | Visual Studio 2010 needs windowscodecs WICSetEncoderFormat_Proxy | CLOSED | FIXED | View |
32758 | .NET 3.5 and 4.x apps using Microsoft Enhanced RSA and AES Cryptographic Provider with default WinVer = Windows XP report "PlatformNotSupportedException" (TurboTax 2012, Adicom PNV, GOG.com downloader) | CLOSED | FIXED | View |
32830 | TurboTax 2012 wants dwmapi.dll.DwmAttachMilContent (Vista/Win7 mode) | CLOSED | FIXED | View |
32847 | Microsoft Expression Design 4 (Free Version) installer needs windowscodecs IcoFrameDecode_GetThumbnail impl | CLOSED | FIXED | View |
33392 | .NET Framework 4.0 installer misreports disk space if not enough disk space available 'Drive C: Required - 64u MB, Available - 64u MB' ('FormatMessageA/W' needs to support I64) | CLOSED | FIXED | View |
33506 | Microsoft Expression Design 4 (Free Version) crashes when quickly populating main menu items (dropdown sub-menu drawing) | CLOSED | FIXED | View |
33572 | Windows Download Integrator 3.x needs IWbemServices::ExecNotificationQueryAsync | CLOSED | FIXED | View |
34399 | .NET 3.x/4.x WPF based installers/apps require windowscodecs.dll ComponentFactory_CreateBitmapFromHBITMAP implementation | CLOSED | FIXED | 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 | |
38062 | .NET 2.0/3.x/4.x applications and games using System.Net.NetworkInformation NetworkAddressChangedEventHandler crash on startup | CLOSED | FIXED | View |
38387 | Multiple .NET 4.x WPF applications abort with 'Unrecoverable system error' in Win7 mode (dwrite font family resolution must be case-insensitive) | CLOSED | FIXED | 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 | |
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) | CLOSED | FIXED | View |
44562 | .NET 4.x - rundll32.exe - Error messages when running any application or starting wine after update | CLOSED | INVALID | View |
45537 | Microsoft .NET Framework 4.x installation fails with Wine 3.13 in 64-bit WINEPREFIX | CLOSED | FIXED | View |
47949 | .NET 4.x and later do not run on MacOS with 64 bit prefix | NEEDINFO | 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-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).
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.
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):
$ 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
$ 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
$ 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
$ 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
$ 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
$ 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
$ 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
$ 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
$ 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
$ 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
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.
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.
URL_ParseUrl FIXME messages on console when running/installin�g .NET apps are harmless and can be safely ignored. Example console output:
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
The following comments are owned by whoever posted them. WineHQ is not responsible for what they say.
by fabrizio on Wednesday April 12th 2023, 14:01
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
by fabrizio on Wednesday April 12th 2023, 14:06