【问题标题】:How to find whether the .NET installed or not in the System by using c++?如何使用c++查找系统中是否安装了.NET?
【发布时间】:2009-07-24 23:37:14
【问题描述】:

是否有任何 API 可用于查找系统中是否安装了 .NET 框架。或者至少有人可以告诉我如何在 C++ 中自己执行此操作,以及如何找到安装 .NET 的路径(如果已安装)??

我该怎么做...

在这方面的任何帮助将不胜感激.....

【问题讨论】:

    标签: .net c++ visual-c++ .net-2.0


    【解决方案1】:

    Aaron Stebner 多年来发表了几篇关于如何做到这一点的文章。他在 .Net 3.5 发布后的最新更新可以在 here 找到,其中包含用于检查的 C++ 代码。检测主要基于注册表检查。

    【讨论】:

      【解决方案2】:

      方法如下:

      • 尝试LoadLibrary() mscoree.dll 然后
      • 将刚刚加载的库的句柄传递给GetProcAddress(),然后尝试检索GetCORSystemDirectory()的入口点,然后
      • 尝试通过检索到的指针调用GetCORSystemDirectory()

      如果所有步骤都成功,则安装 .NET。不要忘记错误处理 - 每个步骤都可能失败,您需要确保您的程序已为此做好准备。

      【讨论】:

      • 嗨,Sharptooth,你可以看看下面关于昨天讨论的链接,我已经编辑了一些。 stackoverflow.com/questions/1164069/…
      • 我已经看到了,但这与检测 .NET 存在的问题有什么关系?
      • 这是不同的。我已经手动给出了.NET的正常安装路径如果它没有安装在那个假设如果.NET安装在D:\那么它会失败所以我必须找到安装路径。
      • 又是什么问题?您完成了我回答中的所有步骤,并在最后一步 GetCORSystemDirectory() 为您提供了安装 .NET 的路径。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-04
      • 2015-10-14
      • 2020-10-27
      • 1970-01-01
      • 1970-01-01
      • 2014-05-06
      相关资源
      最近更新 更多