检测计算机已经安装的NetFramework版本(摘录)

   

 1         ///
 2         /// 检测计算机已经安装的NetFramework版本
 3       ///
 4         internal void GetVersionFromRegistry()
 5         {
 6             using (RegistryKey ndpKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine,
 7                 RegistryView.Registry32).OpenSubKey(@"SOFTWARE\Microsoft\NET Framework Setup\NDP\"))
 8             {
 9                 foreach (string versionKeyName in ndpKey.GetSubKeyNames())
10                 {
11                     if (versionKeyName.StartsWith("v"))
12                     {
13                         RegistryKey versionKey = ndpKey.OpenSubKey(versionKeyName);
14                         string name = (string)versionKey.GetValue("Version", "");
15                         string sp = versionKey.GetValue("SP", "").ToString();
16                         string install = versionKey.GetValue("Install", "").ToString();
17                         if (install == "") //no install info, ust be later
18                             Console.WriteLine(versionKeyName + "  " + name);
19                         else
20                         {
21                             if (sp != "" && install == "1")
22                             {
23                                 Console.WriteLine(versionKeyName + "  " + name + "  SP" + sp);
24                             }
25                         }
26                         if (name != "")
27                         {
28                             continue;
29                         }
30                         foreach (string subKeyName in versionKey.GetSubKeyNames())
31                         {
32                             RegistryKey subKey = versionKey.OpenSubKey(subKeyName);
33                             name = (string)subKey.GetValue("Version", "");
34                             if (name != "")
35                                 sp = subKey.GetValue("SP", "").ToString();
36                             install = subKey.GetValue("Install", "").ToString();
37                             if (install == "") //no install info, ust be later
38                                 Console.WriteLine(versionKeyName + "  " + name);
39                             else
40                             {
41                                 if (sp != "" && install == "1")
42                                 {
43                                     Console.WriteLine("  " + subKeyName + "  " + name + "  SP" + sp);
44                                 }
45                                 else if (install == "1")
46                                 {
47                                     Console.WriteLine("  " + subKeyName + "  " + name);
48                                 }
49                             }
50                         }
51                     }
52                 }
53             }
54         }
时间: 2024-11-11 18:25:10

检测计算机已经安装的NetFramework版本(摘录)的相关文章

VC 检测计算机是否安装有摄像头

#include <windows.h> #include <stdio.h> #include <iostream.h> #include "vfw.h" #pragma comment( lib, "vfw32.lib" ) void main() { char strDeviceVersion[80]; //设备版本信息 char strDeviceAndVersion[160]; //设备名和版本信息 int nIndex

C#项目”XXXXX”针对的是”.NETFramework,Version=v4.7.1”但此计算机没有安装它 等等问题

我在公司遇到这样一个问题:C#项目"XXXXX"针对的是".NETFramework,Version=v4.7.1"但此计算机没有安装它 就是我在打开别人的项目,发现别人的项目.Net Framework的版本 高于我电脑的版本(准确的说是"高于我开发环境.Net Framework的版本"). 可以选择降低版本(选第一个): 不推荐,a: 因为别人版本高,你的版本低,不同步,万一你们代码合并呢?svn呢,git呢? 不推荐,b:我还不如更新自己

报错:此版本的SQL Server Data Tools与此计算机中安装的数据库运行时组件不兼容

在Visual Studio 2012中使用Entity Framework,根据模型生成数据库时,报如下错误: 无法在自定义编辑器中打开Transact-SQL文件此版本的SQL Server Data Tools与此计算机中安装的数据库运行时组件不兼容 解决办法:下载"Server Data Tools for Visual Studio 2012" ,并安装,重新启动Visual Studio 2012.

检测浏览器是否安装了flash及其版本

检测浏览器是否安装了flash及其版本 下面是几个需要注意的点. 1.获取所有元素 IE: document.all FireFox: document.getElementsByTagName(*) 2.检测插件是否安装(flash) IE: var swf=new ActiveXObject('ShockwaveFlash.ShockwaveFlash') Firefox: //navigator的首字母必须是小写,大写是不正确的 var swf=navigator.plugins["Sho

有些Windows7环境不能成功通过检测 如何成功安装Oracle数据库

有些Windows7环境不能成功通过检测 如何成功安装Oracle数据库 转载 随着微软新一代操作系统 Windows7 的正式发行,使用 Windows7  的朋友也越来越多,很多人在 Windows7 环境下安装 Oracle 或多或少遇到了一些问题,有的甚至发出“Windows7无法安装Oracle”的感慨.今天笔者结合图文和大家分享一下在Windows7环境下如何成功安装Oracle数据库. 笔者研究发现:在Windows7下不能成功安装Oracle,究其原因无非是因为通过不了Oracl

vs.net打包(自动检测环境并安装.net framwork)

vs.net打包程序或者制作安装程序时自动检测环境并安装.net framwork的设置方法之前我看过文档也做过,但是过一段时间又忘了,现在终于又找到方法了,还是把这个方法写下来吧,方便自己也方便大家将来查询用. vs.net打包或者制作安装程序时进行自动检测环境并安装.net framwork的设置方法: 1. 新建一个“安装和部署”的项目: 2. 然后点击“视图”菜单,选择“编辑器”--“文件系统”,然后将要打包的程序以及相关文件添加进来,之后程序将自动检测依赖项: 3. 再次选择“视图”菜

网络检测工具smokeping安装配置

smokeping是MRTG和RRDtool作者Tobi Oetiker的作品,主要用于对IDC网络质量,稳定性等做检测,主要功能包括常规的ping,dig,echoping,curl等,依赖rrdtool来画图.选择smokeping我觉得有以下原因: 1,最佳的画图功能,延迟和丢包用颜色和阴影表示很直观. 2,免费和开源. 3,支持主从的分布式模式. 4,可以自定义报警功能. smokeping官方网站:http://oss.oetiker.ch/smokeping/ 如下安装配置的系统为:

ORACLE RAC 11.2.0.4 CentOS release 6.9 静默安装1.0版本

RAC11.2.0.4静默安装 1.0版本,20180613 #本文档IP地址使用X隐藏,个人可按照自己的当前环境IP进行适当修改 1. 清除原环境中的单实例软件 #清除原环境: 删除/etc/ora* 删除 /usr/local/bin/oraenv 删除 /usr/local/bin/dbhome 删除 /usr/local/bin/coraenv 删除 $ORACLE_BASE/* 删除 cd /picclife/app  rm -rf * #解释说明: /etc/oratab ?数据库实

Centos7源码安装httpd2.4版本web服务器

我们的系统平台是在centos7.5的环境下安装httpd2.4版本的软件,2.4版本的软件有一个特征就是需要安装arp包以及arp-util包才可以. 1.首先是下载httpd2.4版本的包,以及安装开发环境,这里开发环境直接使用组安装"Development tools"即可,(注意centos6是安装"Development tools和Server Platform Development"两种开发环境) wget http://ftp.cuhk.edu.h