该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
近期在Win7上连续两次安装未授权软件遇到0x000007b错误,自己搜索了一下,有说是DirectX导致的,也有说是VC++导致的。
我自己修复了DirectX,也把所有vcredist从2005到2017的32位和64位全部卸载重新安装,然后还找了网上高手弄得集成安装包也试了,但是问题依旧。
我本身是VHD的Win7和Win10双系统共存,大多数软件都是用的绿色版,方便在两个系统下能同时使用。
我最开始安装的是大名鼎鼎的修图软件,为了打开一个特大的原图文件。在Win10系统下可以正常使用软件,但是Win7下报错0x000007b。
我最后上网找到了一个绿色版的修图软件,能正常运行。然后发现,绿色版目录下比安装版多了几个msvcp和msvcr文件,我把这些文件直接复制到安装版修图软件目录下,软件竟然能运行了。
后来再次安装一个未授权游戏的时候,也遇到了0x000007b错误,我把msvcp和msvcr文件复制到程序目录,游戏也能正常运行。
msvcp和msvcr文件都是微软的C运行时库文件,系统安装了vcredist后在系统目录C:\Windows\System32下应该都会有的。我对比了一下我系统目录和绿色版修图软件自带的文件,发现有一些不同,虽然都是微软签名的文件,但是我系统自己的文件签名比较早,有几个还带有附加名称。我删除了系统目录System32下的一部分同名的msvcp和msvcr文件,然后复制修图软件自带的文件进去,然后把游戏目录和修图软件目录下的msvcp和msvcr文件删除,再次运行程序也不会报错。
最后,终于弄明白了,应该是安装的vcredist还是不够新。安装vcredist的时候,由于系统运行的某些软件可能正在使用msvcp和msvcr文件,不一定能顺利安装成功。所以尽量在系统不运行其他软件的情况下安装vcredist,注意有些软件会在后台以服务的形式运行。
现在我共享一下我的几个msvcp和msvcr文件,然后遇到0x000007b错误的,可以试一下直接替换掉系统目录C:\Windows\System32下同名文件,注意替换前看一下你自己的文件的签名日期,如果比我提供的新,应该就不用替换了。最好是用PE启动替换,可能有些文件正在使用无法直接替换。
所有文件都有微软的签名,使用前自己检查一下。