Não é possível instalar o Windows SDK 7.1 no Windows 10

Eu sou um desenvolvedor de software com um PC com Windows 10. Eu tenho que suportar algum software mais antigo escrito no Visual Studio 2010 usando o Windows SDK 7.1

Na tentativa de configurar o ambiente de desenvolvimento, instalei com êxito o VS2010 e vi para instalar o Windows SDK 7.1, no entanto, o instalador dá o erro:

Alguns componentes não podem ser instalados

Alguns componentes do SDK do Windows exigem o RTM .NET Framework 4. A instalação detectou uma versão de pré-lançamento do .NET Framework 4. Se você continuar a instalação, esses componentes não serão instalados. Se você deseja instalar esses componentes, clique em Cancelar, instale o .NET Framework 4 em http://go.microsoft.com/fwlink/?LinkID=187668 e, em seguida, execute novamente a instalação.

No entanto, o Windows 10 vem com o .NET 4.5, então, tanto quanto eu posso dizer, há outro problema de verificação de versão.

Isso não me preocuparia tanto, mas ao tentar instalar a atualização do compilador do Visual Studio 2010, isso falha, dizendo

não pode instalar porque o windows sdk 7.1 não foi encontrado

A tentativa de instalar o .NET 4 falha porque detecta uma versão posterior do .NET.

Eu tropecei em outra solução alternativa, que eu também publiquei em um thread msdn :

  1. Desinstale qualquer Redistribuível do Visual C ++ 2010 no painel de controle primeiro.

  2. Faça o download da imagem ISO off-line correspondente do arquivo do Windows SDK. Isso lista qual ISO é qual.

  3. Após montar a imagem, abra F: \ Setup \ SDKSetup.exe diretamente.

Eu acabei de me deparar com esse mesmo problema. Não faço ideia de como isso é seguro, mas consegui contorná-lo temporariamente fazendo com que o instalador pensasse que eu tinha uma versão diferente do .NET 4.0 instalada. Eu abri o Process Monitor e usei-o para monitorar tudo o que o setup.exe estava fazendo para descobrir como estava determinando que eu tinha uma versão de “pré-lançamento” do .NET 4.0.

Acontece que ele olha para essas duas seqüências no registro:

  • 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

Na minha máquina Windows 10, estes atualmente são ambos 4.6.00079 . O instalador não parece gostar desse valor. Eu substituí temporariamente os dois com a string 4.0.30319 no regedit para combinar com o valor do InstallPath, e isso pareceu resolver o problema. E, claro, quando terminei, coloquei-os de volta como eram originalmente.

No entanto, eu não tinha permissão para alterar esses valores, então foi um pouco complicado. Cliquei com o botão direito do mouse na chave do Client , selecionei Permissões e cliquei em Avançado. Então mudei o proprietário para minha conta de usuário em vez de TrustedInstaller. Isso me permitiu adicionar permissions para controle total para mim, para que eu pudesse modificar o valor da Version . Eu repeti o mesmo processo na tecla Full . Depois que o instalador foi concluído com êxito, eu coloquei os valores da versão original novamente ( 4.6.00079 ), excluí as permissions que adicionei para mim e restaurei o proprietário para TrustedInstaller (para fazer isso, digite NT SERVICE\TrustedInstaller como o nome de usuário).

Pode haver uma maneira mais segura / mais fácil de interceptar as leituras do registro do que realmente modificar o registro, mas isso foi simples o suficiente para mim!

Resposta do @ dougg3 com script:

Primeiro instale o SubInAcl, pode ser baixado da Microsoft aqui . Talvez seja necessário adicioná-lo ao seu PATH, ex: set PATH=%PATH%;C:\Program Files (x86)\Windows Resource Kits\Tools

Em seguida, execute esses comandos em um prompt cmd elevado:

 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" 

Instale o SDK 7.1 no seu computador, ele falhará principalmente nos extras do compilador, mas você precisará disto primeiro.

Agora instale este pacote de compilador da Microsoft:

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

Em seguida, instalará o compilador e possibilitará o uso do compilador.

Excelente resposta por Dougg3 acima. Só para ajudar os outros, eu passei pelo processo e tirei algumas capturas de canvas para o caso de ajudar alguém. Eu tenho o Windows 10 de 64 bits.

Este é o caminho do arquivo de edição de registro que o Dougg referenciou. Ths Aqui clique no botão Avançado

insira a descrição da imagem aqui

Onde diz Proprietário na parte superior, clique no link Alterar insira a descrição da imagem aqui

A próxima imagem tem dois passos – primeiro clique em Avançado em “Selecionar usuário ou grupo” e clique no botão Localizar agora no próximo diálogo que tenha o mesmo título. insira a descrição da imagem aqui

Encontre o usuário que você deseja alterar o proprietário e clique em ok insira a descrição da imagem aqui

Clique ok na próxima página

insira a descrição da imagem aqui

Vá para o seu usuário que você acabou de selecionar nas checkboxs de diálogo anteriores e selecione Permitir controle total, depois clique em OK insira a descrição da imagem aqui

Agora você pode editar a versão. insira a descrição da imagem aqui

Depois que você terminar, reverta o número da versão para o que era antes e desfaça o controle total para esse registro.

baixe o exe. mude a extensão de ‘exe’ para ‘zip’. extraia o arquivo agora. execute SDKSetup.exe dentro do diretório / Setup

Eu só precisava compilar o código de outra pessoa rapidamente e essa foi a correção para mim no Windows 10.

https://www.microsoft.com/pt-br/download/details.aspx?id=4422