移动 ProgramData 后无法安装 Windows 更新和功能

移动 ProgramData 后无法安装 Windows 更新和功能

重大更新

我现在明白为什么我不能安装.NET Framework 3.5新的特点Windows DirectPlay

我认为发生这种情况是因为我最近移动了很多文件。我想在数据硬盘 (F:) 上执行所有程序和内容,并在 SSD (C:) 上运行 Windows。我Symlinks通过以下方式创建了它们mklink /D

C:\ProgramData → F:\ProgramData

C:\Program 文件 → F:\Program 文件

C:\Program 文件 (x86) → F:\Program 文件 (x86)

最重要的是下面的答案:

C:\Users\所有用户 → F:\ProgramData

当我尝试安装这些功能时.NET Framework 3.5DirectPlay出现了与下面的旧问题完全相同的错误。

Windows 更新失败,错误代码为:0x80070bc9,Windows Defender 错误代码为:0x80070643

我如何让 Windows 更新和功能再次正常工作没有返回ProgramDataC: 盘?



老问题

当我尝试安装时.NET Framework 3.5,安装失败。

ProgramData最近将文件夹移到了另一个驱动器(我从C:该驱动器建立了符号链接)

安装错误(C:\Windows\Logs\DISM)更新http://scshot.deepspace.onl/eff24e62-f2b6-431f-a280-821d48554f6e.log

CBS(C:\Windows\Logs\CBS\CBS.txt)(只有这个文件,因为它是今天唯一更改的文件)http://scshot.deepspace.onl/6d071d59-f6cf-4da5-a753-38f29a31150d.log


在此处输入图片描述

C:\Windows\system32>Dism /online /enable-feature /featurename:NetFX3 /All /Source:E:\sources\sxs /LimitAccess

图片管理工具版本:10.0.10586.0

功能将被激活 [===========================100.0%===========================]

错误:3017

请求的过程失败。需要重新启动系统才能恢复更改。

DISM-Protokollis 在此处:“C:\Windows\Logs\DISM\dism.log”。

答案1

将此类文件夹移动到其他驱动器后,安装错误是不可避免的。我以前这样做了很多年,我只是学会了忍受一些更新未安装。部分问题可能是该All Users文件夹是 的符号链接ProgramData。不知何故,Windows 可能会发现此问题,这并不奇怪。

我会单独尝试或组合尝试以下操作(备份您的驱动器后):

  1. 重新创建All Users符号链接:
    • 删除c:\users\All Users符号链接
    • 创建一个新的c:\users\All Users符号链接到新的ProgramData
  2. 在注册表中搜索“c:\users\All Users”值并将其更改为您的新文件夹。
  3. 下载 .NET 更新可执行文件并安装它(如果它有 .exe 扩展名,只需双击它。*.msu 文件需要 wusa.exe)。

答案2

这可能无法解决问题,但这里有一些建议。

首先,根据我的经验,移动主要的 Windows 文件夹对 Windows 更新来说是个问题。如果需要,应该只移动特定的子文件夹,而不是整个文件夹。

其次,我在 DISM 日志中看到的第一个错误是:

2016-06-11 18:04:34, Info   DISM  DISM Package Manager: PID=9044 TID=7848 CBS session options=0x20100! - CDISMPackageManager::Internal_Finalize
2016-06-11 18:04:38, Info   DISM  DISM Package Manager: PID=9044 TID=5548  Error in operation: (null) (CBS HRESULT=0x80070bc9) - CCbsConUIHandler::Error
2016-06-11 18:04:38, Error  DISM  DISM Package Manager: PID=9044 TID=7848 Failed finalizing changes. - CDISMPackageManager::Internal_Finalize(hr:0x80070bc9)
2016-06-11 18:04:38, Error  DISM  DISM Package Manager: PID=9044 TID=7848 Failed processing package changes with session options - CDISMPackageManager::ProcessChangesWithOptions(hr:0x80070bc9)
2016-06-11 18:04:38, Error  DISM  DISM Package Manager: PID=9044 TID=7848 Failed ProcessChanges. - CPackageManagerCLIHandler::Private_ProcessFeatureChange(hr:0x80070bc9)
2016-06-11 18:04:39, Error  DISM  DISM Package Manager: PID=9044 TID=7848 Failed while processing command enable-feature. - CPackageManagerCLIHandler::ExecuteCmdLine(hr:0x80070bc9)
2016-06-11 18:04:39, Info   DISM  DISM Package Manager: PID=9044 TID=7848 Further logs for online package and feature related operations can be found at %WINDIR%\logs\CBS\cbs.log - CPackageManagerCLIHandler::ExecuteCmdLine
2016-06-11 18:04:39, Error  DISM  DISM.EXE: DISM Package Manager processed the command line but failed. HRESULT=80070BC9

