前天晚上想重温下《火炬之光2》,结果刚点开启动程序就弹个红叉报错,说什么"计算机中丢失*"。我当时就纳闷了,这老游戏十年前都能玩,怎么现在倒缺文件了?
初试解决方案翻车
我随手百度了下,看到某经验站让下载这个dll文件扔到system32文件夹。麻利照做后,双击游戏图标——还是报错!这回错误提示变成了“应用程序无法正常启动0xc000007b”,气得我差点砸键盘。
深挖问题根源
这回改用必应仔细搜英文论坛,发现国外玩家也经常踩这个坑。有个Steam社区老帖提到关键点:这是32位和64位系统打架!游戏自带的VC++2010运行库是32位的,但很多小白(比如我)之前瞎下载的dll却是64位的。
- 用Everything工具搜系统里所有*
- 果然在游戏安装目录里揪出个2KB的冒牌货
- 系统目录里还藏着三四个不同版本
暴力实测终解决
直接去微软官网下了Visual C++ 2010 SP1可再发行组件包。重点来了:
- 运行安装程序时勾选"修复"选项
- 重启后删掉之前乱塞的dll文件
- 进C:\Windows\System32确认正版dll文件修改日期是2019年
这回双击游戏瞬间就进主界面了,熟悉的BGM响起时我都想给自己鼓掌。
血泪教训总结
后来翻电脑日志才发现,前阵子清理垃圾时把旧版运行库当冗余文件删了。老游戏依赖的运行库就像泡面调料包,千万别觉得新电脑自带全套调料!尤其是这种十年前的经典游戏,老老实实装对应的32位运行库最保险。