問題場景説明
我的 Windows 10 有幾個本地賬戶,在一次通過應用商店對最常用本地賬戶的 Modern App 進行更新,
當更新成功完成后,最常用的沒有問題,但是其他兩個并沒更新衹是登錄桌面,一個管理員,一個標準用戶的皆無法運行,甚至都看不到窗體一閃即逝,其在開始菜單名稱變爲
這種形式,從 eventvwr 查詢日志,可從 "系統日志部分" 看到不少
的日志, 提示 "找不到映像文件的資源類型".
嘗試對其中的 "應用商店" 進行重新安裝, 參照之前自己寫的如下文章
[分享]無需從網絡下載, 直接重裝系統自帶 "應用商店(WindowsStore)" 應用
https://social.technet.microsoft.com/Forums/Azure/zh-CN/54db961b-bdd0-4308-b26c-fb206d08f8c4/-windowsstore-?forum=win10itprogeneralCN
解決方法
警告: 因爲條件有限,沒有對此方法經過充分測試,
不清楚對於那些啓用了 BitLocker 和 Windows Hello 功能的設備是否存在額外情況。
以及不清楚對於使用 LiveID 的賬戶,此方法是否存在未知問題。
此方法是否完全恢復了 Modern App,也不能完全肯定。
第一部分, 恢復 Per-User 級 Modern Apps 運行
注意: 依據程序設置存儲的差異,部分程序用此方法恢復后,可能丟失原有設置。
1. 登錄其他賬戶的桌面,這裏首選管理員賬戶,衹要是 Administrators 組就可以,不需要啓用 Administrator 賬戶。
如果是要恢復的是管理員,那麽臨時再建立一個管理員賬戶。
2. 以管理員身份運行命令提示符,
3. 定位到有問題的用戶的如下目錄
cd /d C:\Users\KYW\AppData\Local\Microsoft\Windows
move
del
命令把文件 usrclass.dat 重命名或刪除,操作前可以進行備份。
該文件存儲當前用戶注冊表項
HKCU\SOFTWARE\Classes
attrib usrclass.dat -h
move usrclass.dat usrclass.dat.old
del usrclass.dat /a/f
5. 然後登錄該用戶桌面,系統會自動重建一個 usrclass.dat 文件
6. 隨便點擊之前不能運行的 Modern App, 應該可以看到那些程序可以重新運行了。
7. 如果某些程序在開始菜單的快捷方式名稱依然有問題,那麽點擊或按一下圖標,即可恢復。
8. 如果還有程序不能成功運行,那麽按照我之前的那篇文章,重新安裝一下。
雖然這些程序可以正常運行了,但并不代表其所有功能,都可以正常運作了。
比如應用商店的登錄功能,還有設置中的賬戶設置,相關功能要不出不來,要不一直顯示在加載。
究其原因,是一些 System 級別的 Modern App 注冊表設置不存在造成。
第二部分, 恢復 System 級 Modern Apps 運行
雖然要恢復的是 System 級 Modern Apps 設置,但并不需要管理員權限,衹需把如下命令複製到命令提示符并執行,即可。
for /f "tokens=3" %n in ('reg query "HKLM\SOFTWARE\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppModel\PackageRepository\Packages" /s /f SystemApps /d ^| find "Path"') do @powershell -command "add-appxpackage
-path '%n\AppxManifest.xml' -register -disabledevelopmentmode"
執行前,可以把 @powershell 那一部分替換爲
@echo "%n"
這樣可以瞭解一共有哪些 Modern App 是 System 級的。
在恢復 Cortana 時,可能會報錯,不過從實驗看不影響用本地賬戶正常使用 Cortana。
Folding@Home