错误代码 0x80070bc9 是典型的 Windows 更新错误。此错误表示“请求操作失败,需要重新启动系统才能回滚所做的更改”。

我的建议是(每个步骤后重新启动并重新检查):

  1. 将 ProgramData 文件夹放回原位

  2. 运行sfc /scannow命令来验证系统完整性描述在这里

  3. 运行命令

fsutil resource setautoreset true c:\

然后在安全模式尝试从命令提示符(cmd)删除这些文件:

cd %SystemRoot%\System32\SMI\Store\Machine
attrib -s -h *
del *.blf
del *.regtrans-ms
cd %SystemRoot%\System32\config\TxR
attrib -s -h *
del /q *
  1. 跑过Windows 更新疑难解答

  2. 最后手段:对 Windows 进行非破坏性重新安装(即就地升级)。这将保留您的个人文件和设置、已安装的驱动程序、程序和应用程序,并可能使 Windows 恢复完全正常工作状态。当其他方法都无法解决 Windows 更新错误时,此方法通常有用。请参阅文章 通过就地升级修复安装 Windows 10

在开始之前,我建议做好备份。最好还拍摄系统磁盘的快照,并确保从 CD 或 USB 启动时可以恢复它。 AOMEI Backupper 标准免费软件是我推荐的带有恢复启动 CD/USB 的备份实用程序。

答案3

您可以尝试使用 Windows 更新而不是安装源,

https://technet.microsoft.com/en-us/library/dn482065.aspx

如果您选择直接联系 Windows 更新下载修复内容,而不是选择 Windows Server Update Services (WSUS),则任何添加功能(例如 .NET Framework 3.5)或修复功能文件存储的尝试都会使用 Windows 更新下载文件。目标计算机需要 Internet 和 Windows 更新访问权限才能使用此选项。

您将在本地系统策略中更改此值gpedit.msc

计算机策略 -> 计算机配置 -> 管理模板 -> 系统 -> 指定可选组件安装和组件修复的设置

并启用Contact Windows Update directly

http://www.tenforums.com/windows-updates-activation/21919-windows-update-error-0x80080005.html

此 GPO 允许 Windows 使用 Windows 更新下载缺少的安装文件。然后您可以尝试使用控制面板进行安装,添加功能。

答案4

我在网上找到了这个:

你好!

可能有点晚了,但我还是会回答。

我的设置可能和你的完全相同。

在我的情况下,C:\Program Files\ 和 C:\Program Files (x86)\ 是 P:\Program Files\ 和 P:\Program Files (x86)\ 的符号链接

我在尝试安装 .NET 3.5 时遇到了完全相同的问题,错误 0x80070011。好吧,我实际上设法用这个小“技巧”​​安装了它:Regedit ->HKLM/Software/Microsoft/Windows/CurrentVersion

现在将路径更改为

ProgramFilesDir ProgramFilesDIr (x86) 和 ProgramW6432Dir 到(在我的例子中)驱动器 P:\

安装 .NET 3.5,然后改回路径。重启电脑,一切都会好起来的 :)

来源:https://social.technet.microsoft.com/Forums/windows/en-US/8a864e4f-9e18-435b-9404-2feab9057f15/cannot-install-net-framework-on-symlinked-drive

相关内容