事情的起因是我想玩老游戏《孤岛危机2》,安装之后发现游戏无法运行,提示错误0xc0150004。搜索论坛,发现有一位朋友遇到了和我高度相似的问题。 (只不过,他是傲梅分区助手打不开)
紧接着我开始测试,果然,我的电脑傲梅分区助手也打不开了,同样报错。同时,好些许久不玩的游戏,生化危机4重制版和生化7,已经另外几个老的射击动作游戏也无法运行了!我也尝试了他帖子里面的操作,仍然无法解决问题。
后来我忽然想起来,前端时间,我给C盘手动瘦身,从WinSxS文件夹中移走了大量文件。可能有东西被误删了。
于是我通过如下几步成功解决:
一、定位问题文件/文件夹
打开事件查看器(Win+R → 输入 eventvwr.msc)。
左侧展开:Windows 日志 → 应用程序
在右侧找到运行该程序时的错误记录(红色的“错误”标志)。双击后查看详细信息,其中提到了:
“side-by-side configuration is incorrect”(EventID 33)
里面的详细信息会列出一个类似这样的东西:
- EventData
Microsoft.VC90.MFC,processorArchitecture="x86",publicKeyToken="1fc8******e18e3b",type="win32",version="9.0.21022.8"
这个东西就是WinSxS下面缺的组件。
二、重新获取文件
通过everything这个软件搜索文件夹,关键词使用1fc8******e18e3b,很快就能搜到结果如下:
(注:因为我有备份所以我搜索的是我自己的移动硬盘;通常您遇到此问题的时候,得另外找一台正常的win11电脑搜索)
I:\WinSxS防误删备份\2022\amd64_microsoft.vc90.crt_1fc8******e18e3b_9.0.30729.9635_none_08e2c157a83ed5da
I:\WinSxS防误删备份\2022\x86_microsoft.vc90.crt_1fc8******e18e3b_9.0.30729.9635_none_508ff82ebcbafee0
I:\WinSxS防误删备份\2023\Fusion\x86_microsoft.vc90.crt_1fc8******e18e3b_none_ea33c8f0b247cd77
注意看,文件夹名称中间有一截和事件查看器错误日志里面的publicKeyToken(红色部分)是对应的,版本也要对应(蓝色部分)缺啥复制啥,不要乱选哦
三、临时接管 C:\Windows\WinSxS\ 权限,把文件复制回去
C:\Windows\WinSxS 的权限隶属于TrustedInstaller ,用户只有读取、 列表权限,复制东西会报错。此时我们在C:\Windows\WinSxS 文件夹上点右键→属性,切换到“安全”选项卡,然后让自己的用户得到“完全控制”权即可复制,复制完成后把权限改回去即可。这方面的教程网上很多我就不多写了。

