Windows 11 应用程序无法正常启动 (0x0000135) | 青训营笔记

534 阅读3分钟

这是我参与「第三届青训营 -后端场」笔记创作活动的的第x篇笔记。

目前的解决方案是控制面板打开.Net Frameworks 3.5

这篇就不计数了,连夜怒水一篇。

下面太长不想看就算了,2022年5月11日前后出现这个问题很可能是Windows更新补丁KB5013943造成的,在控制面板里卸载掉这个更新再重启可能就会恢复正常。

5月11日Windows 11 日常更新之后重启,LogiOptions(罗技鼠标的软件)报错,然后我以为是更新过程固态硬盘掉电、数据丢失,重新下了一个安装包,安装包也报错,索性卸载掉不管了,这里按下不表。

5月12日在写项目的时候打算用Docker拉一个数据库起来,但是Docker打不开了,也报与标题相同的错误,然后我就懵了,直接管理员CMD sfc /scannow走起来,结果系统没问题???

然后网上查了查帖子,可能是.NET Framework的问题,然后我就查了一下怎么查.NET版本,网上建议我用PowerShell运行一个命令来查(好久不写C#了),结果PowerShell也报相同的错???

我直接打开系统变量调顺序,以我的经验来看这有可能是环境变量顺序的问题,最近把一些库又装上了,可能是这个原因导致的,但是调了半天没反应,后面想想PowerShell用到的动态链接库什么的不会被第三方软件影响,除非这个软件没打算在Windows上用,不然名字不会冲突。

然后去网上找.NET怎么重装,发现高版本4.5以上的.NET不能手动重装???因为它已经是Windows系统的一部分了。那么好,我去找了Microsoft .NET 框架修复工具帮我重装,但是没效果(这里可能是因为其实我的.NET Framework安装没有问题)。

然后还有一次报了个错,缺少mscoree.dll,那我去找个dll行不行。结果这个动态链接库还不是C:\Program Files\dotnet文件夹里的,而是C:\Windows\System32文件夹内的,妥妥的系统文件。网上随便下载的不敢信,也没找到Windows 11的,我有另一台Windows 10的电脑,那拷过来试试吧,拷过来之后报错信息换了,mscoree.dll加载出错,建议我重装.NET Framework。

再下面就抓瞎了,最后Google了一把Windows 11和mscoree.dll,终于找到了一个日文的文章,翻译过来就是说近期的一个Windows更新补丁会导致这类问题,文章在此Windows 11的“Windows Update”后“.NET Framework”应用程序无法启动的问题。文章里主要说KB5013943旨在修复KB5012643造成的.NET Framework 3.5应用程序无法启动等问题,但是很可惜,我查了一下我的Windows Update History,5月11日恰恰装的是KB5013943这个补丁,那么好,问题找到了,在控制面板里卸载这个补丁回滚系统,重启之后就好了。

进入C:\Windows\System32文件夹查看,发现mscoree.dll、mscorier.dll和mscories.dll三个动态链接库又安然无恙的回到了我的系统里,而且大小与Windows 10的不同,那么说明Windows 11的最低.NET Framework版本可能更高。