【发布时间】:2008-10-08 13:58:50
【问题描述】:
我需要通过 C\C++ 代码确定桌面计算机上安装的最高 .NET 框架版本。看起来我可以迭代%systemroot%\Microsoft.NET\Framework 下的文件夹,但这似乎很容易出错。有没有更好的办法?也许我可以检查一个注册表项?谢谢。
【问题讨论】:
标签: .net c++ c version-detection
我需要通过 C\C++ 代码确定桌面计算机上安装的最高 .NET 框架版本。看起来我可以迭代%systemroot%\Microsoft.NET\Framework 下的文件夹,但这似乎很容易出错。有没有更好的办法?也许我可以检查一个注册表项?谢谢。
【问题讨论】:
标签: .net c++ c version-detection
使用Windows Registry 位置HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP。
【讨论】:
.NET Framework 的注册表项如下所示:
HKEY_LOCAL_MACHINE\Software\Microsoft\NET Framework Setup\NDP\
根据版本不同,其余密钥会有所不同(请查看this page)。
您可以在 MSDN 文章中查看如何访问注册表Using the registry in a C++ application。
【讨论】:
下面应该会给你答案,但它似乎很糟糕:(
c:\Program Files>clrver
Versions installed on the machine:
v2.0.50727
【讨论】: