V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
acess
V2EX  ›  Windows

自行摸索解决了 Win10 应用商店闪退问题

  •  
  •   acess · 2016-05-24 03:06:17 +08:00 · 11541 次点击
    这是一个创建于 2900 天前的主题,其中的信息可能已经有所发展或是发生改变。

    什么操作都没做,突然就打不开 Win10 应用商店了。开始菜单里的应用商店磁贴变成了白板,点击无反应。

    Win10 版本是 10586.318 x64 Pro 。平时开着自动更新。感觉微软也真够极品的。

    上网搜索,找到了一个解决方法:
    http://winaero.com/blog/how-to-restore-windows-store-in-windows-10-after-removing-it-with-powershell/
    但在运行 Add-AppxPackage 的时候, Powershell 里报错了:

    Add-AppxPackage : 部署失败,原因是 HRESULT: 0x80073CF6, 无法注册包。 (异常来自 HRESULT:0x80073CF6)
    注: 有关其他信息,请在事件日志中查找 [ActivityId] XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX ,或使用命令行 Get-AppxLog -ActivityID XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
    所在位置 行:1 字符: 1
    + Add-AppxPackage -register "C:\Program Files\WindowsApps\Microsoft.Win ...
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : WriteError: (C:\Program File...ppxManifest.xml:String) [Add-AppxPackage], IOException
        + FullyQualifiedErrorId : DeploymentError,Microsoft.Windows.Appx.PackageManager.Commands.AddAppxPackageCommand
    

    就按照他说的,运行 Get-AppxLog ,看到了日志。输出很长,关键的地方应该是这里:

    2016/5/24 2:22:08         475          错误 0x80070002: 从位置 C:\ProgramData\Microsoft\Windows\AppRepository\Microsoft
                                           .WindowsStore_11602.1.26.0_neutral_split.scale-100_8wekyb3d8bbwe.xml 中读取部件
                                           清单(manifest)失败,错误为: 系统找不到指定的文件。
                                           。
    

    拿起 Everything 一搜,发现的确少了这个文件,但存在另一个文件

    Microsoft.WindowsStore_11602.1.26.0_neutral_split.scale-125_8wekyb3d8bbwe.xml
    

    区别仅仅是 scale-125 和 scale-100 ……大概是 DPI 缩放比率吧。 然后使用 psexec -i -d -s cmd.exe 开一个 SYSTEM 账户的 CMD , copy 过去:

    cd C:\ProgramData\Microsoft\Windows\AppRepository
    copy Microsoft.WindowsStore_11602.1.26.0_neutral_split.scale-125_8wekyb3d8bbwe.xml Microsoft.WindowsStore_11602.1.26.0_neutral_split.scale-100_8wekyb3d8bbwe.xml
    

    拷完后回到 Powershell 再跑一遍 Add-AppxPackage ,成功了,应用商店可以打开了……
    看上去很多人只是跑了一遍 Add-AppxPackage 就搞定了。不知道我为什么会踩到这种坑。
    折腾浪费了太多时间。发到这里,不知道能不能帮到踩到同样坑的人,减少损失……

    第 1 条附言  ·  2016-07-06 18:37:04 +08:00
    可以用这个命令重新注册所有 AppX 包,不需要手动一个一个 Add-AppxPackage :
    Get-AppXPackage -AllUsers | Foreach {Add-AppxPackage -DisableDevelopmentMode -Register "$($_.InstallLocation)\AppXManifest.xml"}
    但是这样“修复”还是治标不治本,每一次更新应用,都会再次坏掉。虽然再折腾一次还能恢复正常,但这说明可能是 AppXManifest.xml 里的内容有问题。
    网上也不是没人反映,能搜到相关的帖子,不过我没找到彻底的解决方法,有人说需要进行一次同版本的“升级”安装。
    另外,貌似再新建一个账户,那些坏掉的 UWP 应用在新账户下可以正常打开!?看上去坏掉的是 ProgramData 里的内容,应该是影响到所有用户的啊。
    5 条回复    2016-05-25 15:49:43 +08:00
    acess
        1
    acess  
    OP
       2016-05-24 03:29:16 +08:00
    其实坏掉的不止应用商店,还有自带的其他应用,包括“电影和电视”、“照片”、“ Bing 财经”等。
    网上搜的了下面的命令,可以循环执行 Add-AppxPackage :
    Get-AppXPackage -AllUsers | Foreach {Add-AppxPackage -DisableDevelopmentMode -Register "$($_.InstallLocation)\AppXManifest.xml"}
    有一些报错 HRESULT:0x80073CF6 ,用同样的办法拷贝 xml 文件后,重新用上面的命令循环执行 Add-AppxPackage 就修好了。
    nyanyh
        2
    nyanyh  
       2016-05-24 11:44:48 +08:00
    0x80072efd No network
    这个问题 LZ 遇到过吗,网络连接确认没有问题,重装系统才能解决
    acess
        3
    acess  
    OP
       2016-05-24 12:23:21 +08:00
    @nyanyh 没碰到过,不清楚,不好意思。
    但是以前我碰到过奇葩的 PPPoE 拨号上不了网的问题(不是我的电脑),症状是所有 UWP 应用和 IE 都打不开任何网页, Firefox 等可以独立设置代理的程序正常。应该是注册表项被 Lantern 、 GoAgent 等代理软件写坏了导致的。
    新建一个 PPPoE 可以绕过问题。
    后来我尝试折腾注册表也没让代理设置完全恢复正常,点了确定很大概率会不生效,重新点开发现又变回去了。
    beapig
        4
    beapig  
       2016-05-25 12:26:32 +08:00
    同这样问题,据说是 windows 自己的更新把应用商店更挂了,按照楼主的方法已经解决,非常感谢!!!!!
    就是 SYSTEM 权限的 CMD 那里的描述我有点点看不懂,希望楼主说详细一点点?(我是进带 CMD 安全模式复制那个文件的)
    acess
        5
    acess  
    OP
       2016-05-25 15:49:43 +08:00
    @beapig psexec 是 Sysinternals 推出的 PsTools 工具包里的一个小工具,使用 psexec -i -d -s cmd.exe 命令即可以 SYSTEM 用户启动一个 cmd ( Integrity Level 也是 SYSTEM ,算是真正的最高权限吧)。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2219 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 07:01 · PVG 15:01 · LAX 00:01 · JFK 03:01
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.