No it's not that complicated
VB.Net Code:
  1. Dim installed_versions As Microsoft.Win32.RegistryKey = Microsoft.Win32.Registry.LocalMachine.OpenSubKey("SOFTWARE\Microsoft\NET Framework Setup\NDP")
  2. Dim version_names As String() = installed_versions.GetSubKeyNames()
  3. 'now you have them in array 'version_names' and you can do what you wanna...
  4. 'to get them in string...
  5. Dim NETversions As String = String.Join(" ; ", version_names)
  6.  
  7. 'NETversions string on my comp is "v1.1.4322 ; v2.0.50727 ; v3.0 ; v3.5"

Ahh, and for net 1 is diferent reg key... search it on google if you need net 1