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: 3.0-rc6

Maintainers: About Maintainership

Free Download Microsoft .NET Framework 4 (Standalone Installer) (48.1 MB)Direct download Free Download Microsoft .NET Framework 4 (Web Installer) (868 KB) Free Download Microsoft .NET Framework 4 (Standalone Installer)

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

  • Program seems to install properly.
  • .NET Framework Setup Verification Tool:
    • .NET Framework 4 Client: succeeded.
    • .NET Framework 4 Full: succeeded.
  • Paint.NET 3.5.11, that depends on .NET Framework 4.0, works fine.

What does not

If, during setup, reported version is higher than Windows 2003, the "mscoree.dll" file will not be copied to system32 (systemwow64 if using 64bits prefix), and .NET applications will not work.

Workarounds

You must set reported version to Windows XP before starting setup to get "mscoree.dll" file installed and allow applications to run. Reported version can be changed after finishing .NET's setup.


What was not tested

  • Silent setup.

Hardware tested

Graphics:

  • GPU: AMD
  • Driver: open source

Additional Comments

selected in Test Results table below
Operating systemTest dateWine versionInstalls?Runs?Used
Workaround?
RatingSubmitter
CurrentKDE neonJan 17 20183.0-rc6Yes Yes YesGoldInvictus Tiberius 
ShowFedora 24 x86_64Apr 16 20172.2-stagingYes Yes GoldLuc Absil 
ShowUbuntu 16.04 "Xenial" amd64 (+ variants like Kubuntu)Sep 28 20161.9.19Yes Yes Goldan anonymous user 
ShowMac OS X 10.10 "Yosemite"Aug 17 20151.7.47Yes Yes Goldan anonymous user 
ShowUbuntu 14.04 "Trusty" i386 (+ variants like Kubuntu)Dec 07 20141.7.31No, but has workaround Yes Bronzean 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 need reparse point/junction API support, i.e. DeviceIoCtl(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\" registry subkey) 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
33506 Microsoft Expression Design 4 (Free Version) crashes when quickly populating main menu items (dropdown sub-menu drawing) NEW 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
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) NEW View
44562 .NET 4.x - rundll32.exe - Error messages when running any application UNCONFIRMED View

Show all bugs

HowTo / Notes

Installation (easy way through winetricks)

Last update: 2018-06-30


You need to install winetricks first (see more details here):

$ wget  'https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks'
$ chmod +x ~/winetricks

It is recommended to use a new Wine prefix (but not necessary, depending on your applications). "$HOME/winedotnet40" is the path for the prefix on which .NET will be installed; you can change it to whatever you want:

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

Then you can install .NET Framework (and optionally install corefonts):

$ env WINEPREFIX=$HOME/winedotnet40 ~/winetricks dotnet40 corefonts

To perform instead a silent (no GUI) installation:

$ env WINEPREFIX=$HOME/winedotnet40 ~/winetricks --unattended dotnet40 corefonts

Use dotnet40 to install .NET Framework 4.0. If you want to install another version of 4.x series, change it for 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

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

$ env WINEPREFIX=$HOME/winedotnet452 ~/winetricks --unattended dotnet452 corefonts
Mono uninstallation

Mono (free alternative .NET Implementation) and Microsoft .NET Framework don't mix well in same WINEPREFIX.

If you intend to manually install .NET Frameworks make sure you removed any previous install of 'MONO' package from WINEPREFIX before.

$ wine uninstaller --remove '{E45D8920-A758-4088-B6C6-31DBB276992E}'

­

You don't need this step if you use 'winetricks' to install Microsoft .NET Frameworks.

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 WINEPREFIX changed due to Wine update):

$ 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)

To verify .NET Framework installation(s) in WINEPREFIX you can use the .NET Framework Setup Verification Tool from Aaron Stebner (Microsoft) which checks for proper installation of .NET assemblies and registry entries.

Website and download here­

Select the .NET Framework you want to verify and evaluate the log file manually if verification failed.

Same or higher version of .NET Framework 4 has already been installed on this computer.

This happens if you run 'winetricks' recipe on existing/created 64-bit WINEPREFIX.

Winetricks and 64-bit WINEPREFIXes are not supported.

You have to create a pure 32-bit WINEPREFIX through WINEARCH=win32 environment variable before running winetricks script!

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

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"
­
/home/yourlogin/.wine is not owned by you / (Permission denied)

Never run wine as root (su, sudo)! Wine doesn't require to be run as root!

You will screw your WINEPREFIX and possibly other things up. If you have run Wine as root you need to:

$ sudo rm -rf ~/.wine­­

and then run winecfg to set Wine folder structure back up. If you used winetricks script as root you might also need to:

$ sudo rm -rf ~/.cache/winetricks/
­

Again: Just run wine as regular user and all should be fine.

Comments

Back