DirectX SDK(2010年6月)安装问题:错误代码S1023

时间:2010-11-04 23:13:41

标签: directx vista64

我似乎在安装DirectX SDK时遇到了一些问题。在安装过程中,一切似乎都很顺利,但最后我收到了消息:

  

安装失败。   安装可再发行软件包时遇到错误。   请关闭所有打开的程序并再次尝试运行安装程序。   如果问题仍然存在,请联系DirectX开发人员支持。

     

错误代码:S1023

好吧,我已经尝试关闭所有打开的程序并重新安装但是我得到了同样的错误。什么是错误代码S1023?我尝试了谷歌搜索,但发现了许多不同的响应,如何处理它,我不知道该怎么做。

我试过查看C:\Windows\Logs中的日志文件。有2个日志文件DirectX.logDirectX_SDK.log。我没有看到任何明显的“错误”或“失败”迹象。

实际上,DirectX.log中的最后一行是:

  

11/04/10 18:36:27:dsetup32:安装以值0结束=安装成功

有人可以帮忙吗?我正在运行Vista(x64)。

7 个答案:

答案 0 :(得分:268)

我遇到了同样的问题,对我来说这是因为vc2010 redist x86太近了。

检查您的临时文件夹(C:\ Users \\ AppData \ Local \ Temp)以获取名为

的最新文件

Microsoft Visual C ++ 2010 x64可再发行的Setup_20110608_xxx.html ##

并检查是否有以下错误

  

安装拦截器:

     

在计算机上检测到较新版本的Microsoft Visual C ++ 2010 Redistributable。

     

最终结果:安装失败,错误代码为:(0x000013EC),“遇到StopBlock或系统>要求未得到满足。” (经过时间:0 00:00:00)。

然后转到控制面板>程序&功能和卸载所有

Microsoft Visual C ++ 2010 x86 / x64可再发行 - 10.0。(数量超过30319)

成功安装DXSDK后,只需运行Windows Update,它就会将可再发行组件更新回最新版本。

答案 1 :(得分:82)

我已经两次遇到同样的问题了,我找到的最简单,最简洁的解决方案是here(在MSDN博客中 - > Games for Windows和DirectX SDK)。但是,如果页面出现故障,请按以下方法进行操作:

  1. 从系统中删除Visual C ++ 2010 Redistributable Package 10.0.40219版(Service Pack 1)(如果适用,则为x86和x64)。这可以通过具有管理员权限的命令行轻松完成:

    MsiExec.exe /passive /X{F0C3E5D1-1ADE-321E-8167-68EF0DE699A5}
    MsiExec.exe /passive /X{1D8E6291-B0D5-35EC-8441-6616F567A0F7}
    
  2. 安装DirectX SDK(2010年6月)

  3. 重新安装Visual C ++ 2010 Redistributable Package 10.0.40219版(Service Pack 1)。在x64系统上,您应该同时安装C ++ REDIST的x86和x64版本。请确保安装最多current version available,此时此版本是带有安全修复程序的KB 2565063.

  4.   

    注意:此问题不会影响部署VS 2005 / VS 2008 CRT REDIST的早期版本的DirectX SDK,也不会影响VS 2010 CRT REDIST。此问题不会影响DirectX最终用户运行时Web或独立安装程序,因为这些软件包不会部署任何版本的VC ++ CRT。

    文件校验和完整性验证程序:这当然假设您实际上拥有DirectX SDK安装程序包的未损坏副本。验证它运行的最佳方法

    fciv -sha1 DXSDK_Jun10.exe
    

    并验证你

    8fe98c00fde0f524760bb9021f438bd7d9304a69 dxsdk_jun10.exe
    

答案 2 :(得分:21)

以下是Microsoft的官方回答:http://blogs.msdn.com/b/chuckw/archive/2011/12/09/known-issue-directx-sdk-june-2010-setup-and-the-s1023-error.aspx

摘要如果您不想点击:

  1. 从系统中删除Visual C ++ 2010 Redistributable Package 10.0.40219版(Service Pack 1)(如果适用,则为x86和x64)。这可以通过具有管理员权限的命令行轻松完成:

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

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

  2. 安装DirectX SDK(2010年6月)

  3. 重新安装Visual C ++ 2010 Redistributable Package 10.0.40219版(Service Pack 1)。在x64系统上,您应该同时安装C ++ REDIST的x86和x64版本。请务必安装最新版本,此时版本为带有安全修复程序的KB2565063。

  4. Windows SDK:Windows SDK 7.1与KB 2717426中提到的问题完全相同。

答案 3 :(得分:2)

在我的Win7-64bit机器上卸载太多后,我也被困在这里。我不想重新安装操作系统,并且没有任何技巧可用于下面的这个注册表黑客。我在旧的pchelpforum端口找到的大部分技巧,但我不得不将其改编为我的64位安装:

(对于32位修复,可能跳过Wow6432Node路径)

  1. 启动regedit
  2. 转到HKEY_LOCAL_MACHINE->软件 - > Wow6432Node-> Microsoft->的DirectX
  3. 如果此DirectX文件夹不存在,请创建它。
  4. 如果已经在这里,请确保它是空的。
  5. 现在右键单击右侧的空窗口并添加此数据(此处可能至少有一个默认字符串值,只需保留):

    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. 使用最新的DXSDK安装程序重新安装。 “仅限运行时”选项也可以使用,但我没有对其进行测试。

  7. 利润!

答案 4 :(得分:2)

在添加或删除程序的控制面板中查找Microsoft Visual C ++ 2010 x86 / x64 Redistributable - 10.0.xxxxx 如果xxxxx> 30319 移除它

我只想说这个(我还清空了我的临时文件夹,在计算机 - > C: - >属性 - >磁盘清理)使DirectX 2010年6月SDK安装没有失败,我有所有的Vista32bit这很重要。 谢谢Mr.Lyn! :)

答案 5 :(得分:1)

在添加或删除程序的控制面板中查找Microsoft Visual C ++ 2010 x86 / x64 Redistributable - 10.0.xxxxx 如果xxxxx> 30319 移除它

答案 6 :(得分:0)

我也遇到过这个问题。我在XP SP3中运行。

以下网站http://www.docin.com/p-60410380.html#指出了解决方案。 但它是简体中文。

我把它的主要想法翻译成英文。

运行注册表; 打开HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ DirectX 然后,您必须更改以下两项: 第1项: 名称:版本, 类型:REG_SZ, 该值应该是一个相当小的数字,以使安装成功。

第2项: 名称:SDKVersion。但是在您的机器中,名称可以不同,例如,它可以是ManagedDirectXVersion。但类型应该是REG_SZ。 类型:REG_SZ, 该值应该是一个相当小的数字,以使安装成功。

实际上,您可以参考DirectX.lgo文件来查找确切的版本号。

它对我有用。