获取机器安装.NET版本的几种方式

原文:获取机器安装.NET版本的几种方式

当调查应用程序问题时,通常需要先确认目标机器所安装的 .NET Framework 的版本。可以通过如下方式来确认版本号:

  • 通过控制面板安装程序查询
  • 通过查询注册表获取版本信息
  • 通过查看安装目录获取版本信息
  • 通过使用 WMI 命令获取版本信息

通过控制面板安装程序查询

通过查询注册表获取版本信息

在注册表 regedit 中查找键:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full

得到如下结果:

对应结果如下:

 Value of the Release 
Version


378389


.NET Framework 4.5

378675
.NET Framework 4.5.1 installed with Windows 8.1


378758


.NET Framework 4.5.1 installed on Windows 8, Windows 7 SP1


379893


.NET Framework 4.5.2

通过查看安装目录获取版本信息

通常 .NET Framework 会被安装在:

%WINDIR%\Microsoft.Net\Framework

而对应的结果通常是:

C:\Windows\Microsoft.NET\Framework

使用命令:

dir %WINDIR%\Microsoft.Net\Framework\v* /B

得到目录结果:

但这仅列出了目录,无法判断是否安装了 .NET 4.5 或 .NET 4.5.1 等,还需要直接查看 DLL 版本详细信息。

比如,上图中查看了 mscorlib.dll 的版本号是 4.0.30319.34209,这代表什么呢?

  • 4.0.30319.1 = .NET 4.0 RTM
  • 4.0.30319.269 = most common .NET 4.0 version
  • 4.0.30319.544 = another .NET 4.0 version that a small portion
  • 4.0.30319.17626 = .NET 4.5 RC
  • 4.0.30319.17929 = .NET 4.5 RTM
  • 4.0.30319.18010 = current version on my Windows 8 machine
  • 4.0.30319.18052 = .NET 4.5 on Windows 7 SP1 64-bit
  • 4.0.30319.18408 = .NET 4.5.1 on Windows 7 SP1 64-bit
  • 4.0.30319.34209 = .NET 4.5.2 on Windows 7 PS1 64-bit
  • 4.0.30319.34014 = .NET 4.5.1 on Windows 8.1 64-bit
  • 4.0.30319.34209 = .NET 4.5.2 on Windows 8.1 64-bit

通过使用 WMI 命令获取版本信息

可以通过执行 wmic 命令来获取版本号,命令如下:

wmic product where "Name like ‘Microsoft .Net%‘" get Name, Version

执行结果:

还可以通过 wmic 命令查询目标机器上安装的所有与 .NET 相关的微软应用,命令如下:

wmic /namespace:\\root\cimv2 path win32_product where "Name like ‘%%.NET%%‘" get Name, Version

执行结果:

参考资料

本文《获取机器安装.NET版本的几种方式》由 Dennis Gao 发表自博客园,未经作者本人同意禁止任何形式的转载,任何自动或人为的爬虫转载行为均为耍流氓。

时间: 2024-10-25 09:14:39

获取机器安装.NET版本的几种方式的相关文章

【REACT NATIVE 系列教程之十三】利用LISTVIEW与TEXTINPUT制作聊天/对话框&&获取组件实例常用的两种方式

本站文章均为 李华明Himi 原创,转载务必在明显处注明: 转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/react-native/2346.html 本篇Himi来利用ListView和TextInput这两种组件实现对话.聊天框. 首先需要准备的有几点:(组件的学习就不赘述了,简单且官方有文档) 1. 学习下 ListView: 官方示例:http://reactnative.cn/docs/0.27/tutorial.html#content

Struts2中获取HttpServletRequest,HttpSession等的几种方式

转自:http://www.kaifajie.cn/struts/8944.html package com.log; import java.io.IOException; import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import o

获取数据库增量数据的几种方式

获取数据库增量数据的几种方式 a.触发器:在要抽取的表上建立需要的触发器,一般要建立插入.修改.删除三个触发器,每当源表中的数据发生变化,就被相应的触发器将变化的数据写入一个临时表,抽取线程从临时表中抽取数据,临时表中抽取过的数据被标记或删除.触发器方式的优点是数据抽取的性能较高,缺点是要求业务表建立触发器,对业务系统有一定的影响. b.时间戳:它是一种基于快照比较的变化数据捕获方式,在源表上增加一个时间戳字段,系统中更新修改表数据的时候,同时修改时间戳字段的值.当进行数据抽取时,通过比较系统时

django获取单表数据的三种方式

django获取单表数据的三种方式 v1 = models.Business.objects.all() # QuerySet ,内部元素都是对象 v2 = models.Business.objects.all().values('id','caption') # QuerySet ,内部元素都是字典 v3 = models.Business.objects.all().values_list('id','caption') # QuerySet ,内部元素都是元组 def business(

反射概念:获取class文件对象的三种方式

反射 JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性:这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制. 要想解剖一个类,必须先要获取到该类的字节码文件对象.而解剖使用的就是Class类中的方法.所以先要获取到每一个字节码文件对应的Class类型的对象. 利用class文件对象,去使用该文件中的成员变量,构造方法,成员方法. 例子1:获取class文件对象的三种方式 public cla

asp.net C# 获取网页源码的几种方式

1 方法 System.Net.WebClient aWebClient = new System.Net.WebClient(); aWebClient.Encoding = System.Text.Encoding.Default; Byte[] pageData = aWebClient.DownloadData(url); string nhtml = Encoding.GetEncoding("utf-8").GetString(pageData); 2方法 System.N

github项目解析(八)-->Activity启动过程中获取组件宽高的三种方式

转载请标明出处:一片枫叶的专栏 上一个github小项目中我们介绍了防止按钮重复点击的小框架,其实现的核心逻辑是重写OnClickListener的onClick方法,添加防止重复点击的逻辑,即为第二次点击与第一次点击的时间间隔添加阙值,若第二次点击的时间间隔与第一次点击的时间间隔小于阙值,则此次点击无效,再次基础上我们又封装了点击组件验证网络Listener,点击组件验证是否登录Listener等,具体可参考:github项目解析(七)–>防止按钮重复点击 本文中我将介绍一下android中A

获取项目根路径的四种方式

获取项目根路径的四种方式 CreateTime--2018年3月2日11:39:52 Author:Marydon <!-- 假设项目的请求根路径是"/demo" --> <!-- 方式一:EL表达式 --> ${pageContext.request.contextPath} <br>显示结果:"/demo" 应用: <i:form id="AddForm" method="post"

更新k8s镜像版本的三种方式

原文:更新k8s镜像版本的三种方式 一.知识准备 更新镜像版本是在k8s日常使用中非常常见的一种操作,本文主要介绍更新介绍的三种方法 二.环境准备 组件 版本 OS Ubuntu 18.04.1 LTS docker 18.06.0-ce 三.准备镜像 首先准备2个不同版本的镜像,用于测试(已经在阿里云上创建好2个不同版本的nginx镜像) docker pull registry.cn-beijing.aliyuncs.com/mrvolleyball/nginx:v1 docker pull