天天看點

擷取機器安裝.NET版本的幾種方式

當調查應用程式問題時,通常需要先确認目标機器所安裝的 .NET Framework 的版本。可以通過如下方式來确認版本号:

<a href="http://www.cnblogs.com/gaochundong/p/how_to_determine_which_net_framework_versions_are_installed.html#query_by_control_panel">通過控制台安裝程式查詢</a>

<a href="http://www.cnblogs.com/gaochundong/p/how_to_determine_which_net_framework_versions_are_installed.html#query_by_registry">通過查詢系統資料庫擷取版本資訊</a>

<a href="http://www.cnblogs.com/gaochundong/p/how_to_determine_which_net_framework_versions_are_installed.html#query_by_installed_directory">通過檢視安裝目錄擷取版本資訊</a>

<a href="http://www.cnblogs.com/gaochundong/p/how_to_determine_which_net_framework_versions_are_installed.html#query_by_wmic">通過使用 WMI 指令擷取版本資訊</a>

擷取機器安裝.NET版本的幾種方式

在系統資料庫 regedit 中查找鍵:

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

得到如下結果:

擷取機器安裝.NET版本的幾種方式

對應結果如下:

 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

On Windows 10 systems: 393295

On all other OS versions: 393297 

  .NET Framework 4.6

 On Windows 10 November Update: 394254

On all other OS versions: 394271

  .NET Framework 4.6.1

通常 .NET Framework 會被安裝在:

%WINDIR%\Microsoft.Net\Framework

而對應的結果通常是:

C:\Windows\Microsoft.NET\Framework

使用指令:

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

得到目錄結果:

擷取機器安裝.NET版本的幾種方式

但這僅列出了目錄,無法判斷是否安裝了 .NET 4.5 或 .NET 4.5.1 等,還需要直接檢視 DLL 版本詳細資訊。

擷取機器安裝.NET版本的幾種方式

比如,上圖中檢視了 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

可以通過執行 wmic 指令來擷取版本号,指令如下:

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

執行結果:

擷取機器安裝.NET版本的幾種方式

還可以通過 wmic 指令查詢目标機器上安裝的所有與 .NET 相關的微軟應用,指令如下:

wmic /namespace:\\root\cimv2 path win32_product where "Name like '%%.NET%%'" get Name, Version
擷取機器安裝.NET版本的幾種方式

<a href="http://blogs.msdn.com/b/dotnet/p/dotnet_sdks.aspx" target="_blank">.NET SDKs and Downloads</a>

<a href="http://msdn.microsoft.com/en-us/library/hh925568(v=vs.110).aspx" target="_blank">How to: Determine Which .NET Framework Versions Are Installed</a>

<a href="http://msdn.microsoft.com/en-us/library/hh925567(v=vs.110).aspx" target="_blank">How to: Determine Which .NET Framework Updates Are Installed</a>

本文轉自匠心十年部落格園部落格,原文連結:http://www.cnblogs.com/gaochundong/p/how_to_determine_which_net_framework_versions_are_installed.html,如需轉載請自行聯系原作者

繼續閱讀