错误代码0x80070005源于权限不足,需依次执行:一、以管理员身份重置windows update等服务;二、修复network service对windows update注册表项的读取权限;三、干净启动排除第三方软件干扰;四、恢复system和administrators对softwaredistribution等系统文件夹的完全控制权;五、重命名缓存目录并运行dism/sfc修复组件。

如果您尝试安装 Windows 更新,但系统提示错误代码 0x80070005 并显示“权限被拒绝”,则表明当前执行上下文缺少对关键更新组件(如 Windows Update 服务、注册表路径或系统文件夹)的必要访问权限。以下是多种可独立实施的修复方法:
一、以管理员身份运行 Windows 更新相关服务
Windows 更新进程在标准用户权限下无法写入受保护的系统路径或调用 SPP 激活服务,必须确保所有关联服务均以提升权限运行。
1、按下 Win + R 键,输入 services.msc,回车打开服务管理器。
2、在服务列表中依次右键单击以下服务,选择“属性”:Windows Update、Background Intelligent Transfer Service、Cryptographic Services、Windows Installer。
3、在每个服务的“登录”选项卡中,确认“此账户”设置为 本地系统账户,并勾选“允许服务与桌面交互”(若存在该选项)。
4、在“常规”选项卡中,将“启动类型”设为 自动(延迟启动),点击“应用”后点击“启动”按钮(若状态为“已停止”)。
5、全部配置完成后,重启计算机。
二、重置 Windows Update 相关注册表权限
组策略或第三方工具可能意外移除了 NETWORK SERVICE 或 LOCAL SERVICE 对 Windows Update 核心注册表项的读取与写入权限,需手动还原。
1、以管理员身份运行命令提示符,执行:reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v NoAutoUpdate /t REG_DWORD /d 0 /f。
2、继续执行:reg delete "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" /f,清除策略强制项。
3、运行 regedit,导航至 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate。
4、右键该项 → “权限” → “高级” → “添加” → 输入 NT AUTHORITY\NETWORK SERVICE → 点击“检查名称”→“确定”。
5、在权限条目中勾选 读取、查询值、枚举子项、通知,点击“确定”保存。
三、执行干净启动排除软件冲突
第三方安全软件、优化工具或后台进程可能劫持 Windows Update 的 COM 接口或拦截服务通信,干净启动可隔离干扰源。
1、按下 Win + R,输入 msconfig,回车。
2、切换到“服务”选项卡,勾选 隐藏所有 Microsoft 服务,然后点击“全部禁用”。
3、切换到“启动”选项卡,点击“打开任务管理器”,在启动项列表中右键逐个选择非 Microsoft 条目 → “禁用”。
4、关闭任务管理器,返回 msconfig 窗口点击“确定”,然后重启计算机。
5、重启后立即尝试运行 Windows 更新,观察是否仍报 0x80070005。
四、修复 SYSTEM 和 Administrators 组对系统文件夹的完全控制权
Windows Update 需要向 %windir%\SoftwareDistribution 和 %windir%\System32\sppstore 文件夹写入临时数据和许可证缓存,权限丢失将直接触发拒绝访问。
1、打开文件资源管理器,进入 C:\Windows\SoftwareDistribution,右键 → “属性” → “安全” → “高级”。
2、点击“更改”链接(位于所有者字段右侧),输入 SYSTEM → “检查名称” → “确定”。
3、勾选 替换子容器和对象的所有者,点击“应用”。
4、返回“权限”页,点击“添加” → “选择主体” → 输入 Administrators → “检查名称” → “确定”。
5、在权限条目中勾选 完全控制,并勾选 替换所有子对象的权限项,点击“确定”。
五、重新注册 Windows Update 核心组件
部分系统 DLL(如 wuapi.dll、wuaueng.dll)注册状态异常会导致权限校验失败,需通过系统文件检查与手动注册恢复。
1、以管理员身份运行命令提示符,依次执行:net stop wuauserv、net stop cryptSvc、net stop bits、net stop msiserver。
2、执行:ren C:\Windows\SoftwareDistribution SoftwareDistribution.old。
3、执行:ren C:\Windows\System32\catroot2 catroot2.old。
4、执行:net start wuauserv、net start cryptSvc、net start bits、net start msiserver。
5、最后执行:DISM /Online /Cleanup-Image /RestoreHealth,完成后执行:sfc /scannow。











