弹窗原文一般是「无法启动此程序,因为计算机中丢失 d3dx9_38.dll」。老游戏启动失败的场景里,这条报错出现得很频繁,机器本身大多是好的,重装系统属于过度处理。
d3dx9_38.dll 属于 DirectX 9.0c 的 D3DX 辅助库。NVIDIA 和 AMD 近几年的驱动包都不再附带这类文件,显卡驱动装得再新,C:\Windows\SysWOW64 里也不会多出它。反复重装显卡驱动,通常不会让这个文件出现。
多数情况是系统里的 DirectX 9 组件缺失,或者装得不完整。下面四条办法按代价由轻到重排列,在 Windows 10 和 Windows 11 上实测可用。
适用系统:Windows 10 / 11;最后更新:2026-10-26。
看到 dll 就先重装显卡驱动,是这类报错里最常见的弯路。问题出在系统这一侧,跟驱动包里交付了什么有关。
d3dx9_38.dll 属于 DirectX 9.0c 的 D3DX 辅助库,不在显卡驱动包的交付范围内d3dx9_*.dll 这一类文件C:\Windows\SysWOW64 和 C:\Windows\System32 里也不会多出这个文件先把「文件在不在、该落在哪个目录」查清楚,再决定是补运行库还是查驱动,能省下大量反复重装的时间。
先查清 d3dx9_38.dll 在系统里有没有、应该落在哪个目录,再决定补什么。这一步不用动显卡驱动。
无法启动此程序,因为计算机中丢失 d3dx9_38.dll,文件名一个字都别漏cmd 回车,打开命令提示符where /r C:\Windows d3dx9_38.dll,看系统里到底有没有这个文件C:\Windows\SysWOW64,64 位程序读 C:\Windows\System32where /r C:\Windows d3dx9_38.dllwhere 会把 C:\Windows 下面所有同名文件列出来。如果只在某个游戏文件夹里搜到它,说明文件没进系统目录,游戏启动时照样报「找不到 d3dx9_38.dll」。
位数判断是最容易踩的坑。64 位 Windows 上,32 位游戏读的是
SysWOW64,把文件丢进System32解决不了问题,反倒让后面的排查更乱。32 位 Windows 只有一个System32,不存在这层区分。

不少老游戏的安装目录里自带 DirectX 9 运行库,先跑它自带的 DXSETUP.exe,代价最低。
_CommonRedist\DirectX\ 文件夹DXSETUP.exe,一路按提示装完_CommonRedist 目录,直接跳到下一个办法这类文件夹的典型路径长这样:
C:\Program Files (x86)\Steam\steamapps\common\游戏名\_CommonRedist\DirectX\里面的 Jun2010 子目录就是 DirectX 9.0c 运行库,DXSETUP.exe 就在其中。
装完先重启游戏验证。弹窗消失,说明缺的正是这一套组件;弹窗还在,就进下一个办法,不必在这里反复重装。
d3dx9_*.dll 是成套的组件,从 d3dx9_24 一直到 d3dx9_43。缺其中一个的时候,通常还缺别的,所以补的时候要装完整的 DirectX 9.0c 最终用户运行库。
DXSETUP.exed3dx9_38.dll 单个从不明站点下载后丢进 System32 或 SysWOW64DirectX End-User Runtime 装完之后,D3DX 系列文件会一起进入 SysWOW64 或 System32,覆盖的正是 d3dx9_38.dll 这类报错。同名的兄弟文件 d3dx9_39.dll、d3dx9_42.dll 报错,走的是同一条流程,只是文件名的版本号不同。
单个 dll 从不明站点下载再丢进系统目录有两个问题:来源不可控,有安全风险;位数放错会带来新的报错,排查难度反而上升。整套装完更稳。
有一部分玩家会遇到安装程序提示「已安装最新版本」,然后直接退出。这种情况改用解压后的 DXSETUP.exe 手动跑一遍,让文件真正落进系统目录。

组件补齐后游戏还报错,就用 dxdiag 看驱动版本和日期。这两项正常,问题就不在显卡驱动上。
dxdiag 回车,首次运行会问是否检查驱动程序签名,选「是」d3dx9_38.dll 缺失,说明 DirectX 9 组件没补齐,回到办法三dxdiag 的「显示」页会给出驱动版本、驱动日期和 DirectX 版本三项信息。版本号完整、日期在近两年内,显卡驱动这一层就可以排除了。
驱动这一层和运行库这一层要分开处理。更新驱动解决的是驱动自身的问题,d3dx9_38.dll 缺失属于运行库没补齐,两者的处理入口不一样,混在一条流程里会来回绕。
办法 | 什么时候用 | 代价 | 注意 |
|---|---|---|---|
办法一 | 刚看到报错,还没动过系统 | 一条 | 不动显卡驱动 |
办法二 | 游戏目录里有 | 几分钟安装 | 只补这一套组件 |
办法三 | 两个系统目录都搜不到这个文件 | 一次完整安装 | 不要手工拷单个 dll |
办法四 | 前三条做完仍然报错 | 一次驱动复核 | 驱动确实过旧才更新 |
d3dx9_38.dll,游戏仍然报错:多数是文件版本或者位数对不上,回到办法三整套重装,不要手工替换单个文件where、dxdiag 这两步排查同样适用,但运行库安装程序在部分精简镜像上会因为缺组件跑不完,这条只在两台机器上试过,没有更大范围的验证xinput1_3.dll、msvcr100.dll 这类:入口是同一个,先定位文件属于哪一套运行库,再去补那一套d3dx9_38.dll 丢失是显卡驱动的问题吗?
多数情况下与显卡驱动无关。这个文件属于 DirectX 9.0c 的 D3DX 辅助库,NVIDIA、AMD 新版驱动包都不再附带它。在命令提示符里执行 where /r C:\Windows d3dx9_38.dll,两个系统目录都没有,就该去补 DirectX 9 运行库。
重装显卡驱动后还是提示找不到 d3dx9_38.dll 怎么办?
说明缺的是运行库,驱动那一层本来就没问题。转到办法三补整套 DirectX 9.0c 运行库,装完重启再验证,不要让单个 dll 文件混进系统目录。
d3dx9_38.dll 下载后应该放 System32 还是 SysWOW64?
按调用它的程序来定:32 位程序要放 C:\Windows\SysWOW64,64 位程序放 C:\Windows\System32。手工放单个文件容易放错位数,装完整运行库更省事。
DirectX 9.0c 运行库提示已安装最新版本,还是报 d3dx9_38.dll 缺失?
安装程序只判断版本号,不会逐个补文件。到微软官网获取 DirectX End-User Runtime,解压后手动运行目录里的 DXSETUP.exe,跑完整流程再重启游戏。
64 位 Win10 玩老游戏报 d3dx9_38.dll 缺失,dxdiag 里驱动显示正常怎么办?
驱动正常就说明问题落在 DirectX 9 组件这一层。按办法三补整套运行库,再用 where /r C:\Windows d3dx9_38.dll 复查文件有没有进 SysWOW64。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。