【问题标题】:Installation of Visual Studio 2010 (any edition) installs only 2 files in the C++ headers directory安装 Visual Studio 2010(任何版本)仅在 C++ 头文件目录中安装 2 个文件
【发布时间】:2012-09-09 17:32:54
【问题描述】:

我在我的 Windows 7 工作站上安装了 Visual Studio 2010 Premium。加载一个测试 C++ 项目后,我注意到它找不到 iostream。我查看了 C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include 并注意到这里只存在两个文件,srv.h 和 wmiatlprov.h

我在一个测试虚拟机上安装了 VS2010 产品,这个目录 (...\VC\include) 充满了通常的文件夹和标题集合(您期望的材料在包含目录中查找。)

我已采取以下步骤来纠正问题工作站上缺少的标头:

  • 已验证我没有激活 A/V 软件(我使用的是 MS Security Essentials,实时功能已禁用)
  • 从程序和功能中卸载 Visual Studio 2010 Premium 和所有其他子产品
  • 使用 /full 和 /netfx 参数运行 VS2010 卸载工具
  • 从 Program Files 和 Program Files (x86) 中删除了 Visual Studio 10.0 目录
  • 从 MSDN 新下载的 ISO 重新安装了 Visual Studio 2010。

我也完成了上述步骤,但使用了不同的版本进行重新安装,VS2010 Professional。

到目前为止,以上任何方法都无法生成已安装的 Visual Studio 2010 产品,并且在我的工作站上安装了所有 C++ 标头。

想法?

【问题讨论】:

  • 我今天的经历或多或少是一样的。我安装了 VS2010 Premium,但并没有使用太多,并且由于某种原因,其中捆绑的 SDK 被破坏了。我卸载了它,努力将其全部删除,然后安装了 VS2010 Professional。 (并再次应用了 Windows 更新、SP1、更新。)现在 SDK 看起来还可以,但没有 C 库头...
  • 请参阅stackoverflow.com/a/12584955/101252 了解 VS2010_Uninstall-RTM.ENU.exe 实用程序。然后重新安装。这对我来说很有效。

标签: visual-studio-2010 visual-c++ installation windows-installer header-files


【解决方案1】:

在对该主题进行一些研究时,似乎无论您如何卸载 Visual Studio,总会留下一些碎片。

需要考虑的两个选项。

选项 1 在虚拟机上安装 VS 2010。 从您的虚拟机压缩所需的文件。 将它们复制并解压缩到工作站。

选项 2 格式化硬盘。 安装 Windows 7 的新副本。 安装新副本 VS 2010。

【讨论】:

  • 选项3:在虚拟机中安装VS2010。在虚拟机中使用 Visual Studio。
【解决方案2】:

委婉地说,Visual Studio 安装程序是一个善变的野兽。一般诊断是您的注册表是脏的,有一个安装的 VS 子组件的记录,而它实际上不再存在。有很多子组件和大量的注册表项来跟踪它们的安装状态和配置。找到这么脏的钥匙背是一个严重的大海捞针问题。

如果您曾经安装过测试版或 RC 版,这种注册表损坏非常很常见。我从来没有一个测试版在安装 RTM 版本时不会给我带来很大的问题。 VS2010 测试版对我来说尤其糟糕,尽管我在没有卸载测试版的情况下更新到 Windows7 让我的脚踩得很惨。一个巨大的混乱,委婉地说。你可以期待类似的剧变,你曾经有一个没有完成的卸载/安装。当然,注册表损坏总是会让这变成痛苦。

这个问题很常见,周围有 Visual Studio 清理工具,旨在在发生此类事情后清除注册表。对于VS2010,其实有好几个。谷歌“vs2010卸载实用程序”找到它们。不知道它们是否有所不同,我没有理由不只运行它们。

当这仍然不能解决问题时,芯片严重下降。剩下的就是挖掘安装后留在 TEMP 目录中的 dd*.txt 文件。它们包含安装程序决定的详细跟踪。请注意,您会淹没在数据量中。

