重置.NET Framework至装机状态,修复因.NET Framework部分组件损坏而造成程序闪退的问题。

前言

笔者因使用了IObit Uninstaler卸载了Visual Studio 2022而导致Visual Studio Installer闪退,想重新安装都不行,在事件查看器可以看到类似的如下报错,错误模块名称: KERNELBASE.dll,异常信息: System.TypeLoadException,异常信息: System.TypeInitializationException

.net framework 3.5组件存储已损坏 net组件修复_microsoft

.net framework 3.5组件存储已损坏 net组件修复_Windows_02

后来发现其他依赖的.NET Framework的程序也会这样闪退,就猜到可能是.NET Framework出问题了。于是想通过卸载重装.NET Framework来解决,但是无法卸载,也没法安装(提示已安装)。最后摸索到了这个重置.NET Framework的方法。

方法

说明:笔者系统为WIN10(20H2 19042.662)。重置.NET Framework,需准备一个PE系统,因为需要修改到系统文件。

1、提取可用的.NET Framework

用于替换重置。提取可用的.NET Framework,最好接近你使用的系统,

  1. 在你原装系统上提取(通过虚拟机安装该系统进行提取)

怎么提取?

  1. 提取文件:复制系统盘下的\Windows\Microsoft.NET文件夹备用,如C:\Windows\Microsoft.NET

.net framework 3.5组件存储已损坏 net组件修复_Windows_03

  1. 提取注册表:导出计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup该注册表备用。右键编辑该注册表文本,把HKEY_LOCAL_MACHINE\SOFTWARE全部替换为HKEY_LOCAL_MACHINE\111,后面会使用到。

.net framework 3.5组件存储已损坏 net组件修复_.net_04

准备好了,一个文件夹,一个注册表文件

.net framework 3.5组件存储已损坏 net组件修复_.net_05

2、进入PE系统替换

备份本系统的上述文件,做到可回退

  1. 复制系统盘下的\Windows\Microsoft.NET做备份
  2. 备份计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup注册表

备份注册表需要挂载本系统注册表文件。下边陈述。

1)加载本系统注册表,备份,替换。点击选择HKEY_LOCAL_MACHINE,点击“文件”—“加载配置单元”,选择系统盘下如下路径C:\Windows\System32\configSOFTWARE文件,点击“打开”,输入项名称111确认,然后就把注册表加载进来了。

.net framework 3.5组件存储已损坏 net组件修复_Windows_06

2)展开注册表计算机\HKEY_LOCAL_MACHINE\111\Microsoft\NET Framework Setup,右键点击NET Framework Setup选择“导出”备份。

3)备好好后,右键点击选择“删除”。

4)删除后,点击文件菜单“导入”,选择在【1、提取可用的.NET Framework】中提取修改处理后的注册表,点击“打开”即可。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RUcf1hEy-1662259333368)(md-assets/image-20220904102349330.png)]

5)然后打开本系统盘下的\Windows\Microsoft.NET的文件夹,删除里面的东西;在将【1、提取可用的.NET Framework】中提取的这四个文件夹复制过去。

.net framework 3.5组件存储已损坏 net组件修复_windows_07

3、重启验证

重启验证是否有效,如无效把备份的文件,按照以上方法还原回去即可。