Problemas de instalação do DirectX SDK (junho de 2010): código de erro S1023

178

Parece que estou tendo alguns problemas na instalação do DirectX SDK. Tudo parece estar indo bem durante a instalação, mas no final recebo a mensagem:

A instalação falhou. Foram encontrados erros durante a instalação de pacotes redistribuíveis. Feche todos os programas abertos e tente executar a instalação novamente. Se os problemas persistirem, entre em contato com o Suporte ao desenvolvedor DirectX.

Código de erro: S1023

Bem, tentei fechar todos os programas abertos e instalar novamente, mas recebo o mesmo erro. O que é código de erro S1023? Eu tentei pesquisar no Google , mas encontrei muitas respostas diferentes sobre como lidar com isso e não tenho certeza do que fazer.

Eu tentei procurar nos arquivos de log C:\Windows\Logs. Existem 2 arquivos de log DirectX.loge DirectX_SDK.log. Não vejo nenhum sinal perceptível de "erro" ou "falha" de qualquer tipo.

De fato, a última linha do DirectX.log é:

11/04/10 18:36:27: dsetup32: instalação finalizada com o valor 0 = Instalação bem-sucedida

Alguém poderia ajudar? Estou executando o Vista (x64).

James
fonte
Eu acredito que, na maioria dos casos, o motivo desse erro é que você instalou um programa (por exemplo, um jogo) que elevou a versão redistribuível mais que a versão redistribuível do sdk, causando falha na instalação. Não sei se importa se a instalação falha ou não.
Max Deliso
Representante insuficiente para responder, mas como isso não é mencionado em nenhum lugar aqui: clique com o botão direito do mouse e selecione "executar como administrador" no instalador.
Harald Maassen
2
Parece que ninguém mencionou isso, mas você pode simplesmente ignorar a mensagem. SDK está instalado, e env vars set (Win10, junho de 2010 SDK)
FrozenKiwi

Respostas:

271

Eu tive o mesmo problema e para mim foi porque o x86 vc86 redist era muito recente.

Verifique sua pasta temporária (C: \ Users \\ AppData \ Local \ Temp) para obter o arquivo mais recente chamado

Microsoft Visual C ++ 2010 x64 Redistributable Setup_20110608_xxx.html ##

e verifique se você tem o seguinte erro

Bloqueadores de instalação:

Uma versão mais recente do Microsoft Visual C ++ 2010 Redistributable foi detectada na máquina.

Resultado final: a instalação falhou com o código de erro: (0x000013EC), "Um StopBlock foi atingido ou um sistema> requisito não foi atendido." (Tempo decorrido: 0 00:00:00).

vá para Painel de Controle> Programa e Recursos e desinstale todos os

Microsoft Visual C ++ 2010 x86 / x64 redistribuível - 10.0. (Número acima de 30319)

Após a instalação bem-sucedida do DXSDK, basta executar o Windows Update e ele atualizará os redistribuíveis para a versão mais recente.

Ugo Robain
fonte
5
Só pensei em postar e esse era meu problema exato, obrigado por compartilhar. O OP realmente deve marcar isso como a solução!
George
3
Alguma idéia de por que os redistribuíveis mais recentes colidem com a instalação? Posso reinstalá-los após a instalação? Ou eles causarão problemas?
magnattic
7
Se você personalizar a instalação, poderá evitar a instalação do redistribuível. Assim, você pode manter o mais novo ao instalar o SDK. Como alternativa, você pode simplesmente desinstalá-lo como sugerido e reinstalá-lo depois.
Fibericon
3
Existe algum risco na exclusão de redistribuíveis?
Arthur Mamou-Mani
4
@Fibericon FYI Parece que não consigo desmarcar a opção de instalar o DX redistribuível. Vou tentar o contrário. Obrigado por sugerir!
Vaillancourt
83

Já tive o mesmo problema duas vezes e a solução mais fácil e concisa que encontrei está localizada aqui (em MSDN Blogs -> Games for Windows e DirectX SDK). No entanto, no caso de a página cair, eis o método:

  1. Remova o pacote redistribuível do Visual C ++ 2010 versão 10.0.40219 (Service Pack 1) do sistema (x86 e x64, se aplicável). Isso pode ser feito facilmente através de uma linha de comando com direitos de administrador:

    MsiExec.exe /passive /X{F0C3E5D1-1ADE-321E-8167-68EF0DE699A5}
    MsiExec.exe /passive /X{1D8E6291-B0D5-35EC-8441-6616F567A0F7}
    
  2. Instale o DirectX SDK (junho de 2010)

  3. Reinstale o pacote redistribuível do Visual C ++ 2010 versão 10.0.40219 (Service Pack 1). Em um sistema x64, você deve instalar as versões x86 e x64 do C ++ REDIST. Certifique-se de instalar a versão mais atual disponível , que neste momento é o KB 2565063 com uma correção de segurança.

Nota: Esse problema não afeta a versão anterior do DirectX SDK, que implanta o CRIST REDIST do VS 2005 / VS 2008 e não implanta o REDIST CRT do VS 2010 / VS. Esse problema não afeta a Web do DirectX End-User Runtime ou o instalador autônomo, pois esses pacotes não implantam nenhuma versão do VC ++ CRT.

Verificador de integridade da soma de verificação de arquivo : É claro que isso pressupõe que você realmente possui uma cópia incorreta do pacote de instalação do DirectX SDK. A melhor maneira de validar isso é executar

fciv -sha1 DXSDK_Jun10.exe

