Установка Visual Studio 2010 (любая версия) устанавливает только 2 файла в каталоге заголовков C++

Я установил Visual Studio 2010 Premium на свою рабочую станцию ​​Windows 7. После загрузки тестового проекта C++ я заметил, что он не может найти iostream. Я посмотрел в C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include и заметил, что здесь существуют только два файла, srv.h и wmiatlprov.h

Я установил продукт VS2010 на тестовую виртуальную машину, и этот каталог (... \ VC \ include) заполнен обычным набором папок и заголовков (материалы, которые вы ожидаете найти в каталоге include).

Я предпринял следующие шаги для исправления отсутствующих заголовков на проблемной рабочей станции:

  • Проверено, что у меня нет активного программного обеспечения A/V (я использую MS Security Essentials, режим реального времени отключен)
  • Деинсталлированная Visual Studio 2010 Premium и все другие субпродукты из Программы и компоненты
  • Запустите инструмент удаления VS2010 с параметрами /full и /netfx
  • Удалил каталоги Visual Studio 10.0 как из Program Files, так и из Program Files (x86)
  • Переустановил Visual Studio 2010 со свежескачанного ISO из MSDN.

Я также выполнил вышеупомянутые шаги, но использовал другую версию для переустановки, VS2010 Professional.

До сих пор ничто из перечисленного не смогло создать установленный продукт Visual Studio 2010 со всеми заголовками C++, установленными на моей рабочей станции.

Идеи?

6 ответов

Решение этой проблемы заключается в следующем. Он основан на решении, приведенном в

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, из которого должен быть удален путь реестра, как указано в ссылке выше.

При проведении некоторых исследований по этой теме кажется, что независимо от того, как вы удалите Visual Studio, всегда есть кусочки.

Два варианта для рассмотрения.

Вариант 1 Установите VS 2010 на виртуальной машине. Zip необходимые файлы с вашей виртуальной машины. Скопируйте и разархивируйте их на рабочую станцию.

Вариант 2 Форматирование жесткого диска. Установите свежую копию Windows 7. Установите свежую копию VS 2010.

Я попытался несколько раундов удаления и переустановки. Хак, который наконец-то сработал, состоял в том, чтобы скопировать все содержимое папки VC с компьютера с работающей установкой VS 2010. Вам, вероятно, не нужно копировать все это, но мне не хватало более 3000 файлов в include, lib и других папках в VC.

Установщик Visual Studio, мягко говоря, непостоянный зверь. Общая диагностика состоит в том, что ваш реестр грязный, с записью установленного подкомпонента VS, хотя его больше нет. Есть много подкомпонентов и огромное количество записей реестра, которые отслеживают их состояние установки и их конфигурацию. Найти такой грязный ключ назад - серьезная проблема с иголкой в ​​стоге сена.

Этот вид повреждения реестра очень распространен, если у вас когда-либо была установлена ​​бета-версия или версия RC. У меня никогда не было бета-версии, которая не доставляла мне огромных проблем с установкой RTM-версии. Бета-версия VS2010 пошла особенно плохо для меня, хотя я сильно ударил ногой, обновившись до Windows7, не удаляя бета-версию. Гигантский беспорядок, мягко говоря. Вы можете ожидать подобного рода потрясений, когда у вас когда-либо была деинсталляция / установка, которая не завершилась. И, конечно, повреждение реестра всегда превращает это в страдание.

Проблема довольно распространенная, существуют инструменты очистки Visual Studio, которые стремятся очистить реестр после того, как что-то подобное произошло. Для VS2010 их на самом деле несколько. Google "утилита удаления vs2010", чтобы найти их. Понятия не имею, отличаются ли они так или иначе, нет причины, по которой я могу придумать, чтобы просто не управлять ими всеми.

Чипсы серьезно падают, когда это все еще не решает проблему. Осталось только покопаться в файлах dd*.txt, которые остались в каталоге TEMP после установки. Они содержат подробный след решений установщика. Остерегайтесь того, что вы утонете в объеме данных.

Решение на http://connect.microsoft.com/VisualStudio/feedback/details/774158/re-installed-visual-studio-2010-and-c-standard-headers-are-missing не работает для меня.

После удаления Visual Studio 2010 и SP1 я использовал программу очистки реестра CCleaner и снова установил ее. Это исправлено.

Я столкнулся с этой проблемой в Windows 8.1, когда веб-установщик VS 2010 не удалось правильно установить в первый раз. Я с небольшим отличием пошёл по шагам Кабы выше, и это решило проблему для меня (так, слава Кабе). Разница в том, что я удалил все ключи "VisualStudio\10.0" и все его подключи, а также "VisualStudio\10.0_Config" и вложенные ключи.

Другие вопросы по тегам