确定最高 .NET Framework 版本
我需要从 C\C++ 代码确定桌面计算机上安装的最高 .NET Framework 版本。 看起来我可以迭代 %systemroot%\Microsoft.NET\Framework
下的文件夹,但这似乎很容易出错。 有没有更好的办法? 也许我可以检查一个注册表项? 谢谢。
I need to determine the highest .NET framework version installed on a desktop machine from C\C++ code. Looks like I can iterate the folders under %systemroot%\Microsoft.NET\Framework
, but that seems kind of error prone. Is there a better way? Perhaps a registry key I can inspect? Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
使用 Windows 注册表位置
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP< /代码>。
Use the Windows Registry location
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP
..NET Framework 的注册表项如下所示:
根据版本的不同,注册表项的其余部分将有所不同(请检查 此页面)。
您可以在 MSDN 文章使用注册表中查找如何访问注册表在 C++ 应用程序中。
Registry keys for the .NET Framework start like this:
Depending on the version, the rest of the key will be different (check this page).
You can look up how to access the registry in MSDN article Using the registry in a C++ application.
如果您尝试通过托管代码执行此操作,请查看这篇文章,它包含确定是否安装特定框架版本所需的所有逻辑。
否则,请在此处查看 Aaron 的博客文章 ,它提供了执行相同操作的 C/C++ 方法。
If you're trying to do this from managed code, take a look at this article, which wraps all of the logic needed to determine if a specific Framework version is installed.
Otherwise, take a look at Aaron's blog post here, which gives a C/C++ method for doing the same thing.
以下内容应该给你答案,但它看起来非常糟糕:(
The following is supposed to give you the answer, but it seems horribly broken :(