问题描述
在Windows10/11Microsoft Store上安装应用时,提示错误0x80070005,无法安装
通过搜索相关问题,尝试手动下载appx程序时,仍然提示错误0x80070005,但相比Microsoft Store安装,appx程序错误指出了C:\Program Files\WindowsApps
文件夹的权限访问问题。
注:0x80070005错误一般和权限问题有关
问题分析
对于权限问题,第一反应以管理员身份来安装appx程序,以管理员身份打开powershell,用AppxPackageManager
安装appx程序,仍然提示C:\Program Files\WindowsApps
文件夹的写权限问题,说明管理员也没有该文件的写权限。
进一步查看C:\Program Files\WindowsApps
的权限情况发现,在出现问题的电脑上,该文件夹只给了管理员用户的读写权限,但仍然无法对该文件夹进行写操作。因此又找了一个正常的电脑,看了一下正常的权限情况(如果无法查看,点击所有者更改,然后退出就能显示了):
可以看到,正常情况下,普通用户和管理员只有读取和执行权限,没有写入权限,只有SYSTEM和TrustedInstaller才有完全控制权限(包括读写和执行)。
解决方法
那么思路就比较清楚了,可以尝试在C:\Program Files\WindowsApps
文件夹中,给SYSTEM和TrustedInstaller赋予完全控制权限,再尝试安装程序。
添加的时候注意得分两步
-
右键文件夹属性,选择安全,高级,更改所有者为Everyone
在输入要选择的对象名称时,可以输入目标的头几个字符,然后选择【检查名称】,可以自动补全
-
勾选【替换子容器或对象的所有者】,点击确定,提示更改所有权
成功后发现所有者已经变为Everyone
-
此时已经可以更改不同用户的权限了,将SYSTEM和TrustedInstaller的权限改为完全控制
- 如果没有SYSTEM主体,则选择添加,然后添加名称为
SYSTEM
的主体,再更改权限为完全控制 - 如果没有TrustedInstaller,注意,添加的输入名称为
NT SERVICE\TrustedInstaller
- 如果没有SYSTEM主体,则选择添加,然后添加名称为
-
此时再安装appx程序,或者在Microsoft Store中搜索安装,就可以安装成功了。
-
为了安全起见,将文件夹所有者更改回SYSTEM或TrustedInstaller,重复步骤1-2即可;然后将用户的权限恢复为读取和执行
总结
回顾这个问题,其原因可能是某个时候强行更改了C:\Program Files\WindowsApps
的访问权限和控制权限,使得系统无法正常读取和写入,而Microsoft Store安装程序时却无法取得该文件夹的写入权限,由此出现问题。
还有一个问题没想清楚,其实并非Microsoft Store中所有的应用都安装不了,像Ubuntu, Snipaste就无法安装,而微信就可以安装,目前猜测是为不同的应用所需权限不同或者安装路径不同?
参考
- 个人遇到win11错误代码0x80070005解决过程 - 哔哩哔哩 (bilibili.com)
- TrustedInstaller名称
- 更改文件夹权限时提示“将安全信息应用到以下时发生错误” - 傲世零零个人技术网站 (wangjunjiang.com)