问题的表现一般是弹窗提示 msvcp120.dll 或 msvcp120.dll 丢失/缺失,还有其他的文件比如 VCruntime 开头的也缺失之类。
网络教程有一种用 cmd 命令行模式 regsrv32 XXX 的方式加载这些文件,基本是徒劳的,文件丢了就是丢了,加载个毛用。
最省力、最直接、最快捷的方法,就是打开 这个微软官网链接,下载对应的 Visual C++,然后安装,之后甚至不用重启,问题即刻解决。
对应的版本是啥?
msvcp120 对应的版本是 Visual C++ 2013,msvcp140 对应的版本是 Visual C++ 2015至2019 (这是同一个安装文件)。
如果你用的是32位系统,那就只下载安装 x86 版本,就是那个 x86: vc_redist.x86.exe,点它,然后安它,就完事了。
如果你用的是64位系统,那么你不仅要下载安装 x86 版本,还要下载那个 x64 版本一并安装。ARM 架构的64位系统同理不赘述。
原理简单讲一下。
msvcp120.dll msvcp140.dll VCruntime 这些文件的丢失都和系统内的 Visual C++ 有关,解决的方法就是把它们安装回来。
在32位系统里,这些 dll 文件本应该都在 c:\windows\system32 文件夹下。安装 x86 版本的 VC++,缺失的 dll 文件就会被安装到原位。
同样,在64位系统里,安装对应的 x64 版本,缺失的 dll 文件就会被安装到 c:\windows\system32 文件夹。但是安完了还有可能会报文件缺失,为什么呢?
这不是安装有问题,是另有缺少的文件没补上。
因为在64位系统里,同时有两个文件夹内放置 dll 文件,一个 system32 文件夹放64位版本(x64)的 dll,另一个 syswow64 放32位版本(x86)的 dll。后一个文件夹的地址是 c:\windows\syswow64 。这个 syswow64 文件夹与 system32 文件夹地位相同,用于存放32位文件,意义在于兼容仅支持32位系统的软件。
所以,在64位系统里,我们不仅要安装 x64 版本的 VC++,还要再安装一遍 x86 版本的 VC++。如此一来,system32 和 syswow64 两个文件夹下缺失的 dll 文件都会补上,问题就解决了。
竟然废了这么多话,卒。
