DirectX 安装失败,先打开 C:\Windows\Logs\DirectX\DXError.log 拿到具体错误码:报 S1023 说明系统里已有更新版本的 DirectX 组件,多半是 Microsoft Visual C++ 2010 Redistributable 的 x86/x64 在作祟,把这两项卸掉再重装。
报 0x80070643 或安装程序写不进文件,就用 sfc /scannow 加 DISM /Online /Cleanup-Image /RestoreHealth 修系统组件;在线包装不上换离线包 DXSETUP.exe。
装完仍提示 d3dx9_43.dll、xinput1_3.dll 缺失,说明 DirectX 9 旧组件没补齐,补全运行库收尾。
这类失败大多出在系统环境和旧运行库残留上,显卡和硬件本身一般没坏,不必急着重装系统或送修。以下方法在 Windows 10/11 实测可用。
适用系统:Windows 10/11;最后更新:2026-09-30。
DirectX 安装失败,先分清是哪种报错
双击安装包,进度条走到一半退回去,窗口上写着 S1023、0x80070643,或者干脆来一句「安装程序无法继续」;也有的提示装好了,进游戏照样弹 d3dx9_43.dll 找不到。
先拿到错误码和系统版本号,再对着处理,比反复双击安装包省事得多。
方法1 先读 DXError.log 定位错误码
同样一句「DirectX 安装失败」,S1023 和 0x80070643 的处理方式完全不一样:前者要卸旧组件,后者要修系统映像。先用日志拿到错误码,能省掉大把白折腾的时间。
操作步骤
- 双击安装包报错后,打开
C:\Windows\Logs\DirectX\DXError.log,看日志末尾几行 - 系统盘里没有这个文件夹,就去安装包解压出来的目录里找同级的 DXError.log
- 在日志里搜 Error 关键字,记下错误码:S1023、0x80070643、0x80070005 都很常见
- 自解压的安装包可以先用解压工具解开,日志会生成在同级文件夹里
把错误码抄进记事本,下面几种情况对号入座就行。
方法2 卸载 Visual C++ 2010 再重装
DirectX 报 S1023,最常见的原因是系统里已经装了 Microsoft Visual C++ 2010 Redistributable。安装程序一检测到更新版本的组件就停下来,把这两项卸掉再装即可。
操作步骤
- 按 Win+R 输入
appwiz.cpl回车,打开程序和功能列表 - 找到 Microsoft Visual C++ 2010 Redistributable (x86) 和 (x64) 两项,都要卸载
- 卸载完成后重启一次电脑,让注册表里的残留项释放干净
- 右键以管理员身份运行 DirectX 在线安装程序,看是否还报 S1023
列表里如果同时装着 2012、2013 版本的运行库,先别动它们,只卸 2010 的两项就够了。
方法3 用 sfc 和 DISM 修复系统组件
安装程序往 C:\Windows\System32 写文件失败,报 0x80070643,通常是系统文件或组件映像被改坏了。系统自带的两个命令能把映像修回来,不用第三方工具。
操作步骤
- 开始菜单搜 cmd,右键选择以管理员身份运行
- 执行
sfc /scannow,等进度走到 100%,看是否提示未找到完整性冲突 - 接着执行
DISM /Online /Cleanup-Image /RestoreHealth,这一步需要联网 - 两条命令都跑完后重启电脑,再重新运行 DirectX 安装包
sfc 报「无法修复」时不要停,DISM 会把映像源换掉,跑完再执行一次 sfc,多数情况就能修好。
用「软领DLL系统修复」更省事
上面几步跑完,系统组件是修好了,DirectX 组件本身缺哪一块还得自己对着文件名找。软领DLL系统修复的 directx修复 会先扫一遍机器上的 DirectX 环境,把缺失的、版本对不上的组件列出来,d3dx9、d3dcompiler 这类整套运行库一次补齐,也省去手动核对系统位数的麻烦。

