public FrameworkInfo() { InitInstallPath(); _v11 = new FrameworkVersionInfo("1.1"); _v20 = new FrameworkVersionInfo("2.0"); _v30 = new FrameworkVersionInfo("3.0"); _v35 = new FrameworkVersionInfo("3.5"); _v40Client = new FrameworkVersionInfo("4.0 client"); _v40Full = new FrameworkVersionInfo("4.0 full"); InitFrameworkVersion(_v11, NET_V11_REG_KEY_NAME); InitFrameworkVersion(_v20, NET_V20_REG_KEY_NAME); InitFrameworkVersion(_v30, NET_V30_REG_KEY_NAME); InitFrameworkVersion(_v35, NET_V35_REG_KEY_NAME); InitFrameworkVersion(_v40Client, NET_V40_CLIENT_REG_KEY_NAME); InitFrameworkVersion(_v40Full, NET_V40_FULL_REG_KEY_NAME); }
private void InitFrameworkVersion(FrameworkVersionInfo framework, String key) { String installed = String.Empty; String version = String.Empty; framework.IsInstalled = false; if (GetRegistryValue(key, NET_INSTALL_REG_VALUE_NAME, RegistryValueKind.DWord, out installed) == true) { if (GetRegistryValue(key, NET_VERSION_REG_VALUE_NAME, RegistryValueKind.String, out version) == true) { framework.IsInstalled = true; framework.Version = version; String sp = String.Empty; if (GetRegistryValue(key, NET_SERVICE_PACK_REG_VALUE_NAME, RegistryValueKind.DWord, out sp) == true) { framework.ServicePack = "Service Pack " + sp; } } } }