Ошибка при установке Windows SDK (более новая версия уже установлена)

9

Я пытаюсь установить Windows SDK на мою Windows 7 64-битную машину.

Но в процессе установки он выдал ошибку. Я просмотрел журнал, и кажется, что это связано с тем, что установлена ​​более новая версия Microsoft Visual C ++ 2010 (установлено 10.0.40219 по сравнению с 10.0.30219, который доступен в пакете). Возможно, это не совместимо или у него есть другая проблема.

Я могу удалить этот пакет и установить более старый из пакета Windows SDK, но если это не проблема, как я могу вернуть этот пакет? Центр обновления Windows?

darking050
источник
Более новая версия VC ++ 10 была бы (в основном) установлена ​​обновлением безопасности Windows.
Ганеш Р.
Похоже, что это все из-за установленных инструментов Windows Phone 7.1 beta. Но я не хочу деинсталлировать его и переустанавливать все, так как я буду связываться с моей машиной, помня об этом, я забуду об этом.
darking050

Ответы:

11

Я столкнулся с той же проблемой. Решение состоит в том, чтобы удалить «Microsoft Visual C ++ Compilers 2010 Standard - enu - x86», но в Панели управления / Программы и компоненты для этого нет записи. Кроме того, вам может понадобиться удалить:

Microsoft Visual C++  Compilers 2010 Standard - enu - x64

Обратите внимание : между словами C ++ и компиляторами есть два пробела .

Я понял это, выполнив поиск в реестре по двум вышеуказанным терминам. Когда вы найдете regkey с DisplayName, который соответствует каждой из вышеперечисленных строк, найдите значение в LocalPackage - вы найдете имя MSI-файла, который нужно использовать для удаления, используя инструкции ниже.

Запустите командную строку с правами администратора. Перейдите к C:\Windows\Installer. Выполните следующую команду:

C:\Windows\Installer>msiexec /x <LocalPackage reg string value here>

Ответьте «Да» на подсказки, и это полностью очистит. Повторите для другой строки, если это необходимо. Это позволит вам сделать полную установку Windows SDK 7.1

Обратите внимание, что в моем случае была установлена ​​редакция Visual C ++ 2010 Express, а затем VS2010 SP1. Судя по результатам веб-поиска, эта проблема вызвана установкой SP1. Кроме того, я хотел удалить все и только установить Windows SDK 7.1 - так что я вытер вещи. Другое альтернативное решение - снять флажок «Компиляторы Visual C ++» при установке Windows SDK 7.1, и это позволит сохранить существующую более новую версию и правильно установить оставшуюся часть SDK.

Эта страница содержит дополнительную, актуальную и важную информацию: http://msdn.microsoft.com/en-us/visualc/gg697159

Виджай Варадан
источник
1
Нужно ли повторять командную строку DOS, чтобы удалить x86 и x64?
darking050
Да, но имейте в виду, что имя файла MSI будет отличаться для каждого. Вы можете использовать похожую технику, чтобы найти имя файла MSI x64.
Виджай Варадан
+1. Для меня ваше решение работало вместе с этим .
informatik01
6

Microsoft, похоже, выпустила исправление для этого, KB2519277 .

Вам больше не нужно удалять компиляторы VS2010 SP1 или заниматься поиском правильного пакета msi для удаления.

Если вы пытаетесь установить SDK в систему с уже установленным обновлением VS2010 SP1, просто отмените выбор компиляторов в установщике SDK и установите все, что вам нужно. После установки SDK запустите «Обновление компилятора Microsoft Visual C ++ 2010 с пакетом обновления 1 для Windows SDK 7.1», чтобы установить компиляторы SDK.

Если вы пытаетесь восстановить установку SDK, из которой обновление VS2010 SP1 удалило компиляторы, просто запустите «Обновление компилятора Microsoft Visual C ++ 2010 с пакетом обновления 1 для Windows SDK 7.1», и он переустановит компиляторы.

Blo grat
источник