What version of the .NET Framework is included in what version of the OS? - Zilog80 - Sep 1, 2016
The ultimate guide for 'C# vs. C/C++ flame threads'
Quote:Over the past few months, I’ve received several variations on this question for other operating systems and all of the released versions of the .NET Framework. When the .NET Framework is installed as a part of the OS, it does not appear in the Programs and Features (or Add/Remove Programs) control panel. The following is a complete list of which version of the .NET Framework is included in which version of the OS:
- Windows XP Media Center Edition (Windows XP SP1) includes the .NET Framework 1.0 + SP2 as an OS component
- Windows XP Media Center Edition (Windows XP SP2 and higher) includes the .NET Framework 1.0 + SP3 as an OS component. On Windows XP Media Center Edition, the only way to get the .NET Framework 1.0 SP3 is to install Windows XP SP2 or higher. There is not a standalone 1.0 SP3 installer for this edition of Windows XP.
- Windows XP Tablet PC Edition (Windows XP SP1) includes the .NET Framework 1.0 + SP2 as an OS component
- Windows XP Tablet PC Edition (Windows XP SP2 and higher) includes the .NET Framework 1.0 + SP3 as an OS component. On Windows XP Tablet PC Edition, the only way to get the .NET Framework 1.0 SP3 is to install Windows XP SP2 or higher. There is not a standalone 1.0 SP3 installer for this edition of Windows XP.
- Windows Server 2003 (all x86 editions) includes the .NET Framework 1.1 as an OS component; 64-bit versions of Windows Server 2003 do not include a version of the .NET Framework as an OS component
- Windows Vista (all editions) includes the .NET Framework 2.0 and 3.0 as OS components 3.0 can be added or removed via the Programs and Fatures control panel.
- Windows Vista SP1 (all editions) includes the .NET Framework 2.0 SP1 and 3.0 SP1 as OS components. 3.0 SP1 can be added or removed via the Programs and Features control panel.
- Windows Server 2008 and Windows Server 2008 SP1 (all editions) includes the .NET Framework 2.0 SP1 and 3.0 SP1 as OS components. The .NET Framework 3.0 SP1 is not installed by default and must be added via the Programs and Features control panel though.
- Windows Server 2008 SP2 (all editions) includes the .NET Framework 2.0 SP2 and 3.0 SP2 as OS components. The .NET Framework 3.0 SP2 is not installed by default and must be added via the Programs and Features control panel though.
- Windows Server 2008 R2 (all editions) includes the .NET Framework 3.5.1 as an OS component. This means you will get the .NET Framework 2.0 SP2, 3.0 SP2 and 3.5 SP1 plus a few post 3.5 SP1 bug fixes. 3.0 SP2 and 3.5 SP1 can be added or removed via the Programs and Features control panel.
- Windows 7 (all editions) includes the .NET Framework 3.5.1 as an OS component. This means you will get the .NET Framework 2.0 SP2, 3.0 SP2 and 3.5 SP1 plus a few post 3.5 SP1 bug fixes. 3.0 SP2 and 3.5 SP1 can be added or removed via the Programs and Features control panel.
- Windows 8 (all editions) includes the .NET Framework 4.5 as an OS component, and it is installed by default. It also includes the .NET Framework 3.5 SP1 as an OS component that is not installed by default. The .NET Framework 3.5 SP1 can be added or removed via the Programs and Features control panel.
- Windows 8.1 (all editions) includes the .NET Framework 4.5.1 as an OS component, and it is installed by default. It also includes the .NET Framework 3.5 SP1 as an OS component that is not installed by default. The .NET Framework 3.5 SP1 can be added or removed via the Programs and Features control panel.
- Windows Server 2012 (all editions) includes the .NET Framework 4.5 as an OS component, and it is installed by default except in the Server Core configuration. It also includes the .NET Framework 3.5 SP1 as an OS component that is not installed by default. The .NET Framework 3.5 SP1 can be added or removed via the Server Manager.
- Windows Server 2012 R2 (all editions) includes the .NET Framework 4.5.1 as an OS component, and it is installed by default except in the Server Core configuration. It also includes the .NET Framework 3.5 SP1 as an OS component that is not installed by default. The .NET Framework 3.5 SP1 can be added or removed via the Server Manager.
- Windows 10 (all editions) includes the .NET Framework 4.6 as an OS component, and it is installed by default. It also includes the .NET Framework 3.5 SP1 as an OS component that is not installed by default. The .NET Framework 3.5 SP1 can be added or removed via the Programs and Features control panel.
- Windows 10 November 2015 Update (all editions) includes the .NET Framework 4.6.1 as an OS component, and it is installed by default. It also includes the .NET Framework 3.5 SP1 as an OS component that is not installed by default. The .NET Framework 3.5 SP1 can be added or removed via the Programs and Features control panel.
Note – for the .NET Framework 2.0, 3.0 and 3.5, you can see a graphical view of the above information in this blog post.
In addition, the .NET Framework shipped with the following versions of Windows but not as truly integrated OS components:
- Windows XP Home and Professional SP1 includes the MSI-based .NET Framework 1.0 + SP2 in the Additional Components folder on the installation CD. It is not an OS component on this OS.
- Windows XP Home and Professional SP2 includes the MSI-based .NET Framework 1.1 + SP1 in the Additional Components folder on the installation CD. It is not an OS component on this OS.
- Windows XP Home and Professional SP3 includes the MSI-based .NET Framework 1.1 + SP1 in the Additional Components folder on the installation CD. It is not an OS component on this OS.
- Windows Server 2003 R2 includes the MSI-based .NET Framework 2.0. It appears in Add/Remove Windows Components as an OS component, but selecting it simply invokes the MSI-based installer. The MSI can be repaired and removed using Add/Remove Programs regardless of whether it is installed via the standalone MSI or via the Add/Remove Windows Components UI.
Link: https://blogs.msdn.microsoft.com/astebner/2007/03/14/mailbag-what-version-of-the-net-framework-is-included-in-what-version-of-the-os/
* - Don Genovese - Sep 1, 2016
Pretty nice to let people know about this. Will clear a few things up.
* - Chickendipper - Sep 1, 2016
Beat me to it. It's incredibly mind boggling how many people in HF defend C# malware because "Win XP+ has .NET 2.0".
Just a side note, you actually can link the .NET framework that you use internally. Then, the only requirement is the CLR. It's an interesting concept, the only linker I could find retails for $1300.
* - Corios - Sep 1, 2016
(Sep 1, 2016 03:36 PM)Chickendipper Wrote: Beat me to it. It's incredibly mind boggling how many people in HF defend C# malware because "Win XP+ has .NET 2.0".
Just a side note, you actually can link the .NET framework that you use internally. Then, the only requirement is the CLR. It's an interesting concept, the only linker I could find retails for $1300.
Hmm? Just use CoreCLR: https://github.com/dotnet/coreclr there is a minified version that you could easily pack with whatever.
* - HeavenSleep - Sep 2, 2016
The thing is that with Windows Update come with newest version of the .NET Framework, for exemple, even before Windows 7 SP1, you have .NET 4.
So at this date, it's better to stick with .NET 4 and above as Windows 8, 8.1 and 10 will never have .NET 2.0 until the user install it by himself, and Windows 7 have .NET 4 soon enough with the updates.
Like this you will cover most Windows computer, like shown:
![[Image: aaa7627f3f.png]](https://puu.sh/qXh1b/aaa7627f3f.png)
Source: http://netmarketshare.com/operating-system-market-share.aspx?qprid=10&qpcustomd=0&qpcustomb=
As the number of Windows XP user decreasing over time, the need for .NET 2.0 will disappear.
Here is an other source for OS comparison: http://www.w3schools.com/browsers/browsers_os.asp
* - omghowbig - Sep 2, 2016
Why dont you google about it?
* - Zyklon A - Sep 4, 2016
(Sep 1, 2016 03:36 PM)Chickendipper Wrote: Beat me to it. It's incredibly mind boggling how many people in HF defend C# malware because "Win XP+ has .NET 2.0".
Just a side note, you actually can link the .NET framework that you use internally. Then, the only requirement is the CLR. It's an interesting concept, the only linker I could find retails for $1300.
.NET 2.0 compiled app will work on .NET 2.0, 3.0, 3.5 framework but it wont work on .NET 4.0, 4.5, 4.6 unless you specify <supportedRuntime> element in the application configuration file.
.NET 4.0 compiled app will work on .NET 4.0, 4.5, 4.6 framework but it will not work if the framework version is less then 4.0.
If the assumption is that .NET 2.0, 3.0 and 3.5 apps run on CLRv2.0 and .NET 4.0, 4.5, 4.6 run on CLRv4 and CLRv2.0 app can run on CLRv4. So we compile our app as 2.0 and write a native loader in C/C++ that will do the following.
1. Load and start the .NET runtime. If the latest installed version is 4.0 or greater then use CLRCreateInstance. If the installed version is lower than 4.0 then use CorBindToRuntimeEx.
2. Load a .NET assembly
3. Call the static method (EntryPoint)
This way your .NET 2.0 compiled app will run on all frameworks that are greater or equal to 2.0
|