How To Identify Which .NET Framework Is Installed

Scenario
 
Are you involved in end-to-end solution delivery or do you have the responsibility to ensure successful deployment of your .NET solution on a Server box? If yes, then you need to make sure that the right version of .NET Framework is installed on the deployment server(s). Many times, I have observed that on-premise server(s) or VMs are usually prepared by the client’s IT/Operations or Infrastructure team and they might have assured you that they have installed the correct .NET Framework Version; which the application needs to have for successful execution.
 
How many .NET Versions could there be?
 
Today, almost every .NET application is written on .NET 4.5 or higher version (4.5.1, 4.5.2, 4.6, 4.6.1 or 4.6.2) unless you are dealing with some old .NET applications written on .NET 2.0 or 3.5 or 4.0; today all applications are built using the greatest and latest .NET Framework.
 
Well, good to know that; let’s check
 
As soon as .NET Framework installation comes to mind, one location stands out - C:\Windows\Microsoft.NET\Framework.
 
 
The above image shows that you have .NET Framework 4.0 or maybe a higher version installed.
 
But which .NET 4.x is installed exactly
 
To know which .NET 4.x is installed, we need to do some drilling into Registry.
 
 
Navigate to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4.
 
 
Under the V4 folder, you will see “Client” and “Full” subkey. If “Full” subkey is missing, then there is no .NET 4.5 or higher version is installed.
 
Reading “Full” subkey
 
As shown in the image below, read the “v4\Full” subkey and look at the Release and its value on the right-hand side, as highlighted in the image below.
 
 
The value shown in parentheses ( ) under Data for the Name Release and Type REG_DWORD will resolve to a specific version of the .NET Framework.
 
 
Now, if you map the value 394802 to the table above, then you will come to know that .NET Framework 4.6.2 is installed. Similarly, you can map the shown value as per the table above to identify which .NET Framework is installed on the machine.