问题
I seem to be having some problems installing the DirectX SDK. Everything seems to be going well during the install, but at the end I get the message:
Setup failed. Errors were encountered during installation of redistributable packages. Please close all open programs and try running setup again. If problems persist, contact DirectX Developer Support.
Error Code: S1023
Well, I have tried closing all open programs and installing again but I get the same error. What is error code S1023
? I tried Googling, but found many different responses for how to deal with it and I'm not sure what to do.
I have tried looking in the log files in C:\Windows\Logs
. There are 2 log files, DirectX.log
and DirectX_SDK.log
. I do not see any noticeable signs of "error" or "failure" of any kind.
In fact, the very last line in DirectX.log is:
11/04/10 18:36:27: dsetup32: Installation ended with value 0 = Installation succeeded
Could anyone please help? I am running Vista (x64).
回答1:
I had the same problem and for me it was because the vc2010 redist x86 was too recent.
Check your temp folder (C:\Users\\AppData\Local\Temp) for the most recent file named
Microsoft Visual C++ 2010 x64 Redistributable Setup_20110608_xxx.html ##
and check if you have the following error
Installation Blockers:
A newer version of Microsoft Visual C++ 2010 Redistributable has been detected on the machine.
Final Result: Installation failed with error code: (0x000013EC), "A StopBlock was hit or a System >Requirement was not met." (Elapsed time: 0 00:00:00).
then go to Control Panel>Program & Features and uninstall all the
Microsoft Visual C++ 2010 x86/x64 redistributable - 10.0.(number over 30319)
After successful installation of DXSDK, simply run Windows Update and it will update the redistributables back to the latest version.
回答2:
I've had the same problem twice already and the easiest and most concise solution that I found is located here (in MSDN Blogs -> Games for Windows and the DirectX SDK). However, just in case that page goes down, here's the method:
Remove the Visual C++ 2010 Redistributable Package version 10.0.40219 (Service Pack 1) from the system (both x86 and x64 if applicable). This can be easily done via a command-line with administrator rights:
MsiExec.exe /passive /X{F0C3E5D1-1ADE-321E-8167-68EF0DE699A5} MsiExec.exe /passive /X{1D8E6291-B0D5-35EC-8441-6616F567A0F7}
Install the DirectX SDK (June 2010)
Reinstall the Visual C++ 2010 Redistributable Package version 10.0.40219 (Service Pack 1). On an x64 system, you should install both the x86 and x64 versions of the C++ REDIST. Be sure to install the most current version available, which at this point is the KB 2565063 with a security fix.
Note: This issue does not affect earlier version of the DirectX SDK which deploy the VS 2005 / VS 2008 CRT REDIST and do not deploy the VS 2010 CRT REDIST. This issue does not affect the DirectX End-User Runtime web or stand-alone installer as those packages do not deploy any version of the VC++ CRT.
File Checksum Integrity Verifier: This of course assumes you actually have an uncorrupted copy of the DirectX SDK setup package. The best way to validate this it to run
fciv -sha1 DXSDK_Jun10.exe
and verify you get
8fe98c00fde0f524760bb9021f438bd7d9304a69 dxsdk_jun10.exe
回答3:
Here is the official answer from Microsoft: http://blogs.msdn.com/b/chuckw/archive/2011/12/09/known-issue-directx-sdk-june-2010-setup-and-the-s1023-error.aspx
Summary if you'd rather not click through:
Remove the Visual C++ 2010 Redistributable Package version 10.0.40219 (Service Pack 1) from the system (both x86 and x64 if applicable). This can be easily done via a command-line with administrator rights:
MsiExec.exe /passive /X{F0C3E5D1-1ADE-321E-8167-68EF0DE699A5}
MsiExec.exe /passive /X{1D8E6291-B0D5-35EC-8441-6616F567A0F7}
Install the DirectX SDK (June 2010)
Reinstall the Visual C++ 2010 Redistributable Package version 10.0.40219 (Service Pack 1). On an x64 system, you should install both the x86 and x64 versions of the C++ REDIST. Be sure to install the most current version available, which at this point is the KB2565063 with a security fix.
Windows SDK: The Windows SDK 7.1 has exactly the same issue as noted in KB 2717426.
回答4:
After uninstalling too much on my Win7-64bit machine I was stuck here too. I didn't want to reinstall the OS and none of the tricks worked expect for this registry hack below. Most of this trick I found in an old pchelpforum port but I had to adapt it to my 64-bit installation:
(For a 32-bit repair, probably skip the Wow6432Node path)
- Start regedit
- Go to HKEY_LOCAL_MACHINE-> SOFTWARE-> Wow6432Node-> Microsoft->DirectX
- If this DirectX folder doesn't exist, create it.
- If already here, make sure it's empty.
Now right click in the empty window on the right and add this data (there will probably be at least a Default string value located here, just leave it):
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
Reinstall using latest DXSDK installer. Runtime only option may work too but I didn't test it.
- Profit!
回答5:
Find Microsoft Visual C++ 2010 x86/x64 Redistributable – 10.0.xxxxx in the control panel of the add or remove programs if xxxxx > 30319 renmove it
I just wanted to say that this(I also emptied my temp folder, in Computer->C:->Properties->Disk Cleanup) made the DirectX June 2010 SDK install without failure, I have Vista32bit for all it matters. Thank you Mr.Lyn! :)
回答6:
Find Microsoft Visual C++ 2010 x86/x64 Redistributable – 10.0.xxxxx in the control panel of the add or remove programs if xxxxx > 30319 renmove it
回答7:
I have encounter this issue too. And I'm running in XP SP3.
The following website http://www.docin.com/p-60410380.html# pointing out the solution. But it's simplified Chinese.
I translated its main idea into English here.
run regedit; open HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DirectX Then you must change the following two items: Item 1: Name: Version, Type:REG_SZ, The value should be a rather little number to make the installation success.
Item 2: Name: SDKVersion. But in your machine, the name can be different, for example, it can be ManagedDirectXVersion. But the type should be REG_SZ. Type:REG_SZ, The value should be a rather little number to make the installation success.
In fact, you can refer to the DirectX.lgo file to find the exact version number.
It works for me.
来源:https://stackoverflow.com/questions/4102259/directx-sdk-june-2010-installation-problems-error-code-s1023