缺少dll文件如何修复,关键是两步:先从报错弹窗里认清到底是哪个 dll,比如 msvcp140.dll 或 api-ms-win-crt-runtime-l1-1-0.dll;再按程序的位数决定把它放 System32 还是 SysWOW64,放错目录等于没放,位数不匹配还会直接报 0xc000007b。系统目录里的那份副本坏了,用 sfc /scannow 加 DISM /Online /Cleanup-Image /RestoreHealth 修回来,再按文件名补齐对应的 VC++ 运行库,x86 与 x64 两个包都要装。
多数情况是运行库没装齐、dll 放错目录或者系统副本被改坏造成的,硬件本身大多没坏,不必急着重装系统或送修。以下方法在 Windows 10/11 实测可用。
适用系统:Windows 10/11;最后更新:2026-09-20。
dll 丢进文件夹还是打不开,问题多半不在文件本身
把下载来的 msvcp140.dll 放进 C:\Windows\System32 之后,双击软件还是弹出「无法启动此程序,因为计算机中丢失 msvcp140.dll」,有的窗口标题直接写着 0xc000007b。很多人到这一步就以为文件下错了,换个来源继续覆盖,结果报错一个字都没变。
先判断缺的是运行库 dll 还是系统 CRT 组件,再看位数和目录对不对,按这个顺序走能省掉大量盲目重装。
方法1 先看清报错里的完整 dll 文件名
先分清缺的是运行库 dll 还是系统 CRT 组件,这两类修法完全不同,别一上来就下单个文件。弹窗上写的往往不止「缺少 dll」,后面那一串文件名才是真正的线索。
操作步骤
- 报错弹窗出现的瞬间先截图,或者把文件名和错误代码抄全,不要只记「缺少 dll」三个字,msvcp140.dll 和 api-ms-win-crt-runtime-l1-1-0.dll 的处理方式不一样。
- msvcp140.dll、msvcp100/110/120.dll 属于 VC++ 运行库,单独丢一个文件治不了,要装对应版本的运行库。
- api-ms-win-crt-*.dll 属于系统 CRT 组件,通常随 Windows 更新和通用 C 运行时一起补齐。
- 同一个 dll 在 C:\Windows\System32 和 C:\Windows\SysWOW64 各有一份,补的时候两个目录都要看,只补一个目录往往白忙。
- 打开「控制面板→程序和功能」,看已经装了哪些 VC++ 版本,判断是缺版本还是版本号和报错对不上。
认全文件名之后,后面的动作才有方向。
方法2 按程序位数把 dll 放进对应目录
32 位程序读 C:\Windows\SysWOW64,64 位程序读 C:\Windows\System32,这两个目录名是反着理解的,放反了等于没放,位数和文件不匹配还会直接触发 0xc000007b。
操作步骤
- Ctrl+Shift+Esc 打开任务管理器;如果软件打不开,就先双击启动它,再快速切回任务管理器。
- 切到「详细信息」页,右键表头→「选择列」→ 勾选「平台」,看这个进程是 32 位还是 64 位。
- 32 位程序读 C:\Windows\SysWOW64,64 位程序读 C:\Windows\System32,这两个名字最容易搞错。
- 放错目录不会有任何提示,报错照旧;位数和文件不匹配还会变成 0xc000007b。
- 软件自己目录(exe 同级)里的同名 dll 优先级最高,有些程序必须把 dll 放在 exe 旁边才能跑起来。
- 改完目录后用管理员身份重新打开程序,避免旧进程还在用内存里的坏副本。
拿不准位数时,任务管理器的「平台」列就是答案,别靠猜。
方法3 用 sfc 和 DISM 修复系统里的 dll 副本
系统目录里的那份 dll 本身损坏,或者版本被别的软件改过时,靠覆盖文件是修不回来的,只能用系统映像把它换回原样。
操作步骤
- 开始菜单搜索 cmd,右键「以管理员身份运行」,用普通窗口执行会被直接拒绝。
- 先执行 sfc /scannow,等进度走到 100%,留意是否提示「Windows 资源保护找到了损坏文件并成功修复了它们」。
- 再执行 DISM /Online /Cleanup-Image /RestoreHealth,用系统映像补回被改坏的组件。
- DISM 报 0x800f081f 一般是组件存储自身损坏,可以指定 install.wim 作为修复源再跑一次。
- 两条命令都跑完重启,再双击原程序验证;如果报错名换成了另一个 dll,回到方法1重新认文件。
- 全程不要关掉命令提示符窗口,中途中断会让组件存储停在半修状态。
系统侧修干净了,再谈补文件才有意义。
用「软领DLL系统修复」更省事
软领DLL系统修复的 dll修复会扫描系统目录和程序目录里缺失、版本错乱或签名异常的 dll 并补齐,省掉逐个核对文件名、再判断该放哪个目录的功夫。报错里那串 dll 名字可以直接在扫描结果里对上,扫出来一个修一个,不用手动往 C:\Windows\System32 里来回复制。