【讨论】:

  • 谢谢!我还怀疑注册表不干净。不幸的是,正如 OP 已经写的那样,卸载实用程序不起作用。我正在寻找愿意深入研究的人,看看到底出了什么问题(可能在注册表中),以便每个有这个问题区域的人都能解决它。为我重现的步骤是安装带有 SP1 的 VS2010 pro,卸载它,然后安装 VS2010 高级版。
  • 你将不得不自己做这个“潜水”,没有人和你一样的注册表混乱,如果有的话。如果您不想解决此问题,请联系 Microsoft 支持寻求帮助。他们会从他们之前的支持案例记录中引导您完成。打电话很重要,所以他们可以快速推荐替代步骤,这在网站上是行不通的。
  • 汉斯,非常感谢您的帮助,但您的评论并不具有建设性。我已经提到很多人有这个问题,并描述了重现的步骤。由于很多人都报告了同样的问题,很可能很多人确实有同样的注册表混乱。可以肯定地说,我要么自己潜水,要么问微软,而且在 SO 上绝对没有人可以提供帮助。我设置了赏金,因为我很好奇是否有人可以。
  • Hmya,我断言当所有正常的变通办法都没有产生结果时,需要与专家通电话。尽管有赏金和一个已经存在 4 个月的问题,但我没有看到很多其他 SO 用户潜入帮助您。 SO 无论如何都不应该是个人帮助论坛,也不能替代您从产品供应商那里获得的那种帮助。我们只能希望在这样的网站上解决一些问题。希望这个答案对某些用户有用。
【解决方案3】:

我尝试了几轮卸载和重新安装。最终奏效的破解方法是从安装了 VS 2010 的机器上复制 VC 文件夹的全部内容。您可能不需要复制所有这些,但我在 VC 中的 include、lib 和其他文件夹中丢失了 3000 多个文件。

【讨论】:

  • 是的。我做了同样的事情,希望一切顺利。这个问题太可怕了!改革不是一个严肃的选择。我试图查看 %TEMP% 日志文件,但无法找出问题所在。如果有帮助的话,我还在同一个盒子上安装了 VS2008 和 VS2012。我也有一些 Windows SDK。也许是相关的。
  • 有人可以提供此类文件的链接吗?
【解决方案4】:

这个问题的解决方法如下。它基于中给出的解决方案

http://connect.microsoft.com/VisualStudio/feedback/details/774158/re-installed-visual-studio-2010-and-c-standard-headers-are-missing

  • 卸载 Visual Studio 2010。
  • 卸载 Visual Studio 2010 SP1(尽管它给出了警告)。
  • 打开注册表编辑器 (regedit)。
  • 搜索名为 PaddedVersion 的键
  • 删除任何父键 VisualStudio\10.0\VC\Libraries 或类似键(注意版本号 10.0,它对应于 2010)。删除所有这些注册表路径。搜索 PaddedVersion 键只是为了简化搜索。
  • 安装 Visual Studio 2010。
  • 安装 Visual Studio 2010 SP1。

这个解决方案可能不是最小的,但它对我有用。希望其他人可以确认。这里的重要区别在于,它不仅仅是 HKEY_LOCAL_MACHINE 必须从中删除注册表路径,如上面的链接所示。

【讨论】:

  • 非常感谢,这是唯一有帮助的解决方案! :)
  • 使用 Regedit,您需要在 Values 中搜索 PaddedVersion,而不是在 Keys 中搜索。
  • 优秀的答案。谢谢!
  • VS 2010VS 2010 SP1有什么区别?
  • @StephenW SP1 是 Service Pack 1,是在原始版本之上安装的更新。
【解决方案5】:

当 VS 2010 Web 安装程序第一次未能正确安装时,我在 Windows 8.1 上遇到了这个问题。我按照上面 Kaba 的步骤略有不同,它为我解决了问题(非常感谢 Kaba)。不同之处在于我删除了所有“VisualStudio\10.0”键及其所有子键,以及“VisualStudio\10.0_Config”和子键。

【讨论】:

    【解决方案6】:

    http://connect.microsoft.com/VisualStudio/feedback/details/774158/re-installed-visual-studio-2010-and-c-standard-headers-are-missing 的解决方案对我不起作用。

    卸载 Visual Studio 2010 和 SP1 后,我使用了注册表清理软件 CCleaner 并再次安装。它已修复。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-09
      • 1970-01-01
      相关资源
      最近更新 更多