如何确认计算机的.net版本,如何:确定计算机安装了哪些 .NET Framework 版本[转]...

using System;

using Microsoft.Win32;

namespace ConsoleApplication1

{

class Program

{

static void Main(string[] args)

{

GetVersionFromRegistry();

Console.ReadKey();

}

static void GetVersionFromRegistry()

{

// Opens the registry key for the .NET Framework entry.

using (RegistryKey ndpKey =

RegistryKey.OpenRemoteBaseKey(RegistryHive.LocalMachine, "").

OpenSubKey(@"SOFTWARE\Microsoft\NET Framework Setup\NDP\"))

{

// As an alternative, if you know the computers you will query are running .NET Framework 4.5

// or later, you can use:

// using (RegistryKey ndpKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine,

// RegistryView.Registry32).OpenSubKey(@"SOFTWARE\Microsoft\NET Framework Setup\NDP\"))

foreach (string versionKeyName in ndpKey.GetSubKeyNames())

{

if (versionKeyName.StartsWith("v"))

{

RegistryKey versionKey = ndpKey.OpenSubKey(versionKeyName);

string name = (string)versionKey.GetValue("Version", "");

string sp = versionKey.GetValue("SP", "").ToString();

string install = versionKey.GetValue("Install", "").ToString();

if (install == "") //no install info, must be later.

Console.WriteLine(versionKeyName + "  " + name);

else

{

if (sp != "" && install == "1")

{

Console.WriteLine(versionKeyName + "  " + name + "  SP" + sp);

}

}

if (name != "")

{

continue;

}

foreach (string subKeyName in versionKey.GetSubKeyNames())

{

RegistryKey subKey = versionKey.OpenSubKey(subKeyName);

name = (string)subKey.GetValue("Version", "");

if (name != "")

sp = subKey.GetValue("SP", "").ToString();

install = subKey.GetValue("Install", "").ToString();

if (install == "") //no install info, must be later.

Console.WriteLine(versionKeyName + "  " + name);

else

{

if (sp != "" && install == "1")

{

Console.WriteLine("  " + subKeyName + "  " + name + "  SP" + sp);

}

else if (install == "1")

{

Console.WriteLine("  " + subKeyName + "  " + name);

}

}

}

}

}

}

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值