What is the best registry path to detect .NET versions? I want to detect version 2.0 and 4.0.
Many people suggest many path like:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319
HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework\policy\v4.0
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4.0
Which one is the best?
I have the following frameworks installed:
.NET 2.0 SP 2
.NET 3.0 SP 2
.NET 3.5 SP 1
.NET 4.5
.NET 4.5.1
but HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP
does not have v4.5
or v4.5.1
key in it. HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework\policy
does not have 3.5
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework
has two keys for v4.5: v4.5
and v4.5.50709
keys. So, which one to use to detect 4.5?
I am very confused.
From the MSDN How to: Determine Which .NET Framework Versions Are Installed:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full
, and check the Release
DWORD for specific versions