Problemas de instalación de DirectX SDK (junio de 2010): Código de error S1023

178

Parece que tengo algunos problemas para instalar el SDK de DirectX. Todo parece ir bien durante la instalación, pero al final recibo el mensaje:

La instalación falló. Se encontraron errores durante la instalación de paquetes redistribuibles. Cierre todos los programas abiertos e intente ejecutar la instalación nuevamente. Si los problemas persisten, comuníquese con el Soporte para desarrolladores de DirectX.

Código de error: S1023

Bueno, he intentado cerrar todos los programas abiertos e instalarlos nuevamente, pero me sale el mismo error. ¿Qué es el código de error S1023? Lo intenté buscar en Google , pero encontré muchas respuestas diferentes sobre cómo tratarlo y no estoy seguro de qué hacer.

He intentado buscar en los archivos de registro C:\Windows\Logs. Hay 2 archivos de registro,DirectX.log y DirectX_SDK.log. No veo ningún signo notable de "error" o "falla" de ningún tipo.

De hecho, la última línea en DirectX.log es:

11/04/10 18:36:27: dsetup32: la instalación finalizó con el valor 0 = la instalación se realizó correctamente

¿Alguien podría ayudarme? Estoy ejecutando Vista (x64).

James
fuente
Creo que, en la mayoría de los casos, la razón de este error es que instaló un programa (por ejemplo, un juego) que elevó la versión redistribuible más alta que la versión redistribuible del sdk, lo que provocó que la instalación fallara. No estoy seguro de si es importante que la instalación falle o no.
Max DeLiso
No hay suficientes representantes para responder, pero como esto no se menciona en ninguna parte: asegúrese de hacer clic derecho y seleccionar "ejecutar como administrador" en el instalador.
Harald Maassen
2
Parece que nadie mencionó esto, pero puede ignorar el mensaje. SDK está instalado, y env vars fija (Win10, junio de 2010 SDK)
FrozenKiwi

Respuestas:

271

Tuve el mismo problema y para mí fue porque el vc2010 redist x86 era demasiado reciente.

Verifique su carpeta temporal (C: \ Users \\ AppData \ Local \ Temp) para ver el archivo más reciente llamado

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

y verifica si tienes el siguiente error

Bloqueadores de instalación:

Se detectó una versión más reciente de Microsoft Visual C ++ 2010 Redistributable en la máquina.

Resultado final: La instalación falló con el código de error: (0x000013EC), "Se alcanzó un StopBlock o no se cumplió un Sistema> Requisito". (Tiempo transcurrido: 0 00:00:00).

luego vaya a Panel de control> Programa y características y desinstale todos los

Microsoft Visual C ++ 2010 x86 / x64 redistribuible - 10.0. (Número superior a 30319)

Después de la instalación exitosa de DXSDK, simplemente ejecute Windows Update y actualizará los redistribuibles a la última versión.

Ugo Robain
fuente
55
Solo pensé en publicar y este era mi problema exacto, gracias por compartir. ¡El OP realmente debería marcar esto como la solución!
George
3
¿Alguna idea de por qué los nuevos redistribuibles chocan con la instalación? ¿Puedo reinstalarlos después de la configuración? ¿O causarán problemas?
magnético
77
Si personaliza la instalación, puede abstenerse de instalar el redistribuible. Por lo tanto, puede mantener el más nuevo al instalar el SDK. Alternativamente, puede desinstalarlo como se sugiere y volver a instalarlo después.
Fibericon
3
¿Existe algún riesgo al eliminar los redistribuibles?
Arthur Mamou-Mani
44
@Fibericon FYI Parece que no puedo anular la selección de la opción para instalar el DX redistribuible. Lo intentaré al revés. Gracias por sugerir, sin embargo!
Vaillancourt
83

Ya he tenido el mismo problema dos veces y la solución más fácil y concisa que encontré se encuentra aquí (en Blogs de MSDN -> Juegos para Windows y DirectX SDK). Sin embargo, en caso de que esa página se caiga, este es el método:

  1. Elimine el paquete redistribuible de Visual C ++ 2010 versión 10.0.40219 (Service Pack 1) del sistema (tanto x86 como x64 si corresponde). Esto se puede hacer fácilmente a través de una línea de comandos con derechos de administrador:

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

  3. Vuelva a instalar el paquete redistribuible de Visual C ++ 2010 versión 10.0.40219 (Service Pack 1). En un sistema x64, debe instalar las versiones x86 y x64 de C ++ REDIST. Asegúrese de instalar la versión más reciente disponible , que en este momento es el KB 2565063 con una solución de seguridad.

Nota: Este problema no afecta a la versión anterior del DirectX SDK que implementa VS 2005 / VS 2008 CRT REDIST y no implementa VS 2010 CRT REDIST. Este problema no afecta a la web de DirectX End-User Runtime o al instalador independiente, ya que esos paquetes no implementan ninguna versión de VC ++ CRT.