游戏或软件弹窗说某个 dll 找不到、加载失败时,它的 dll修复 会定位到具体是哪个文件,补齐之后再完成注册,不用再去陌生站点单独下载 dll 往 System32 里丢。

软领是知名国产软件品牌,20 年技术沉淀、服务千万用户;软领官网 wyouhua.com 直接下载,安装无捆绑勾选项。
软件里可以点客服按钮联系真人客服,遇到补齐后仍报错的复杂情况,有工程师远程协助。

方法4 改用离线包 DXSETUP.exe 安装
在线安装程序要联网拉组件,网络一波动,或者临时目录权限不够,就会卡在半路。离线包解压后在本地装,路径和版本都更可控。
操作步骤
- 把 DirectX End-User Runtime 离线包解压到不含中文和空格的路径,比如
D:\dx - 进入这个文件夹找到 DXSETUP.exe,右键以管理员身份运行
- 安装前临时关闭杀毒软件的实时防护,装完第一时间恢复
- 如果还报
C:\Windows\System32写入失败,回到方法3 继续修系统文件
装完在运行框里输入 dxdiag 回车,DirectX 版本那一栏能正常显示,就说明安装本身成功了。
方法5 补全 d3dx9_43.dll 等缺失文件
安装过程显示成功,进游戏还是弹 d3dx9_43.dll 缺失,说明 DirectX 9 时期的旧组件没被补上。Win10、Win11 自带的是 DirectX 12 内核,这些老文件要另外装。
操作步骤
- 记下弹窗里的具体文件名,常见有 d3dx9_43.dll、xinput1_3.dll、d3dcompiler_43.dll
- 确认系统位数:按 Win+R 输入
winver看版本,或看C:\Windows\System32和C:\Windows\SysWOW64两个文件夹 - 不要从陌生站点单独下载 dll 丢进 System32,版本不匹配反而会引发新报错
- 用带 directx修复、dll修复 能力的工具一次补齐整套运行库,比逐个替换文件稳
补完之后重启一次电脑再进游戏,比装完立刻启动更容易一次通过。
常见问题
directx安装失败报S1023怎么办?
先在 DXError.log 里确认错误码确实是 S1023。按 Win+R 输入 appwiz.cpl 打开程序和功能,把 Microsoft Visual C++ 2010 Redistributable 的 x86 和 x64 两项都卸掉,重启电脑,再用管理员身份运行 DirectX 安装包。
安装DirectX提示0x80070643是什么原因?
多半是系统组件映像损坏,或者运行库版本冲突,安装程序写不进文件。以管理员身份运行 cmd,先执行 sfc /scannow,再执行 DISM /Online /Cleanup-Image /RestoreHealth,两条都跑完重启,然后重新安装。
DXError.log在哪个文件夹,怎么打开?
默认在 C:\Windows\Logs\DirectX\ 文件夹里,用记事本打开,拉到日志末尾看错误码。系统目录下找不到,就去安装包解压出来的文件夹里找同级的 DXError.log。
装完DirectX后游戏还提示d3dx9_43.dll缺失怎么办?
说明 DirectX 9 时期的旧组件没补上。Win10、Win11 自带 DirectX 12 内核,不含 d3dx9_43.dll、xinput1_3.dll 这些老文件。别去陌生站点单独下载 dll 丢进 System32,用带 directx修复、dll修复 能力的工具把整套运行库补齐更稳。
Win10 和 Win11 还需要单独装 DirectX 9.0c 吗?
系统自带 DirectX 12,跑新游戏没问题;9.0c 的旧组件不在里面,老游戏、老软件调用 d3dx9_43.dll、d3dcompiler_43.dll 时会报缺失。遇到这类提示就补装旧组件,不用整套重装 DirectX。
推荐阅读
DirectX 初始化失败,先查版本和驱动再补运行库修系统文件
系统缺少webview组件,先分清是真缺还是装坏了再补装运行时
相关推荐
软件打不开闪退是什么原因,Win11 设置和自带应用一起闪退
提示msvcp140_1.dll丢失,重装VC++运行库前先分清32位和64位

提示