错误代码0x80070005表示“访问被拒绝”,本质是更新进程缺乏对SoftwareDistribution、$WINDOWS.~BT、COM接口或注册表项的必要权限;五种实测有效方法为:一、以管理员身份运行MediaCreationToolW11.exe或setup.exe;二、重置更新服务并重命名SoftwareDistribution与catroot2目录;三、清理$WINDOWS.~BT目录;四、执行DISM /Online /Cleanup-Image /RestoreHealth和sfc /scannow修复系统文件;五、在dcomcnfg中为SELF账户启用本地及远程COM访问权限。

如果您尝试更新 Windows 11 系统,但安装过程中弹出错误代码 0x80070005,该错误明确表示“访问被拒绝”,本质是系统更新进程无法获得对关键路径(如 C:\Windows\SoftwareDistribution、C:\$WINDOWS.~BT、COM 接口 或 注册表项)的必要访问权限。以下是五种相互独立、可并行实施且经实测验证的修复方法:
一、以管理员身份运行更新安装程序
此方法直接提升执行上下文权限等级,确保 setup.exe 或 Media Creation Tool 能写入受保护的系统目录(如 C:\Windows、C:\$WINDOWS.~BT),绕过 UAC 限制引发的访问拒绝。
1、若使用微软官方 Media Creation Tool,请右键点击已下载的 MediaCreationToolW11.exe 文件,选择“以管理员身份运行”。
2、若挂载 ISO 镜像升级,请在资源管理器中打开挂载盘符,定位到根目录下的 setup.exe 文件。
3、对该 setup.exe 文件执行右键操作,选择“以管理员身份运行”。
4、在安装向导界面中,勾选“保留个人文件、应用和 Windows 设置”选项。
二、重置 Windows 更新服务与缓存目录
该方案强制终止 wuauserv、BITS、CryptSvc、msiserver 等核心服务,清除 SoftwareDistribution 和 catroot2 中因长期运行导致的权限残留、句柄锁定与损坏缓存,并重建默认 ACL 配置,从而恢复更新服务链的正常调用关系。
1、按 Win + R 打开“运行”窗口,输入 cmd,然后同时按下 Ctrl + Shift + Enter,以管理员身份启动命令提示符。
2、依次执行以下命令,每输入一行后按回车并等待提示符返回:
net stop wuauserv
net stop bits
net stop cryptsvc
net stop msiserver
3、执行以下命令重命名缓存目录(避免直接删除引发句柄锁定或权限残留):
ren %windir%\SoftwareDistribution SoftwareDistribution.old
ren %windir%\System32\catroot2 catroot2.old
del /f /q "%ALLUSERSPROFILE%\Application Data\Microsoft\Network\Downloader\qmgr*.dat"
4、执行以下命令重启全部服务:
net start wuauserv
net start bits
net start cryptsvc
让 Windows 桌面程序在开机时静默自启并隐藏到系统托盘。特别适用于 Flutter、Electron 等无视 VBS/ProcessStartInfo 窗口样式、难以隐藏的顽固应用。提供「VBS 启动器 + Python ctypes/Win32 API」的隐藏窗口方案,可稳定把窗口收进托盘且不闪控制台。
net start msiserver
三、清理 $WINDOWS.~BT 目录并就地升级
$WINDOWS.~BT 是 Windows 升级过程中的临时部署目录,若其内部文件权限异常、所有者丢失或存在只读/加密属性,则更新进程将无法覆盖或写入其中,直接触发 0x80070005 错误。
1、打开文件资源管理器,在地址栏粘贴 C:\$WINDOWS.~BT 并按回车。
2、若该目录存在,全选其中所有文件与子文件夹(包括隐藏项目),按 Shift + Delete 永久删除。
3、若系统提示“需要提供管理员权限”或“当前用户无权访问”,请先右键单击该文件夹 → “属性” → “安全” → “高级”,点击“所有者”旁的“更改”,输入当前用户名并勾选“替换子容器和对象的所有者”,确认后返回,再重新尝试删除。
4、完成清理后,重新运行以管理员身份启动的 setup.exe 或 Media Creation Tool。
四、执行 SFC 与 DISM 系统文件修复
当系统核心更新组件(如 wuapi.dll、wups2.dll、tiptsf.dll)权限丢失、数字签名损坏或映像完整性受损时,更新进程将无法加载必需的 COM 对象,从而返回 0x80070005。DISM 用于修复 Windows 映像基础层,SFC 用于校验并还原受保护系统文件的默认 ACL 与内容。
1、以管理员身份运行 PowerShell(非普通命令提示符)。
2、依次执行以下命令,等待每条命令完全完成后再执行下一条:
DISM /Online /Cleanup-Image /RestoreHealth
sfc /scannow
3、若 SFC 报告“Windows 资源保护未找到任何完整性冲突”,说明系统文件完整;若报告“发现损坏文件但无法修复”,请重复执行 sfc /scannow 两次以上,或在 DISM 执行完毕后立即再次运行。
五、修正 DCOM 中 SELF 帐户的 COM 访问权限
该错误常见于域环境或深度自定义系统,根源是 SELF 帐户在“组件服务”中缺失对本地及远程 COM 对象的默认访问权限,导致 Windows 更新服务(wuauserv)无法调用系统级 COM 接口,进而触发 0x80070005。
1、在任务栏搜索框中输入 dcomcnfg,按回车启动“组件服务”管理控制台。
2、在左侧窗格中展开“组件服务” → “计算机” → “我的电脑”,右键单击“我的电脑”,选择“属性”。
3、切换至“COM 安全性”选项卡,在“访问权限”区域点击“编辑默认值”。
4、在“组或用户名”列表中查找 SELF;若未出现,点击“添加”,在文本框中输入 SELF,点击“检查名称”,确认后点击“确定”。
5、选中 SELF,在下方“允许”列中勾选“本地访问”和“远程访问”,点击“确定”关闭对话框,再次点击“确定”关闭“我的电脑属性”。
6、重启计算机使权限变更生效。