运行库修复把 VC++ 各版本运行库按 32 位与 64 位成套补齐,msvcp 系列和 api-ms-win-crt 系列反复报错的情况,多数就是缺了其中某一个包。它一次把 x86 与 x64 都装上,不用你自己去翻每个版本号对应哪一年的运行库。

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

方法4 按文件名补齐对应的 VC++ 运行库
msvcp 系列要按版本号装对应的运行库,而且 x86 与 x64 两个包都装齐才算真的补上,只装一个后面照样报错。
操作步骤
- msvcp100 对应 VC++ 2010,msvcp110 对应 VC++ 2012,msvcp120 对应 VC++ 2013,msvcp140 对应 2015-2022 合并包。
- 每个版本分 x86 和 x64 两个安装包,两个都要装,不要因为系统是 64 位就跳过 x86。
- 装之前先在「程序和功能」里看这个版本是否已经存在,已装的先点修复,别重复装。
- api-ms-win-crt-*.dll 缺失多为通用 C 运行时没更新,检查 Windows Update 服务是否被禁用。
- 装完重启一次,让已经加载过 dll 的进程重新读取。
- 不要从第三方站点单独下 msvcp140.dll 覆盖系统目录,数字签名和版本号对不上只会更乱。
按文件名找版本,比记住年份可靠得多。
方法5 兜底判断是程序自身缺文件还是系统缺组件
走到这一步还报错,就用依赖查看工具定位到底是哪个 dll 没被找到,再决定是重装软件还是继续修系统。
操作步骤
- 用依赖查看工具(Dependency Walker 或 Dependencies)打开这个 exe,看哪个 dll 标红或者提示找不到。
- 标红的是程序目录里的私有 dll,说明安装包本身不完整,修复或重装这个软件即可。
- 标红的是系统 dll,说明问题还在系统侧,回到方法3继续用 sfc 与 DISM 处理。
- 检查 exe 所在文件夹是否被安全软件隔离过,部分 dll 会被静默删除。
- 程序私有 dll 一律优先放 exe 同级的文件夹,能不动系统目录就不动。
- 以上都试过仍然报错,用修复工具对全系统缺失、损坏的 dll 做一次完整复扫。
区分开程序私有文件和系统组件,就知道下一步是重装软件还是接着修系统。
常见问题
缺少dll文件如何修复,手动下载同名文件放进文件夹为什么还是报错?
常见两个原因。一是目录放错了,32 位程序读的是 C:\Windows\SysWOW64,往 System32 里放等于没放;二是这个 dll 依赖的运行库还没装,msvcp140.dll 单独丢进去,对应的 VC++ 2015-2022 运行库缺着照样加载失败。
0xc000007b 缺少dll文件是怎么回事,和 32 位 64 位有关系吗?
有关系。0xc000007b 多是 32 位程序加载到了 64 位 dll,或者反过来,位数对不上就会报这个码。用任务管理器「详细信息」页的「平台」列确认位数,再把文件放进对应目录。
msvcp140.dll 丢失要装哪个 VC++ 运行库,x86 和 x64 都要装吗?
装 VC++ 2015-2022 合并包,x86 和 x64 两个安装包都要装。64 位系统上同样会跑 32 位程序,跳过 x86 后面还会报同样的错。
api-ms-win-crt-runtime-l1-1-0.dll 缺失,sfc 和 DISM 都跑了还是打不开怎么办?
这类文件属于通用 C 运行时,多和系统更新没补上有关。先确认 Windows Update 服务处于运行状态,把系统更新打到最新;仍然不行的话,用软领DLL系统修复的 dll修复 对缺失项复扫一遍。
32 位程序把 dll 放进 System32 没反应,是不是应该放 SysWOW64?
是。64 位系统的 System32 里放的是 64 位文件,32 位程序实际读的是 SysWOW64。放进 SysWOW64 之后,再用管理员身份重新打开程序。
推荐阅读
appmanagerplugin.dll 是什么文件?缺少它怎么修复?
相关推荐
d3dx9_43.dll 丢失怎么解决,装了 DirectX 9.0c 还是报错

提示