目录
事情起因
最近想要重新安装西门子博途来做西门子的一些算法的时候,发现自己软件装的是V15.1的版本,而买的plc1200固件版本要求至少16以上。索性,就想要重新安装博途v19,直接上到最高版本。
然而当直接安装的时候,软件报错,通知我需要先卸载V15之后才能够对V19进行安装。于是我开启了一段作死操作。
因为公司电脑装的是V16,卸载的时候直接通过安装包卸载的,而且卸载得比较干净,重装V19一点问题没有,所以我按照这个套路,在自己家里这台电脑进行一样的操作。结果V15是卸载掉了,但是,我的电脑本身的一些软件打不开了。
比如,印象笔记,还有redis客户端,STM32 LINK以及vmware这几个软件。由于我已经操作好了且让自己电脑可以运行这些软件了,所以没能够来得及截取那些报错的图。但是报错代码一般是0xc000007b和缺少mfc140.dll。
借用一下别人的图------>
还有这个报错,图我懒得找了,直接用一下我当时处理问题时找的解决方案的博客中的图(虽然没给我解决掉)
于是我开始了问题的处理,期间还花了钱,但并没有给我解决问题,而是通过下载c++补丁和一个包才给处理好。我等下开始分享。
问题处理
首先需要知道这个东西少了到底时因为什么?我想了想,可能时卸载V15的时候,卸载掉一些包的时候顺带把C++的这个dll给删除掉了。于是我上官网下载相关包如下------>
明确定义
其中mfc140的定义是
mfc140.dll 是一个属于 Microsoft Visual C++ Redistributable Packages for Visual Studio 2015 或相近版本的动态链接库文件(DLL)。
0xc000007b的定义是
错误代码0xc000007b主要反映了两种核心问题:
混合架构冲突:此错误常常出现在32位应用试图加载64位版本的DLL文件,或反之亦然。在多体系结构环境下,应用程序与动态链接库间的不兼容可能导致这种错误。
系统库文件缺失或损坏:Windows系统中某些关键的Microsoft Visual C++ Redistributable Package或DirectX库文件可能未被正确安装或已损坏,这也可能导致0xc000007b错误
我的电脑环境:Win11。
这里我非常感谢这篇文章(1),同时配上我下载C++包的地址。
填坑之路
1)试验了 sfc /scannow ------鸟用没有,当然仅对于我的情况
刚开始我看他在那边一个一个的进行扫描,我还以为就要成功了。
然后我继续去打开我的软件,还是报错上述的报错图。
2)后来又继续上网去找解决方案,有几个真的是让人无语(1),(2)。没用,赶紧避坑。
3)会不会是DirectX出错了?于是我在csdn的下载内容去下载了一个direct修复工具,
确实显示了一堆包缺失,但是我现在电脑修复了,没那个图(因为本来也没想写这个文章,当时没截图。只是因为自己搞了一晚上,觉得网上资料真少,所以还是总结一下吧,以免自己之后又遇到)
他这个软件是基础版本的,要你去增强C++的拓展,要不然还是修复不了。我扫描之后然后修复,发现一点用没有,该打不开的还是打不开。
4)经过了差不多一个晚上了,我被搞得有点崩溃,索性上网上找有没有人可以帮我解决,因为我已经知道了缺少dll了,那如何修复呢,directX修复工具修复不了。所以我直接通过搜索引擎搜索
有个dll修复工具,我怕被别人干,我这里不晒具体公司的图,大家自己去体会,
下下来搜索了一晚上的各种问题,我等他一晚上,
TMD,傻逼软件,我浪费了大量时间去搜索修复,还充值了永久会员,花了我48块钱,但是------
》》》》》》》》
真他妈一点用没有,气啊,退钱还不让退。
我重启电脑打开软件,那些软件还是报错缺少mfc140和0xc000007b,所以就相当于,我一晚上白干,很让人生气。
最后我是怎么解决的(不想看故事直接到这里)
我先重启了一下电脑,那些软件还是打不开,ok,说明以上操作无效。
消气之后,回归到问题本质。我尝试着一个一个去打开我的电脑上的软件,比如unityhub,S7Step,FPWinPro7,FPGR7,印象笔记,VisualStudio,Matlab等,
我发现基本都是报错0xc00007b,然后参考这篇文章,我文中的红色字体。
我就去按照那文章的内容去下补丁,我知道V15大概依赖的是C++2015的补丁包,所以我下的是这个
然后下完这个之后,我发现软件还是打不开,这个时候不要急,可能真像上面说的,还需要修复一下directX。
所以我找到了一个directX的增强版软件,纯免费。该死的csdn说重复不让上传。。。。。。。
大概操作就是需要下完C++包之后,我去用那个软件去操作搜索修复,大概的图是这样子的
检测并修复之后,里面有个工具选项-->高级,再对刚刚检测修复的和刚下载的包的dll进行注册到系统。
没想到,这么做完之后那些打不开的软件可以用了。我没试过,直接使用这个DirectX修复有没有用,所以大家可以试一下直接使用这个修复工具看行不行,不行就是先去下载那个c++的补丁包。
最后,如果大家想要去找就直接上网搜这个软件,私信我,我分享给你。
希望对大家有帮助。
最后的最后,如果实在不行,那就重装电脑吧(我当时就想这么干,但我电脑太多软件了,重装又是要一顿下载很伤脑筋)。。。。。。。