陋室铭
永远也不要停下学习的脚步(大道至简至易)

https://docs.microsoft.com/zh-cn/dotnet/framework/migration-guide/how-to-determine-which-versions-are-installed?redirectedfrom=MSDN

检测 .NET Framework 4.5 及更高版本

计算机上安装的 .NET Framework 版本(4.5 及更高版本)列出在注册表中,位于 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full。 如果缺少 Full 子项,则未安装 .NET Framework 4.5 或更高版本。

备注

注册表路径中的 .NET Framework Setup 子项不以句点开头。

注册表中的 Release REG_DWORD 值代表已安装的 .NET Framework 版本。

检测 .NET Framework 4.5 及更高版本
.NET Framework 版本Release 的值
.NET Framework 4.5 所有 Windows 操作系统:378389
.NET Framework 4.5.1 在 Windows 8.1 和 Windows Server 2012 R2 上:378675
在所有其他 Windows 操作系统上:378758
.NET Framework 4.5.2 所有 Windows 操作系统:379893
.NET Framework 4.6 在 Windows 10 上:393295
在所有其他 Windows 操作系统上:393297
.NET Framework 4.6.1 在 Windows 10 11 月更新系统上:394254
在所有其他 Windows 操作系统(包括 Windows 10)上:394271
.NET Framework 4.6.2 在 Windows 10 周年更新和 Windows Server 2016 上:394802
在所有其他 Windows 操作系统(包括其他 Windows 10 操作系统)上:394806
.NET Framework 4.7 在 Windows 10 创意者更新上:460798
在所有其他 Windows 操作系统(包括其他 Windows 10 操作系统)上:460805
.NET Framework 4.7.1 在 Windows 10 Fall Creators Update 和 Windows Server 版本 1709 上:461308
在所有其他 Windows 操作系统(包括其他 Windows 10 操作系统)上:461310
.NET Framework 4.7.2 在 Windows 10 2018 年 4 月更新和 Windows Server 版本 1803 上:461808
在除 Windows 10 2018 年 4 月更新和 Windows Server 版本 1803 之外的所有 Windows 操作系统上:461814
.NET Framework 4.8 在 Windows 10 2019 年 5 月更新和 Windows 10 2019 年 11 月更新上:528040
在 Windows 10 2020 年 5 月更新和 Windows 10 2020 年 10 月更新中:528372
在所有其他 Windows 操作系统(包括其他 Windows 10 操作系统)上:528049

最低版本

若要确定是否存在 .NET Framework 的最低版本,请查看大于或等于下列表中列出的相应值的“Release”REG_DWORD 值。 例如,如果应用程序在 .NET Framework 4.8 或更高版本下运行,请测试 Release REG_DWORD 值是否大于或等于 528040。

最低版本
.NET Framework 版本最小值
.NET Framework 4.5 378389
.NET Framework 4.5.1 378675
.NET Framework 4.5.2 379893
.NET Framework 4.6 393295
.NET Framework 4.6.1 394254
.NET Framework 4.6.2 394802
.NET Framework 4.7 460798
.NET Framework 4.7.1 461308
.NET Framework 4.7.2 461808
.NET Framework 4.8 528040

使用注册表编辑器

  1. 在“开始”菜单中,选择“运行”,输入“regedit”,然后选择“确定” 。

    (必须具有管理凭据才能运行 regedit。)

  2. 在注册表编辑器中,打开以下子项:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full。 如果“Full”子项不存在,则表示尚未安装 .NET Framework 4.5 或更高版本。

  3. 请检查名为“Release”的 REG_DWORD 条目。 如果存在,则已安装 .NET Framework 4.5 或更高版本。 其值对应于 .NET Framework 的特定版本。 以下图为例,“Release”条目的值为 528040,这是 .NET Framework 4.8 的版本密钥。

    .NET Framework 4.5 的注册表项

<a name="use-powershell-to-check-for-a-minimum-version">使用 PowerShell 检查最低版本

使用 PowerShell 命令检查 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full 子项“Release”条目的值\。

以下示例检查“Release”条目的值,以确定是否已安装 .NET Framework 4.6.2 或更高版本。 如果安装了此代码,则返回 True,否则返回 False

PowerShell
(Get-ItemProperty &quot;HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full").Release -ge 394802

使用代码查询注册表

  1. 使用 RegistryKey.OpenBaseKeyRegistryKey.OpenSubKey 方法访问 Windows 注册表中的 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full 子项。

    重要

    如果运行的应用是 32 位且在 64 位 Windows 中运行,则注册表路径与前面列出的不同。 可在 HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ 子项中找到 64 位注册表。 例如,.NET Framework 4.5 的注册表子项为 HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\NET Framework Setup\NDP\v4\Full。

  2. 检查 Release REG_DWORD 值以确定已安装的版本。 为了向前兼容,可检查是否有一个值大于或等于 .NET Framework 版本表中所列的值。

下面的示例检查注册表中 Release 项的值,以查找安装的 .NETFramework 4.5-4.8 版本。

 

posted on 2021-09-28 10:32  宏宇  阅读(819)  评论(0编辑  收藏  举报