检测.NET版本的最佳注册表路径是什么?我想检测版本2.0和4.0。
许多人提出了很多道路:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319
HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework\policy\v4.0
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4.0
哪一个最好?
我安装了以下框架:
.NET 2.0 SP 2
.NET 3.0 SP 2
.NET 3.5 SP 1
.NET 4.5
.NET 4.5.1
但HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP
中没有v4.5
或v4.5.1
键。 HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework\policy
没有3.5
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework
有两个用于v4.5的键:v4.5
和v4.5.50709
键。那么,用哪一个来检测4.5?
我很困惑。
答案 0 :(得分:2)
来自MSDN How to: Determine Which .NET Framework Versions Are Installed:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full
,并检查Release
DWORD以查找特定版本答案 1 :(得分:0)
对于赞美的答案的一个重要补充 MSDN How to: Determine Which .NET Framework Versions Are Installed
请注意,上面的MSDN链接在描述和代码示例中混合了两个路径!
虽然"部分通过在代码中查询注册表(.NET Framework 4.5及更高版本)" 来查找.NET Framework版本,但您应该使用
HKEY_LOCAL_MACHINE\Software\Microsoft\NET Framework Setup\NDP\v4.0\Full
同一链接中的代码示例使用以下路径
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full
(请注意区别:" v4.0" vs." v4")
我注意到.NET 4安装可能会使用任一文件夹,因此检查两者都是有意义的!似乎不同的安装程序和/或版本使用不同的路径(在线安装程序,脱机安装程序,预安装Windows,.NET 4.0客户端,.NET 4.0 Full,...)
如果要可靠地检测.NET 4,则必须检查两个路径上的Install
条目。