Comprobador de integridad de suma de comprobación de archivos : esto, por supuesto, supone que en realidad tiene una copia no corrupta del paquete de instalación de DirectX SDK. La mejor manera de validar esto es ejecutar

fciv -sha1 DXSDK_Jun10.exe

y verifica que obtienes

8fe98c00fde0f524760bb9021f438bd7d9304a69 dxsdk_jun10.exe
gregoltsov
fuente
Ya tengo el enlace al artículo en mi respuesta, @midspace
gregoltsov
Gracias Gregory Mi navegador (IE) debe haberme causado dolor ese día, ya que no recuerdo haber visto ningún enlace (sin texto en color) en su publicación. Usando Safari hoy, y puedo verlos todos. : /
midspace
2
Simplemente hacer el número 1 me ayuda ... Tu respuesta es no tomar un oui oui
Jimmyt1988
22

Aquí está la respuesta oficial de Microsoft: http://blogs.msdn.com/b/chuckw/archive/2011/12/09/known-issue-directx-sdk-june-2010-setup-and-the-s1023- error.aspx

Resumen si prefiere no hacer clic:

  1. Elimine el paquete redistribuible de Visual C ++ 2010 versión 10.0.40219 (Service Pack 1) del sistema (tanto x86 como x64 si corresponde). Esto se puede hacer fácilmente a través de una línea de comandos con derechos de administrador:

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

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

  2. Instale el SDK de DirectX (junio de 2010)

  3. Vuelva a instalar el paquete redistribuible de Visual C ++ 2010 versión 10.0.40219 (Service Pack 1). En un sistema x64, debe instalar las versiones x86 y x64 de C ++ REDIST. Asegúrese de instalar la versión más reciente disponible, que en este momento es el KB2565063 con una solución de seguridad.

Windows SDK: Windows SDK 7.1 tiene exactamente el mismo problema que se indica en KB 2717426 .

Carl
fuente
Esta fue, con mucho, la solución más fácil. Me encanta cómo agregaste los comandos de Msiexec, me ahorraste muchas molestias. Terminé eliminando las versiones actualizadas, y la instalación fue genial. Pensaré en volver a agregarlos una vez que encuentre la aplicación que los requirió.
Alex Summers
2

Busque Microsoft Visual C ++ 2010 x86 / x64 Redistributable - 10.0.xxxxx en el panel de control de los programas para agregar o quitar si xxxxx> 30319 lo quita

Solo quería decir que esto (también vacié mi carpeta temporal, en Computer-> C: -> Properties-> Disk Cleanup) hizo que la instalación del SDK de DirectX de junio de 2010 sin fallas, tengo Vista32bit para todo lo que importa. Gracias señor Lyn! :)

Programador principiante
fuente
1

Después de desinstalar demasiado en mi máquina Win7-64bit, me quedé atascado aquí también. No quería reinstalar el sistema operativo y ninguno de los trucos funcionó para este truco del registro a continuación. La mayor parte de este truco lo encontré en un antiguo puerto pchelpforum pero tuve que adaptarlo a mi instalación de 64 bits:

(Para una reparación de 32 bits, probablemente omita la ruta Wow6432Node)

  1. Comience regedit
  2. Vaya a HKEY_LOCAL_MACHINE-> SOFTWARE-> Wow6432Node-> Microsoft-> ​​DirectX
  3. Si esta carpeta DirectX no existe, créela.
  4. Si ya está aquí, asegúrese de que esté vacío.
  5. Ahora haga clic derecho en la ventana vacía a la derecha y agregue estos datos (probablemente habrá al menos un valor de cadena predeterminado ubicado aquí, solo déjelo):

    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. Vuelva a instalar utilizando el último instalador DXSDK. La opción de solo tiempo de ejecución también puede funcionar, pero no la probé.

  7. ¡Lucro!
MattiasF
fuente
La solución en el sitio de Microsoft: answers.microsoft.com/en-us/windows/forum/…
Der_Meister
1

Busque Microsoft Visual C ++ 2010 x86 / x64 Redistributable - 10.0.xxxxx en el panel de control de los programas para agregar o quitar si xxxxx> 30319 lo quita

Señor lyn
fuente
0

También me he encontrado con este problema. Y estoy corriendo en XP SP3.

El siguiente sitio web http://www.docin.com/p-60410380.html# señala la solución. Pero es chino simplificado.

Traduje su idea principal al inglés aquí.

ejecutar regedit; abra HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ DirectX Luego debe cambiar los siguientes dos elementos: Elemento 1: Nombre: Versión, Tipo: REG_SZ, El valor debe ser un número bastante pequeño para que la instalación sea exitosa.

Artículo 2: Nombre: SDKVersion. Pero en su máquina, el nombre puede ser diferente, por ejemplo, puede ser ManagedDirectXVersion. Pero el tipo debería ser REG_SZ. Escriba: REG_SZ, el valor debe ser un número bastante pequeño para que la instalación sea exitosa.

De hecho, puede consultar el archivo DirectX.lgo para encontrar el número de versión exacto.

Esto funciona para mi.

Yuncy
fuente