错误代码0x80070005“拒绝访问”源于系统目录、注册表或DCOM权限损坏,需用SubInACL工具依次修复SoftwareDistribution、Catroot2、Windows Update注册表项、S-1-5-20键及DCOM中SELF权限。
如果您在执行Windows 10更新、激活或应用商店下载操作时遇到错误代码0x80070005,系统提示“拒绝访问”,则极有可能是关键系统目录、注册表项或DCOM配置的访问控制列表(ACL)损坏或所有权丢失所致。SubInACL作为微软官方提供的低层级权限修复工具,可精准重置SoftwareDistribution、Catroot2、Windows Update注册表路径等对象的安全描述符。以下是使用SubInACL修复的具体步骤:
一、下载并安装SubInACL工具
SubInACL不随Windows 10默认安装,需从微软官方存档获取v6.0安装包,并完成本地部署,确保命令可在管理员命令提示符中直接调用。
1、访问微软支持页面support.microsoft.com/kb/2640397,下载subinacl.msi安装文件。
2、双击运行subinacl.msi,按向导完成安装;默认安装路径为C:\Program Files (x86)\Windows Resource Kits\Tools\。
3、以管理员身份打开命令提示符,输入subinacl /?验证是否识别;若提示“不是内部或外部命令”,需将安装路径手动添加至系统环境变量PATH中。
二、重置Windows Update核心目录权限
SoftwareDistribution和Catroot2文件夹是Windows Update运行时依赖的关键位置,其权限继承中断或所有者非Administrators组将直接触发0x80070005错误。SubInACL可递归还原其所有权与完全控制权限。
1、在管理员命令提示符中依次执行:net stop wuauserv与net stop cryptsvc,停止相关服务。
2、执行:subinacl /subdirectories “C:\Windows\SoftwareDistribution\*” /setowner=administrators。
3、执行:subinacl /subdirectories “C:\Windows\System32\catroot2\*” /grant=administrators=F。
4、执行:net start wuauserv与net start cryptsvc,重启服务。
三、修复Windows Update注册表项权限
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate及其子项若被限制访问,将导致更新进程无法读取策略或写入状态,从而返回拒绝访问错误。SubInACL支持对注册表键强制重置所有权。
1、按Win + R输入regedit,右键导出该完整注册表键作为备份。
2、在管理员命令提示符中执行:subinacl /keyreg “HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate” /setowner=administrators。