avatar
Lialosiu's Note

修复 Windows 10 中损坏的 Appx 应用

前段时间手贱把 Surface Pro 3 的 系统升级到了 Windows Indsider Fast Ring 通道的 10525 版本,然后发现 ChromeVirtual Box 都出现了兼容性问题,估计是新的内存管理机制的锅。

因为工作需要用到 Vagrant,Virtual Box 不能用简直不能忍,于是我滚回到了10240

然而没想到回滚完成后,好几个 Appx 应用都出问题了,应用名显示为 @{microsoft.windowscommunicationsapps_17.6120.42011.0_x64__8wekyb3d8bbwe} 类似这样的形式。

出问题的应用分别为 Edge、日历与邮件、应用商店、Cortana,其中 Edge 和 Cortana 只是名字没了Icon没了,商店则是变成了英文菜单,日历与邮件则是直接打开不能、更新不能、卸载不能、完全拿他没办法。

强行忍了一个多星期,实在受不了,于是昨天抽时间出来终于把这问题解决了,写下来记录下步骤 顺便给blog填点东西


首先,祭出最基本的 wsreset 大法,管理员运行,然而并没有什么卵用

试着跑了下系统自带的疑难解答,然而它提示说……

|д゚)

好咯,还是要自己动手

既然系统搞不定,那就自己来研究吧

管理员身份打开 Powershell,把所有包重新注册一遍

1
Get-AppXPackage | Foreach {Add-AppxPackage -DisableDevelopmentMode -Register "$($_.InstallLocation)\AppXManifest.xml"}

坐等了大概一分钟,跑完了

跑完瞬间发现,Edge恢复正常了,那写坏掉的应用名也恢复正常了!

然而还是有两个坏掉的图标……

日历与邮件还是不行_(:3」∠)_

瞄了一眼 Powershell,发现有报错

咦,C:\ 在C盘根目录找是什么鬼

输出一下包信息看一下先:

1
Get-AppxPackage microsoft.windowscommunicationsapps*

妈了个鸡,为何 InstallLocation 不见了……

1
2
cd "C:\Program Files\WindowsApps\"
ls

妈了个蛋,还真没了这个文件夹……

存在的文件是 42011 然而包信息里面的是 42001

好吧,估计这个就是问题所在了……

试试移除掉这个包咯

1
Get-AppxPackage *microsoft.windowscommunicationsapps* | Remove-AppxPackage

然而并没有用,还是读的根目录

想了想,既然只会读根目录,那我就把 42011 的 AppXManifest.xml 扔在 C: 根目录总能读到了吧?

于是把整个 42011 的所有文件复制一份扔在根目录

然后试着:

1
Add-AppxPackage -register "C:\AppxManifest.xml" –DisableDevelopmentMode

有反应!但是依然是报错信息,说在 C:\ProgramData\Microsoft\Windows\AppRepository 里面找不到对应的xml

那我就复制一份进去咯

1
xcopy 'C:\AppxManifest.xml' microsoft.windowscommunicationsapps_17.6106.42001.0_x64__8wekyb3d8bbwe.xml

再试试看!

1
Add-AppxPackage -register "C:\AppxManifest.xml" –DisableDevelopmentMode

nice!成功运行!

打开开始菜单看看,邮件恢复了!

为了防止出现各种奇怪的问题,先把包砍了再从商店装一遍吧

然而并不能在GUI下直接卸载,那就老方法

1
Get-AppxPackage *microsoft.windowscommunicationsapps* | Remove-AppxPackage

ok,卸掉

然后商店重新安装

搞定 (´・ω・`)

さくら、もゆ。-as the Night's, Reincarnation- 応援中!! さくら、もゆ。-as the Night's, Reincarnation- 応援中!! 「封緘のグラセスタ」応援中! 『縁りて此の葉は紅に』2018年1月26日発売予定! 『縁りて此の葉は紅に』2018年1月26日発売予定!