I have heard from a few customers since the release of the .NET Framework 4 who have installed the .NET Framework 4 on Windows Vista or higher and setup reported success, but they see an error when running the .NET Framework setup verification tool. I wanted to describe this scenario in a bit more detail, including how to diagnose whether or not your computer is running into this issue based on the setup log files.
How to quickly tell if this blog post might apply to you
Before reading this whole post, here is a quick way you can check whether or not you are likely to be encountering the issue described below:
Symptoms of the problem
In the cases I’ve seen so far, the .NET Framework setup verification tool reported an error like the following when it tried to run a .NET Framework test application that is bundled with it:
****ERROR**** Process 'Netfx40TestApplication.exe' exited with return code -2146232576
This return code translates to 0x800131700, which is a .NET Framework common language runtime (CLR) error code that means “Failed to load the runtime.” In other words, this return code means that this version of the .NET Framework runtime failed to load at all on this computer.
Further investigation on the computers that exhibited this behavior showed that the file mscoree.dll (which is located in %windir%\system32 and/or %windir%\syswow64) had a version number of 2.0.*. This file is shared by all versions of the .NET Framework, and it should always have a version of at least 4.0.* after installing the .NET Framework 4. If this file is not updated to version 4.0.*, the CLR loader will be unable to load the .NET Framework 4, and it will cause the type of failure in the .NET Framework verification tool that I described above.
Read more: Aaron Stebner's WebLog
How to quickly tell if this blog post might apply to you
Before reading this whole post, here is a quick way you can check whether or not you are likely to be encountering the issue described below:
- Your OS was Windows Vista, Windows Server 2008 or Windows 7. This particular issue does not affect Windows XP or Windows Server 2003.
- You installed the .NET Framework 4 and setup reported success, but you cannot use .NET Framework 4 applications on your computer afterwards.
Symptoms of the problem
In the cases I’ve seen so far, the .NET Framework setup verification tool reported an error like the following when it tried to run a .NET Framework test application that is bundled with it:
****ERROR**** Process 'Netfx40TestApplication.exe' exited with return code -2146232576
This return code translates to 0x800131700, which is a .NET Framework common language runtime (CLR) error code that means “Failed to load the runtime.” In other words, this return code means that this version of the .NET Framework runtime failed to load at all on this computer.
Further investigation on the computers that exhibited this behavior showed that the file mscoree.dll (which is located in %windir%\system32 and/or %windir%\syswow64) had a version number of 2.0.*. This file is shared by all versions of the .NET Framework, and it should always have a version of at least 4.0.* after installing the .NET Framework 4. If this file is not updated to version 4.0.*, the CLR loader will be unable to load the .NET Framework 4, and it will cause the type of failure in the .NET Framework verification tool that I described above.
Read more: Aaron Stebner's WebLog