Не удается установить Windows SDK 7.1 на Windows 10

Я разработчик программного обеспечения с ПК с Windows 10. Я должен поддерживать некоторое старое программное обеспечение, написанное в Visual Studio 2010, используя Windows SDK 7.1

При попытке настроить среду разработки я успешно установил VS2010 и приступаю к установке Windows SDK 7.1, однако установщик сообщает об ошибке:

Некоторые компоненты не могут быть установлены

Для некоторых компонентов Windows SDK требуется RTM.NET Framework 4. Программа установки обнаружила предварительную версию .NET Framework 4. Если вы продолжите установку, эти компоненты не будут установлены. Если вы хотите установить эти компоненты, нажмите "Отмена", затем установите .NET Framework 4 из http://go.microsoft.com/fwlink/?LinkID=187668, а затем запустите программу установки.

Однако Windows 10 поставляется с .NET 4.5, поэтому, насколько я могу судить, есть еще одна проблема проверки версии.

Это не беспокоило бы меня так сильно, но при попытке установить обновление компилятора Visual Studio 2010 это терпит неудачу, говоря

не удается установить, поскольку windows sdk 7.1 не найден

Попытка установить .NET 4 не удалась, поскольку обнаруживает более позднюю версию .NET.

Ответ 1

Я наткнулся на другое обходное решение, которое я также разместил в msdn thread:

  • Сначала удалите все распространяемые компоненты Visual С++ 2010 с панели управления.

  • Загрузите соответствующий автономный образ ISO из архива Windows SDK. В этом перечислены ISO, который.

  • После установки изображения откройте F:\Setup\SDKSetup.exe напрямую.

Ответ 2

Я столкнулся с этой проблемой. Не знаю, как это безопасно делать, но я смог обойти это, временно обманув установщика, подумав, что у меня установлена ​​другая версия .NET 4.0. Я открыл Process Monitor и использовал его для мониторинга всего, что setup.exe делал, чтобы выяснить, как он определял, что у меня была "предварительная версия" версии .NET 4.0.

Оказывается, он смотрит на эти две строки в реестре:

  • HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\NET Framework Setup\NDP\v4\Client\Version
  • HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\NET Framework Setup\NDP\v4\Full\Version

На моей машине с Windows 10 они в настоящее время являются 4.6.00079. Установщик, похоже, не любит это значение. Я временно заменил их на строку 4.0.30319 в regedit, чтобы соответствовать значению из InstallPath, и это, казалось, делало трюк. И, конечно, когда я закончил, я вернул их так, как они изначально были.

Однако у меня не было разрешения изменять эти значения, поэтому было немного сложно. Я щелкнул правой кнопкой мыши по клавише Client, выберите "Разрешения" и нажал "Дополнительно". Затем я сменил владельца на мою учетную запись пользователя, а не на TrustedInstaller. Это позволило мне добавить права для полного контроля для себя, чтобы я мог изменить значение Version. Я повторил тот же процесс на клавише Full. После успешного завершения установки я вернул исходные значения версий (4.6.00079), удалил разрешения, которые я добавил для себя, и восстановил владельца TrustedInstaller (для этого введите NT SERVICE\TrustedInstaller в качестве имени пользователя).

Возможно, существует более безопасный/простой способ перехвата реестра, чем фактическое изменение реестра, но это было достаточно просто для меня!

Ответ 3

@dougg3 answer scripted:

Сначала установите SubInAcl, можно загрузить из Microsoft здесь. Возможно, вам придется добавить его в свой PATH, например: set PATH=%PATH%;C:\Program Files (x86)\Windows Resource Kits\Tools

Затем запустите эти команды в подсказке с расширенным cmd:

for /f "tokens=2*" %%a in ('reg query "HKLM\Software\Microsoft\NET Framework Setup\NDP\v4\Client" /v Version /reg:32') do set "CurrentNDPv4ClientVersion=%%~b"
for /f "tokens=2*" %%a in ('reg query "HKLM\Software\Microsoft\NET Framework Setup\NDP\v4\Full" /v Version /reg:32') do set "CurrentNDPv4FullVersion=%%~b"
subinacl.exe /subkeyreg "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\NET Framework Setup\NDP\v4" /setowner="%username%"
subinacl.exe /subkeyreg "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\NET Framework Setup\NDP\v4" /grant="%username%"=f
reg ADD "HKLM\Software\Microsoft\NET Framework Setup\NDP\v4\Full" /v Version /t REG_SZ /d 4.0.30319 /reg:32 /f
reg ADD "HKLM\Software\Microsoft\NET Framework Setup\NDP\v4\Client" /v Version /t REG_SZ /d 4.0.30319 /reg:32 /f

echo start your installer now
pause

reg ADD "HKLM\Software\Microsoft\NET Framework Setup\NDP\v4\Client" /v Version /t REG_SZ /d %CurrentNDPv4ClientVersion% /reg:32 /f
reg ADD "HKLM\Software\Microsoft\NET Framework Setup\NDP\v4\Full" /v Version /t REG_SZ /d %CurrentNDPv4FullVersion% /reg:32 /f

subinacl.exe /subkeyreg "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\NET Framework Setup\NDP\v4" /revoke="%username%"
subinacl.exe /subkeyreg "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\NET Framework Setup\NDP\v4" /setowner="NT SERVICE\TrustedInstaller"

Ответ 4

Установите SDK 7.1 на свой компьютер, он в большинстве случаев не будет работать с дополнительными компиляторами, но вам это нужно в первую очередь.

Теперь установите этот пакет компилятора из Microsoft:

http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=4422

Затем он установит компилятор и предоставит возможность использовать компилятор.

Ответ 5

Отличный ответ от Dougg3 выше. Просто так, что это помогает другим, я прошел процесс и сделал несколько снимков экрана, если он помогает кому-либо. У меня есть 64-разрядная версия Windows 10.

Это путь к файлу редактирования reg, на который ссылается Dougg. Ths Здесь нажмите кнопку "Дополнительно"

введите описание изображения здесь

Где он говорит, что владелец в верхней части страницы изменит ссылку введите описание изображения здесь

Следующее изображение имеет два шага - сначала нажмите "Дополнительно" из "Выбрать пользователя или группу", затем нажмите кнопку "Найти сейчас" в следующем диалоговом окне, которое имеет тот же заголовок. введите описание изображения здесь

Найдите пользователя, который хотите изменить владельца, затем нажмите ok введите описание изображения здесь

Нажмите "ОК" на следующей странице

введите описание изображения здесь

Перейдите к своему пользователю, которого вы только что выбрали в предыдущих диалогах, затем выберите "Разрешить полный контроль", затем нажмите "ОК" введите описание изображения здесь

Теперь вы можете редактировать версию. введите описание изображения здесь

После того, как вы закончите с этим, верните номер версии до того, что было до этого, и отмените предоставление полного контроля для этого реестра.

Ответ 6

скачать exe. измените расширение с 'exe' на 'zip'. извлеките файл сейчас. запустите SDKSetup.exe из каталога/Setup

Ответ 8

Если вы пытаетесь установить psycopg2 убедитесь, что ваш пункт обновлен, иначе вы получите эти ошибки.

pip install -U pip

pip install psycopg2-binary

Смотрите - http://initd.org/psycopg/docs/install.html