运行库缺失,多数情况是系统里少了对应的 VC++ 或 .NET 组件,或者 32 位与 64 位只装了其中一边。排查顺序是先看弹窗点名的模块,用它锁定缺失的类别,再核对已装组件的位数,最后才是修复或补齐。走完这 5 步,基本能定位到具体缺的是哪一类。
这类问题基本不用重装系统。主板和硬盘通常都没有问题,耐心排查一遍多半能解决。下面这些做法在 Windows 10/11 上实测可用。
适用系统:Windows 10/11;最后更新:2026-10-09。
双击某个软件,弹窗跳出来写着:
无法启动此程序,因为计算机中丢失 msvcp140.dll。尝试重新安装该程序以解决此问题。
同一台电脑上另一个软件却能正常打开。类似的报错还常点名 vcruntime140.dll、mfc140u.dll、mscorwks.dll,或者启动时直接弹 0xc000007b。
先弄清报错点的是哪一类组件、程序是 32 位还是 64 位,再决定补什么。这一步做对,能省掉大量盲目重装的时间。

报错里点名的模块名决定了缺的是 VC++ 还是 .NET。先分类再动手,方向才不会跑偏。
这两类的补装方式完全不同,所以第一步只看名字,先别急着装东西。要是弹窗一闪而过没看清,可以按 Win+R 输入 eventvwr.msc 打开事件查看器,里面翻到的 SideBySide 记录通常对应并行程序集缺失,写明了缺哪个程序集、程序是 32 位还是 64 位,比记弹窗更准确。
操作步骤:
msvcp140、vcruntime140、mfc140u 属 VC++ 运行库,mscorwks、clr 属 .NET。Win+R 输入 eventvwr.msc,进入 Windows 日志 → 应用程序。Application Error 或 SideBySide 的条目,里面会写明缺哪个程序集、程序是 32 位还是 64 位。同一版本只装了 x86 或只装了 x64,是最常见也最容易被忽略的原因。先去程序列表里数一遍。
控制面板 → 程序和功能里搜 Visual C++,同一个年份的 Redistributable 一般会以 x86 和 x64 两条并列出现,只剩一条就是缺了另一边。2005、2008、2013、2015-2022 这几个版本各装了几条,也一并记下来。
位数还要认目录:32 位程序读 C:\Windows\SysWOW64,64 位程序读 C:\Windows\System32,名字和直觉是反的,别看错。
操作步骤:
Microsoft Visual C++ 20xx Redistributable。C:\Windows\SysWOW64,64 位程序读 C:\Windows\System32。vc_redist.x86.exe,不要一律只装 x64。
已经装过不等于装好了。安装包被中途关掉、或者版本互相冲突时,走安装程序里的修复比重装更有效。
提示已安装相同版本并报 0x80070666,说明系统里已经有这个版本的组件,反复双击安装包也不会改变结果。
操作步骤:
vc_redist.x86.exe 与 vc_redist.x64.exe。0x80070666,不要反复双击重装。dism /online /add-package 指定组件包。组件明明装上了却还是报 0xc000007b,多半是 C:\Windows\System32 下的系统文件被改坏或误删了。
sfc /scannow 会逐条比对系统文件并自动修复,跑完会提示「Windows 资源保护找到了损坏文件并成功修复了它们」,或者提示未找到完整性冲突。DISM /Online /Cleanup-Image /RestoreHealth 修的是系统映像里的组件存储,sfc 自己修不动的部分靠它兜底。这条命令需要联网,跑完再执行一次 sfc /scannow 收尾。
开始之前先确认 C 盘剩余空间充足,15GB 以上比较稳妥。
操作步骤:
sfc /scannow,等扫描结束看是否提示「已修复损坏的文件」。DISM /Online /Cleanup-Image /RestoreHealth,修复系统映像里的组件存储。C:\Windows\System32 下运行库文件的情况。sfc /scannow
DISM /Online /Cleanup-Image /RestoreHealth
sfc /scannowVC++ 补齐后还报错,往往是 .NET、DirectX 一起缺,或者软件用的是被精简过的安装包。
.NET Framework 3.5 默认不装,要在控制面板 → 程序 → 启用或关闭 Windows 功能里手动勾上。老游戏常缺 d3dx9_43.dll、xinput1_3.dll 这类 DirectX 文件,也要一并补。同一软件换成官网的完整安装包再装一遍,绿色版和精简版经常把自带的运行库删掉。
以上都试过还不行,就做一次就地升级安装,在保留个人文件与已装程序的前提下重建系统组件环境。
操作步骤:
先确认装的是哪一边。很多程序只有 32 位版本,缺的其实是 vc_redist.x86。装全了还报同一个文件名,就按文件损坏处理:先跑 sfc /scannow,再把缺失的 dll 文件补回。
不用。这个错误码的意思是系统里已经有同版本组件,卸载再装可能带出新的问题。直接在安装程序里选「修复」,或者右键以管理员身份重新运行安装包。
没用。32 位程序在 64 位系统里读的是 C:\Windows\SysWOW64 下的文件,对应 x86 版本的运行库。只装 x64 那一边,程序照样找不到文件。
关系很近。0xc000007b 常见于 32 位和 64 位文件混用,或者系统文件层有损坏。先核对运行库位数,再跑 sfc /scannow 和 DISM /Online /Cleanup-Image /RestoreHealth。
按年份把 VC++ 2005、2008、2013、2015-2022 的 x86 与 x64 都装上,再检查 .NET 与 DirectX。手动一个个找容易漏,用带运行库检测的工具扫一遍缺什么补什么,比逐个试快。
运行库缺失的定位链条其实很短:报错模块名 → 组件类别 → 已装位数 → 修复方式。这四步里任何一步跳过,后面都会变成盲目重装。
再补一条没验证过的边界:32 位程序在 64 位系统上读 SysWOW64,这条在 Windows 10 上反查过多次都对得上;Windows 11 上我只在少数几台机器上确认过同一规律,没有大样本。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。