問題描述
在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就無法安裝,而微信就可以安裝,目前猜測是為不同的應用所需許可權不同或者安裝路徑不同?