安装 Visual Studio 2010(任何版本)只会在 C++ 头文件目录中安装 2 个文件
我在 Windows 7 工作站上安装了 Visual Studio 2010 Premium.在加载了一个测试 C++ 项目后,我注意到它无法定位 iostream.我查看了 C:Program Files (x86)Microsoft Visual Studio 10.0VCinclude 并注意到这里只有两个文件,srv.h 和 wmiatlprov.h
I installed Visual Studio 2010 Premium on my Windows 7 workstation. After loading a test C++ project, I noticed that it could not locate iostream. I took a look in C:Program Files (x86)Microsoft Visual Studio 10.0VCinclude and noticed that only two files exist here, srv.h and wmiatlprov.h
我在测试虚拟机上安装了 VS2010 产品,这个目录 (...VCinclude) 充满了通常的文件夹和标题集合(您期望的材料)在包含目录中找到.)
I installed the VS2010 product on a test virtual machine, and this directory (...VCinclude) is filled with the usual collection of folders and headers (the materials you'd expect to find in the includes directory.)
我已采取以下步骤来纠正问题工作站上丢失的标题:
I have taken the following steps to rectify the missing headers on the problem workstation:
- 已确认我没有活动的 A/V 软件(我使用的是 MS Security Essentials,实时被禁用)
- 已卸载 Visual Studio 2010 Premium 和 Programs & 的所有其他子产品特点
- 使用/full 和/netfx 参数运行 VS2010 卸载工具
- 从 Program Files 和 Program Files (x86) 中删除了 Visual Studio 10.0 目录
- 从 MSDN 新下载的 ISO 重新安装了 Visual Studio 2010.
我也完成了上面的步骤,但是重装用的是不同的版本,VS2010 Professional.
I also completed the above steps, but used a different edition for the reinstall, VS2010 Professional.
到目前为止,以上所有内容都无法生成已安装的 Visual Studio 2010 产品,并且在我的工作站上安装了所有 C++ 头文件.
So far, nothing above has been able to produce an installed Visual Studio 2010 product with all of the C++ headers installed on my workstation.
想法?
此问题的解决方法如下.它基于
The solution to this problem is as follows. It is based on the solution given in
- 卸载 Visual Studio 2010.
- 卸载 Visual Studio 2010 SP1(尽管它给出了警告).
- 打开注册表编辑器 (regedit).
- 搜索名为 PaddedVersion 的键
- 删除任何父键 VisualStudio10.0VCLibraries 或类似的键(注意版本号 10.0,对应于 2010).删除所有这些注册表路径.搜索 PaddVersion 键只是为了简化此搜索.
- 安装 Visual Studio 2010.
- 安装 Visual Studio 2010 SP1.
这个解决方案可能不是最小的,但它对我有用.希望其他人可以确认.这里的重要区别在于,必须删除注册表路径的不仅仅是 HKEY_LOCAL_MACHINE,如上面的链接所示.
This solution may not be minimal, but it works for me. Hopefully others can confirm. The important difference here is that it is not just the HKEY_LOCAL_MACHINE from which the registry path must be deleted, as indicated in the link above.