一、先读报错,再动手
报错文本其实已经把答案写了一大半:
- 提示"缺少 xxx.dll"或"was not found"——对应的运行库没装;
- 错误码
0xc000007b(应用程序无法正常启动)——32 位与 64 位组件混用,位数不匹配; - 提到 clr / dotnet——缺 .NET 运行时;
- 提到 steam_api.dll 等游戏专属 DLL——不要想着单独下载,走验证或重装游戏。
二、DLL 家族对照表
| 报错文件名 | 所属组件 | 正确修复方向 |
|---|---|---|
| msvcp140.dll / vcruntime140.dll | VC++ 2015-2022 | 安装/修复官方 Redistributable(x86+x64) |
| msvcr120.dll | VC++ 2013 | 安装 2013 Redistributable |
| msvcr100.dll / msvcp100.dll | VC++ 2010 | 安装 2010 Redistributable |
| d3dx9_43.dll / xinput1_3.dll | DirectX legacy 组件 | 运行 DirectX 最终用户运行时(2010-06)DXSETUP.exe |
| openal32.dll | OpenAL 音频运行时 | 用游戏自带的 prerequisites 安装器 |
| 提示 .NET / clr | .NET 运行时 | 开启 .NET Framework 3.5 或安装 Desktop Runtime |
| 游戏专属 DLL | 游戏自身文件 | 验证游戏文件或重装,不要从 DLL 站下载 |
三、标准修复顺序(照做,别跳步)
- 装 VC++ 运行库:安装最新 VC++ v14 Redistributable 的 x64 与 x86 两个包,如果检测到已安装,选"修复"。老游戏可能还需要 2013 及更早的版本,它们可以与新版本并存。
- 跑游戏自带组件:进入游戏目录的
_CommonRedist,vcredist 里每个年份的 x86/x64 都跑一遍,DirectX 里运行 DXSETUP.exe,DotNet 里有安装器就装。 - 验证游戏文件:Steam 在 库 → 右键 → 属性 → 已安装文件 → 验证游戏文件的完整性;Epic 在库 → 游戏右下角"..." → 管理 → 验证。装过 Mod 的先移除 Mod 再验证。
- 清掉手抄的 DLL:如果曾经按某篇教程从 DLL 下载站复制过文件到 System32 / SysWOW64 / 游戏目录,把它删掉,再用官方安装包重装对应组件——位数不对的 DLL 正是 0xc000007b 的常见起因。
- 定位具体模块:用开源工具 Dependencies(GitHub 可下载)打开游戏的 exe,逐个查看加载的 DLL 位数,找到与主程序位数不符的那个。
- 修系统文件:多个无关程序同时报错时,管理员身份运行
sfc /scannow,再运行DISM /Online/Cleanup-Image /RestoreHealth,完成后重启。
四、进阶诊断
按 Win+R 输入 eventvwr.msc 打开事件查看器 → Windows 日志 → 应用程序,找到启动失败时间点的记录,里面的"故障模块"和异常码能直接指出是哪个组件出问题,比逐样试快得多。
安全提醒:DLL 下载站是经典的恶意软件投放渠道。名字对、版本错、位数错甚至带毒的 DLL 都会让"报错消失、机器中招"。永远用官方安装包,不要手动往系统目录复制 DLL。
五、其他可能原因
- 安全启动 / TPM 2.0:部分带反作弊的游戏有硬件要求,商店页右侧会标注;Steam 里 帮助 → 系统信息 可查看本机状态;
- 杀毒软件隔离:运行库 DLL 偶被误报隔离,去保护历史里还原并加信任;
- 以管理员身份运行一次:排除游戏目录写入权限问题(对位数问题无效,但值得一试);
- 基本没用的操作:兼容模式、重装系统——位数和运行库问题它们都解决不了。