我需要从C\C++代码确定桌面计算机上安装的最高.NET框架版本.看起来我可以迭代下面的文件夹%systemroot%\Microsoft.NET\Framework
,但这似乎有点容易出错.有没有更好的办法?也许我可以检查一个注册表项?谢谢.
使用Windows注册表位置HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP
.
.NET Framework的注册表项如下所示:
HKEY_LOCAL_MACHINE\Software\Microsoft\NET Framework Setup\NDP\
根据版本的不同,密钥的其余部分将有所不同(请查看此页面).
您可以在MSDN文章中使用C++应用程序中的注册表查找如何访问注册表.
如果您尝试使用托管代码执行此操作,请查看本文,其中包含了确定是否安装了特定Framework版本所需的所有逻辑.
否则,看看Aaron的博客文章在这里,这给做同样的事情,一个C/C++方法.