Walker News

WinFX Is Not Really .Net Framework 3

It’s said that all Windows Vista editions install .Net Framework 3.0 (formerly WinFX) by default. Though, you might be confused with the reported version number of .Net Framework 3.0.

For example, the User Agent String reports version number of both .Net Framework 2.0 and .Net Framework 3.0 in my Windows Vista Ultimate.

Windows Vista Ultimate IE7 User Agent String reports version number of both .Net Framework 2.0 and .Net Framework 3.0
Internet Explorer 7 User Agent String detect both .Net Framework 2.0 and 3.0 version.

However, the Environment.Version property of System Namespace only detects .Net Framework 2.0 version 2.0.50727.312 installed in the Vista Ultimate PC.

You need to write a simple .Net program to retrieve the Environment.Version property and have the .Net Framework SDK installed to compile the source code. The .Net Framework SDK includes all the Microsoft supported .Net language compilers, such as C#, C++.Net, VB.Net, J#.NET, etc.

So, how do you detect or verify .Net Framework 3.0 (WinFX) is installed on a computer?

In fact, both methods and those in previous posts are valid ways to verify .Net Framework version. However, IE User Agent String value is more straightforward to confirm that the WinFX is installed (provided the Windows Registry key hasn’t been modified by purpose or by accident).

Then, why the System.Environment.Version property doesn’t detect .Net Framework 3.0 (WinFX)?

According to MSDN article, .Net Framework 3.0 (WinFX) is a super set of the .NET Framework 2.0! Literally, .Net Framework 3.0 can be considered as an “additive” release rather than a generational release to the .NET Framework 2.0.

In conjunction of Windows Vista and Windows Server 2008 (Longhorn) release, Microsoft temporarily introduces additional 4 programming models to .Net Framework 2.0 for building applications with better visual compelling user interface, seamless communication across technology boundaries, and support for a wide range of business processes.

Essentially, WinFX is still using the same set of .NET Framework 2.0 core classes (common language runtime or CLR) and base class libraries (BCL). All the new classes introduces are part of the System Namespace, which are categorized as Windows Presentation Foundation (WPF), Windows Communication Foundation (WCF), Windows Workflow Foundation (WF) and Windows CardSpace.

.Net Framework 3.0 or WinFX is merely introduces 4 new components to .Net Framework 2.0, namely Windows Presentation Foundation (WPF), Windows Communication Foundation (WCF), Windows Workflow Foundation (WF) and Windows CardSpace.

As such, installing .NET Framework 3.0 on Windows XP and Windows Server 2003 merely top up any .NET Framework 2.0 components that are not currently installed, e.g. the library files of Windows Presentation Foundation (WPF), Windows Workflow Foundation (WF), Windows Communication Foundation (WCF), and Windows CardSpace.
.NET Framework 2.0 components are installed in
%windir%\Microsoft.NET\Framework\V2.0.50727

.NET Framework 3.0 components are installed in
%windir%\Microsoft.NET\Framework\V3.0

.NET Framework 3.0 reference assemblies are installed in
%programfiles%\Reference Assemblies\Microsoft\Framework\v3.0

Similarly, uninstalling .NET Framework 3.0 will not remove the components shared with .NET Framework 2.0. In order to fully uninstall all .Net Framework components, the .NET Framework 3.0 must be uninstalled before uninstall .NET Framework 2.0!

Custom Search

  1. Walker 31-07-07@14:47

    Accidentally left out another MSDN article on .Net Framework 3.0 FAQ

2014  •  Privacy Policy