打开某个软件或游戏,弹出「无法启动此程序,因为计算机中丢失 msvcr110.dll」,点确定程序就退出。有的弹窗里还会带一个 0xc000007b 的错误码。这类报错大多来自系统环境或运行库安装残缺,软件本身通常没坏,不必急着重装系统或送修。
以下方法在 Windows 10/11 上实测可用。
适用系统:Windows 10/11;最后更新:2026-09-26。
报错原文就是上面那一句,点确定后程序直接退出,没有别的提示。少数情况下弹窗里会多出一行 0xc000007b。
先看清两件事:
0xc000007b。前者用来判断是组件没装,后者多半是位数放错。重装那个软件通常没用——它自己不带运行库,缺的是系统里的组件。分清这两条,能省掉大量盲目重装。
msvcr110.dll 是 Visual C++ 2012 运行库(对应 Visual Studio 2012 那一代编译器)里的一个文件,名字里的 110 就是版本号。缺它说明整套组件没装全或者被弄坏,单换一个文件补不回来。
判断时要注意这几点:
C:\Windows\SysWOW64,64 位程序读 C:\Windows\System32。0xc000007b,说明多半是位数或版本对不上,文件本身未必真丢了。
判断清楚归属再动手,比一上来就到处找 dll 文件省事得多。
从微软官方渠道装 vcredist_x86.exe 与 vcredist_x64.exe 两个安装包,这是最干净、最不容易留下后患的做法。只装其中一个,等于只给一半程序解决问题。
vcredist_x86.exe 和 vcredist_x64.exe 两个文件,两个都要下。vcredist_x86.exe 走完安装,再双击 vcredist_x64.exe 走完安装。先装哪个都行,两个都必须走一遍。下载页上 2012 这一条对应的就是这两个文件。页面有时把较新的 2013、2015 版本排在前面,认准 2012 那一行。
重启后弹窗消失,说明问题就出在运行库没装全,后面的步骤不用再走。如果还报同样的错,进办法二。
运行库装过、但被卸载残留或更新弄坏时,直接走一次修复比重装更省事——它能把注册表登记和文件登记一起补回来。
Win+R 输入 appwiz.cpl 回车,或从 控制面板 → 程序和功能 进去。Microsoft Visual C++ 2012 Redistributable (x86) 与 (x64) 两条。
还报同样的错,再进办法三核对文件。
先确认文件到底在不在,再决定是重装运行库还是修系统文件,能少走很多弯路。
dir C:\Windows\System32\msvcr110.dll
dir C:\Windows\SysWOW64\msvcr110.dll
sfc /scannowWin+R 输入 cmd 回车,打开命令提示符。dir C:\Windows\System32\msvcr110.dll,看是提示「找不到文件」,还是列出了文件大小和日期。dir C:\Windows\SysWOW64\msvcr110.dll。64 位系统上 32 位程序看的就是这个文件夹。sfc /scannow 扫描并修复系统文件,扫完看结果是不是「未找到任何完整性冲突」。sfc 提示无法修复时,记下它写进 CBS 日志里的提示,进办法四。系统映像本身损坏时用 DISM 修,这是 sfc 修不动之后的下一步。
DISM /Online /Cleanup-Image /RestoreHealth
sfc /scannowDISM /Online /Cleanup-Image /RestoreHealth,等进度条走完。0x800f0906 或提示找不到源文件,先确认网络可用,或改用系统镜像里的 install.wim 作为源再执行一次。sfc /scannow 收尾,然后重启。不要从来路不明的 dll 下载站单独抓
msvcr110.dll丢进C:\Windows\System32。捆绑风险和位数放错都会带来新麻烦,位数错了还会把问题变成0xc000007b。
DISM 和 sfc 只管 Windows 自己的系统文件,管不到第三方软件自己的文件夹。如果报错只出现在某一个软件上,回头按第一部分的办法重新核对一次它的位数和依赖版本,比反复修系统更快。
装了 VC++ 2012 还是提示 0xc000007b 怎么办?
0xc000007b 通常表示位数对不上。确认 vcredist_x86.exe 与 vcredist_x64.exe 两个都装过,再到 C:\Windows\System32 和 C:\Windows\SysWOW64 分别确认文件在位。两个都在仍报错,走一次「更改→修复」,再按办法三用 sfc /scannow 收尾。
msvcr110.dll 是什么组件,能不能直接删掉?
它是 Visual C++ 2012 运行库的文件,很多用 VS2012 编译的软件和游戏启动时都要读它。删掉腾不出多少空间,却会让这些程序直接打不开,正常情况不要动它。
win10 64 位系统,msvcr110.dll 应该放在 System32 还是 SysWOW64?
两个地方都可能有,对应不同位数的程序:64 位程序读 C:\Windows\System32,32 位程序读 C:\Windows\SysWOW64。手动复制文件很容易放错,让官方运行库自己写入更稳。
从 dll 下载站下的 msvcr110.dll 丢进系统目录有用吗?
多数时候解决不了根本问题,还会带来捆绑软件和版本不符的风险,位数放错直接变成 0xc000007b。运行库缺的是整套组件,装官方 Redistributable 或走一次运行库修复才是正路。
sfc /scannow 扫完说修不了 msvcr110.dll 缺失怎么办?
sfc 只能修 Windows 自己的文件,修不动时看它写进 CBS 日志里的提示,改用管理员身份跑 DISM /Online /Cleanup-Image /RestoreHealth 修系统映像,修完再跑一次 sfc /scannow。如果只有某一个软件报错,回到办法一、办法二重装运行库往往更快。
sfc 与 DISM 都修不动、且系统盘有大量坏道或反复蓝屏的机器。这时该查的是存储和内存,不是运行库。现象 | 大概率原因 | 先做哪一步 |
|---|---|---|
弹窗只写 msvcr110.dll | 运行库没装全 | 办法一,x86 与 x64 都装 |
弹窗带 0xc000007b | 位数或版本对不上 | 核对 System32 / SysWOW64,再走一次修复 |
dir 查不到文件 | 组件确实缺失 | 办法一、办法二 |
dir 能查到但程序仍失败 | 系统文件损坏 |
|
只有某一个软件报错 | 该软件自带的运行库冲突 | 核对该软件的位数与依赖版本 |
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。