Win10 新增或刪除功能時報錯:0x80073701,找不到引用的彙編 (ERROR_SXS_ASSEMBLY_MISSING)

Dolphinsimon發表於2023-11-24

問題描述:

當透過控制皮膚或DISM命令或PowerShell命令Enable-WindowsOptionalFeature修改Windows功能時,可能會遇到此報錯,導致功能修改失敗。

關於這個問題的來源,英文版的錯誤資訊很明確:ERROR_SXS_ASSEMBLY_MISSING,有SXS元件找不到,中文機翻痕跡明顯,壓根看不懂是啥意思。

如果你是新增系統元件的時候遇到這個問題,可以嘗試解除安裝一個已有的系統元件排查是否是網路問題,如果移除已有的元件也會報錯,那麼就是本地系統元件有損壞了,需要修復。

常規的解決方案:

SFC /Scannow
DISM /Online /Cleanup-Image /ScanHealth
DISM /Online /Cleanup-Image /CheckHealth
DISM /Online /Cleanup-Image /RestoreHealth

如果執行以上命令能查詢到錯誤,並且能夠成功修復,恭喜你,問題大概就已經解決了;如果檢查不出問題,請繼續往下看。

這個時候你需要檢查CBS log檔案,這個檔案的完整路徑是"C:\Windows\Logs\CBS\CBS.log",在這個檔案內,可以看到修改系統功能操作失敗的日誌。
用文字編輯器開啟這個檔案後,直接搜尋關鍵字 ERROR_SXS_ASSEMBLY_MISSING,你應該能夠搜尋到類似下面的錯誤資訊:

CBS Failed to pin deployment while resolving Update: Package__for_KB***~ from file: (null) [HRESULT = 0x80073701 - ERROR_SXS_ASSEMBLY_MISSING]

KB*******這個補丁的編號就是我們需要的資訊,有了錯誤補丁編號,開啟登錄檔編輯器,定位到如下位置:
HKLM\Software\Microsoft\Windows\CurrentVersion\ComponentBasedServicing\Packages
搜尋補丁編號,並且把所有匹配的Key全部刪除。

操作到這裡,問題就已經修復了,我們的操作簡單粗暴,就是把丟失的補丁資訊直接刪除,既然這個補丁不存在我們把它的記錄刪除,直接不管它就行了。
這樣一同操作下來你就可以正常新增/刪除系統功能了。