e verifique se você recebe

8fe98c00fde0f524760bb9021f438bd7d9304a69 dxsdk_jun10.exe
Gregoltsov
fonte
Eu já tenho o link para o artigo na minha resposta, @midspace
gregoltsov
Obrigado Gregory. Meu navegador (IE) deve ter me decepcionado naquele dia, pois não me lembro de ter visto nenhum link (sem texto colorido) em sua postagem. Usando o Safari hoje, e eu posso ver todos eles. : /
midspace 27/11/12
2
Apenas fazendo número 1 me ajude .. A sua resposta isto é, não tomar uma oui oui
Jimmyt1988
22

Aqui está a resposta oficial da Microsoft: http://blogs.msdn.com/b/chuckw/archive/2011/12/09/known-issue-directx-sdk-june-2010-setup-and-the-s1023- error.aspx

Resumo se você preferir não clicar:

  1. Remova o pacote redistribuível do Visual C ++ 2010 versão 10.0.40219 (Service Pack 1) do sistema (x86 e x64, se aplicável). Isso pode ser feito facilmente através de uma linha de comando com direitos de administrador:

    MsiExec.exe / passive / X {F0C3E5D1-1ADE-321E-8167-68EF0DE699A5}

    MsiExec.exe / passive / X {1D8E6291-B0D5-35EC-8441-6616F567A0F7}

  2. Instale o DirectX SDK (junho de 2010)

  3. Reinstale o pacote redistribuível do Visual C ++ 2010 versão 10.0.40219 (Service Pack 1). Em um sistema x64, você deve instalar as versões x86 e x64 do C ++ REDIST. Certifique-se de instalar a versão mais atual disponível, que neste momento é o KB2565063 com uma correção de segurança.

Windows SDK: O Windows SDK 7.1 tem exatamente o mesmo problema observado no KB 2717426 .

Carl
fonte
Esta foi de longe as soluções mais fáceis. Eu amo como você adicionou os comandos Msiexec, me poupou muito aborrecimento. Acabamos removendo as versões atualizadas e a instalação foi ótima. Pensarei em adicioná-los novamente quando localizar o aplicativo que os exigia.
Alex Summers
2

Encontre Microsoft Visual C ++ 2010 x86 / x64 Redistributable - 10.0.xxxxx no painel de controle dos programas de adição ou remoção, se xxxxx> 30319 o renomear

Eu só queria dizer que isso (eu também esvaziei minha pasta temporária, em Computador-> C: -> Propriedades-> Limpeza de disco) fez com que o SDK do DirectX junho de 2010 fosse instalado sem falhas, tenho Vista32bit para tudo o que importa. Obrigado Mr.Lyn! :)

Programador iniciante
fonte
1

Depois de desinstalar muito na minha máquina Win7-64bit, fiquei preso aqui também. Eu não queria reinstalar o sistema operacional e nenhum dos truques trabalhados esperam esse corte de registro abaixo. A maioria desse truque foi encontrada em uma porta pchelpforum antiga, mas tive que adaptá-la à minha instalação de 64 bits:

(Para um reparo de 32 bits, provavelmente pule o caminho Wow6432Node)

  1. Iniciar regedit
  2. Vá para HKEY_LOCAL_MACHINE-> SOFTWARE-> Wow6432Node-> Microsoft-> ​​DirectX
  3. Se essa pasta do DirectX não existir, crie-a.
  4. Se já estiver aqui, verifique se está vazio.
  5. Agora, clique com o botão direito do mouse na janela vazia à direita e adicione esses dados (provavelmente haverá pelo menos um valor padrão de string localizado aqui, deixe-o):

    New->Binary Value
    Name: InstalledVersion
    Type: REG_BINARY
    Data: 00 00 00 09 00 00 00 00
    
    New->DWORD (32-bit) Value
    Name: InstallMDX
    Type: REG_DWORD
    Data: 0x00000001
    
    New->String Value
    Name: SDKVersion
    Type: REG_SZ
    Data: 9.26.1590.0
    
    New->String Value
    Name: Version
    Type: REG_SZ
    Data: 4.09.00.0904
    
  6. Reinstale usando o instalador mais recente do DXSDK. A opção somente tempo de execução também pode funcionar, mas eu não a testei.

  7. Lucro!
MattiasF
fonte
A solução no site da Microsoft: answers.microsoft.com/en-us/windows/forum/…
Der_Meister
1

Encontre Microsoft Visual C ++ 2010 x86 / x64 Redistributable - 10.0.xxxxx no painel de controle dos programas de adição ou remoção, se xxxxx> 30319 o renomear

Mr.Lyn
fonte
0

Eu também encontrei esse problema. E eu estou executando no XP SP3.

O site a seguir http://www.docin.com/p-60410380.html# apontando a solução. Mas é chinês simplificado.

Eu traduzi sua idéia principal para o inglês aqui.

execute regedit; abra HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ DirectX Em seguida, você deve alterar os dois itens a seguir: Item 1: Nome: Versão, Tipo: REG_SZ, O valor deve ser um número bastante pequeno para obter êxito na instalação.

Item 2: Nome: SDKVersion. Mas na sua máquina, o nome pode ser diferente, por exemplo, pode ser ManagedDirectXVersion. Mas o tipo deve ser REG_SZ. Tipo: REG_SZ, O valor deve ser um número bastante pequeno para obter êxito na instalação.

Na verdade, você pode consultar o arquivo DirectX.lgo para encontrar o número exato da versão.

Funciona para mim.

Yuncy
fonte