【问题标题】:DirectX SDK (June 2010) Installation Problems: Error Code S1023DirectX SDK(2010 年 6 月)安装问题:错误代码 S1023
【发布时间】:2011-05-05 08:58:49
【问题描述】:

我似乎在安装 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)。

【问题讨论】:

  • 我相信在大多数情况下,出现此错误的原因是您安装了一个程序(例如游戏),导致可再发行版本高于 sdk 的可再发行版本,导致安装失败。我不确定安装失败是否重要。
  • 没有足够的代表来回答,但因为这里没有提到这点:确保右键单击并在安装程序上选择“以管理员身份运行”。
  • 似乎没有人提到这一点,但您可以忽略该消息。已安装 SDK,并设置了 env vars(Win10,2010 年 6 月 SDK)

标签: directx vista64


【解决方案1】:

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

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

我在这里把它的主要思想翻译成英文。

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

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

其实你可以参考DirectX.lgo文件找到准确的版本号。

它对我有用。

【讨论】:

    【解决方案2】:

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

    检查您的临时文件夹 (C:\Users\\AppData\Local\Temp) 中是否有名为

    的最新文件

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

    并检查是否出现以下错误

    安装拦截器:

    在机器上检测到更新版本的 Microsoft Visual C++ 2010 Redistributable。

    最终结果:安装失败,错误代码:(0x000013EC),“A StopBlock was hit or a System >Required was not meet.” (经过时间:0 00:00:00)。

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

    Microsoft Visual C++ 2010 x86/x64 可再发行版 - 10.0.(编号超过 30319)

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

    【讨论】:

    • 只是想我会发布,这是我的确切问题,谢谢分享。 OP 真的应该将此标记为解决方案!
    • 知道为什么较新的可再发行组件会与安装发生冲突吗?我可以在设置后重新安装它们吗?还是会惹麻烦?
    • 如果您自定义安装,您可以避免安装可再发行组件。因此,您可以在安装 SDK 时保留较新的版本。或者,您可以按照建议将其卸载,然后重新安装。
    • 删除可再发行文件有风险吗?
    • @Fibericon 仅供参考,我似乎无法取消选择安装 DX 可再发行组件的选项。我会尝试相反的方法。不过还是谢谢你的建议!
    【解决方案3】:

    在我的 Win7-64 位机器上卸载太多之后,我也被困在这里。我不想重新安装操作系统,并且没有任何技巧适用于下面的注册表黑客攻击。我在一个旧的 pchelpforum 端口中发现了大部分这个技巧,但我必须将其调整为我的 64 位安装:

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

    1. 开始注册
    2. 转到 HKEY_LOCAL_MACHINE-> SOFTWARE-> 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】:

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

    【讨论】:

      【解决方案5】:

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

      我只想说这(我还清空了我的临时文件夹,在计算机-> C:-> 属性-> 磁盘清理中)使 DirectX 2010 年 6 月 SDK 安装成功,我拥有 Vista32 位。 谢谢林先生! :)

      【讨论】:

        【解决方案6】:

        我已经两次遇到同样的问题,我找到的最简单和最简洁的解决方案位于 here(在 MSDN 博客 -> 适用于 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。

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

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

        fciv -sha1 DXSDK_Jun10.exe
        

        并验证你得到了

        8fe98c00fde0f524760bb9021f438bd7d9304a69 dxsdk_jun10.exe
        

        【讨论】:

        • 我的答案中已经有文章的链接,@midspace
        • 谢谢格雷戈里。那天我的浏览器(IE)一定让我很伤心,因为我不记得在你的帖子中看到任何链接(没有彩色文本)。今天使用 Safari,我可以看到所有这些。 ://
        • 只做 1 对我有帮助.. 你的回答是,不采取 oui oui
        【解决方案7】:

        这是来自微软的官方回答: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。

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

        【讨论】:

        • 这是迄今为止最简单的解决方案。我喜欢你添加 Msiexec 命令的方式,为我省去了很多麻烦。最终删除了更新的版本,安装非常顺利。找到需要它们的应用后,我会考虑重新添加它们。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-05-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多