点开游戏图标,弹窗写着「无法启动此程序,因为计算机中丢失 d3dx11_43.dll,尝试重新安装该程序以解决此问题」。重装系统后玩老游戏,这类报错经常成串出现,d3dx9_43.dll、xinput1_3.dll 排着队来,原因都是同一个。先别急着到处找 dll 文件,这事有正规解法。
为什么会丢
Win10 和 Win11 自带的是 DirectX 12 本体,而 d3dx11_43.dll 这类 D3DX 系列文件属于老版 SDK 的附属运行库,系统从来不带,全靠游戏安装包附带安装。绿色版、精简版游戏省了这一步,或者安装时被安全软件拦截,运行时就报缺失。换新系统后老游戏目录里的库没跟上,报的也是同一个错。同目录其他游戏正常、就这一个报错,更能说明是它自己的库问题。
正规修复途径
微软官网提供 DirectX 终端用户运行时安装包,在线安装器一般叫 dxwebsetup,按需联网下载补齐缺的组件,安装时留意取消勾选额外捆绑项。不少游戏安装目录里带 Directx 或 Redist 文件夹,里面的安装程序跑一遍同样有效。另外把 Visual C++ 常用版本运行库装齐,游戏类报错经常是几套库一起缺,不确定缺哪个就都装一遍,运行库免费,几分钟的事。32 位游戏要的是 32 位库,装运行库包会自动把两个位数都装上,比手动放文件靠谱。
不建议的做法
从各种 dll 下载站单下一个文件扔进 System32,看着省事,坑不少:版本对不上照样报错;64 位系统的 64 位库在 System32,32 位库在 SysWOW64,手动放错位置无效;放对了位置还得看程序认不认,运气成分太大;这类站点也是恶意文件的重灾区,捆绑木马的案例不少。
还没解决再看这些
- 管理员运行 sfc /scannow,检查系统文件完整性
- 更新显卡驱动,一部分报错其实出在驱动上
- 重装游戏本体,安装时别拦它的运行库组件
- 游戏从平台启动的,先用平台自带的验证文件完整性
经验判断:报 d3dx11_43.dll 缺失,九成是运行库没装齐,装一遍官方运行时基本落地,真轮不到手动放文件。