Microsoft Store安裝應用提示錯誤0x80070005以及WindowsApps許可權問題

崑崙路遠發表於2023-09-09

問題描述

在Windows10/11Microsoft Store上安裝應用時,提示錯誤0x80070005,無法安裝
Alt text

透過搜尋相關問題,嘗試手動下載appx程式時,仍然提示錯誤0x80070005,但相比Microsoft Store安裝,appx程式錯誤指出了C:\Program Files\WindowsApps資料夾的許可權訪問問題。

注:0x80070005錯誤一般和許可權問題有關

問題分析

對於許可權問題,第一反應以管理員身份來安裝appx程式,以管理員身份開啟powershell,用AppxPackageManager安裝appx程式,仍然提示C:\Program Files\WindowsApps資料夾的寫許可權問題,說明管理員也沒有該檔案的寫許可權。

進一步檢視C:\Program Files\WindowsApps的許可權情況發現,在出現問題的電腦上,該資料夾只給了管理員使用者的讀寫許可權,但仍然無法對該資料夾進行寫操作。因此又找了一個正常的電腦,看了一下正常的許可權情況(如果無法檢視,點選所有者更改,然後退出就能顯示了):

Alt text

可以看到,正常情況下,普通使用者和管理員只有讀取和執行許可權,沒有寫入許可權,只有SYSTEM和TrustedInstaller才有完全控制許可權(包括讀寫和執行)。

解決方法

那麼思路就比較清楚了,可以嘗試在C:\Program Files\WindowsApps資料夾中,給SYSTEM和TrustedInstaller賦予完全控制許可權,再嘗試安裝程式。

新增的時候注意得分兩步

  1. 右鍵資料夾屬性,選擇安全,高階,更改所有者為Everyone
    在輸入要選擇的物件名稱時,可以輸入目標的頭幾個字元,然後選擇【檢查名稱】,可以自動補全
    Alt text

  2. 勾選【替換子容器或物件的所有者】,點選確定,提示更改所有權
    Alt text

    成功後發現所有者已經變為Everyone

  3. 此時已經可以更改不同使用者的許可權了,將SYSTEM和TrustedInstaller的許可權改為完全控制

    Alt text

    • 如果沒有SYSTEM主體,則選擇新增,然後新增名稱為SYSTEM的主體,再更改許可權為完全控制
    • 如果沒有TrustedInstaller,注意,新增的輸入名稱為NT SERVICE\TrustedInstaller
  4. 此時再安裝appx程式,或者在Microsoft Store中搜尋安裝,就可以安裝成功了。

  5. 為了安全起見,將資料夾所有者更改回SYSTEM或TrustedInstaller,重複步驟1-2即可;然後將使用者的許可權恢復為讀取和執行

總結

回顧這個問題,其原因可能是某個時候強行更改了C:\Program Files\WindowsApps的訪問許可權和控制許可權,使得系統無法正常讀取和寫入,而Microsoft Store安裝程式時卻無法取得該資料夾的寫入許可權,由此出現問題。

還有一個問題沒想清楚,其實並非Microsoft Store中所有的應用都安裝不了,像Ubuntu, Snipaste就無法安裝,而微信就可以安裝,目前猜測是為不同的應用所需許可權不同或者安裝路徑不同?

參考

  1. 個人遇到win11錯誤程式碼0x80070005解決過程 - 嗶哩嗶哩 (bilibili.com)
  2. TrustedInstaller名稱
  3. 更改資料夾許可權時提示“將安全資訊應用到以下時發生錯誤” - 傲世零零個人技術網站 (wangjunjiang.com)

相關文章