适用于:Windows 10 神州网信政府版
1.概要:
用户反馈在尝试安装.NET Framework 3.5时出现如下问题报错。
2.操作步骤/更多信息:
以下几种原因可能导致上述问题的发生:
- .NET Framework 无法通过 Powershell 启用。
- 损坏的 .NET Framework 依赖项 – 由于某些类型的损坏的 .NET Framework 依赖项会影响新版本的安装,因此也会出现此特定问题。在这种情况下,可通过运行 .NET 修复工具来修复损坏的实例。
- 系统文件损坏 – 在某些情况下,您可能会看到此错误代码是由于某种类型的损坏而导致的,即某些软件基础设施的 Windows 文件。可用健康的等效文件替换损坏的文件,运行修复安装或全新安装。
针对原因一:可尝试在控制面板-程序和功能-打开或关闭windows功能中勾选.net framework进行尝试安装,但通常无法在线获取安装源文件,不适用CMGE。
针对原因二:需要使用NetRepairTool进行.net framework依赖项的修复。
关于NetRepairTool的使用,主要有两种方式:
- 双击可执行文件,根据修复向导进行自动修复
- 可使用命令行方式,有针对性的进行手动修复。以下为修复工具可使用的参数命令及部分截图:
标准选项 | 描述 | 用法 |
---|---|---|
/? 或 / 帮助 | 显示帮助信息。 | NetFxRepairTool.exe /? |
/q 或 /安静 | 静音模式。无需用户交互,该工具会尝试所有修复/修复并保存日志文件。 选项“/q”和“/p”是互斥的。 |
NetFxRepairTool.exe /q |
/p 或 /被动 | 无人值守模式。只显示进度条。 选项“/q”和“/p”是互斥的。 |
NetFxRepairTool.exe /p |
/a 或 /addsource | 离线修复模式。修复所需的安装程序可再发行文件是从“/addsource”标志指定的网络共享或文件夹路径复制的。当工具在断开连接或锁定的环境中运行时,通常应使用此方法。 |
NetFxRepairTool.exe /a <文件夹路径> 示例: |
/r 或 /修复 | 可以选择性地将修复操作的范围限定为针对一组指定的产品基线。如果未指定此选项,该工具将尝试修复安装的所有受支持的 .NET Framework 版本。 “/repair” 选项还可以与 “None” 值一起使用,以仅应用修复程序并跳过任何产品基线的运行修复。当此选项与“None”值一起使用时,不应指定“/addsource”选项。 此选项仅适用于安静和被动模式。 |
NetFxRepairTool.exe /r < version1 >; < version2 > 支持的版本值:.net35、.net4、.net45、.net451 .net452、.net46、.net461、.net462 .net471、.net472、.net48,无 示例: |
/l 或 /logs | (可选)为工具生成的日志文件柜 (FixDotNet*.cab) 设置所需的文件夹路径。CAB 文件的默认位置(即未指定此选项)是当前用户的桌面文件夹。 |
NetFxRepairTool.exe /l <文件夹路径> 示例: |
/c 或 /collectonly | 仅日志收集模式。此模式将允许收集与 .NET Framework 设置相关的日志,这对于故障排除非常有用。指定此选项时,不会执行修复或任何修复操作。 此选项仅适用于安静和被动模式,并将禁止所有其他操作。 |
NetFxRepairTool.exe /q /c 或 NetFxRepairTool.exe /p /c |
/n 或 /noceipconsent | 选择不向 Microsoft 发送反馈信息。默认(未指定标志)假定用户已选择向 Microsoft 发送使用数据。 此选项仅适用于安静和被动模式。 |
NetFxRepairTool.exe /q /n 或 NetFxRepairTool.exe /p /n |
针对原因三:尝试修复Windows Foundation Package,具体方法如下:
- 使用管理员身份运行powershell,并执行命令:
dism /online /get-features
确认版本信息及程序包功能列表文件。
- 从一台无故障电脑上拷贝如下路径的该文件至本机。
C:\windows\servicing\packages
- 在故障电脑上以管理员身份运行CMD命令,使当前登录用户成为该文件夹的所有者:
takeown /F c:\Windows\Servicing\Packages /D y /R
同时赋予当前登录用户完全控制权限cacls c:\Windows\Servicing\Packages /E /T /C /G "当前登录用户名":F
- 将之前拷贝的文件拷贝至
C:\windows\Servicing\Packages。
- 运行如下命令,查看是否成功安装.net framework
dism.exe /online /enable-feature /featurename:NetFX3 /Source: c:\sxs /LimitAccess /all