无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 2540|回复: 0
打印 上一主题 下一主题

[分享] metro应用维护及错误代码0x80070057的又一案例

  [复制链接]
跳转到指定楼层
1#
发表于 2021-11-22 00:02:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 yiyu2012 于 2021-11-22 11:11 编辑

  维护了几年的windows系统长久以来有个小问题,错误代码0x80070057无法自动更新和通过商店自动安装metro应用, 网上错误代码0x80070057的解决办法,只找到修改“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsUpdate\UX”下“IsConvergedUpdateStackEnabled” 项为0的办法,但无任何效果。只好通过商店下载应用缓存,再使用powershell命令更新metro应用,系统补丁则通过dism++更新。这次维护,先是排除了服务问题,而后又尝试重置策略组。最终找到问题原因是开机脚本中的subst命令subst B: "G:\OneDrive云盘",挂载G盘上的onedrive云盘为B盘。这一命令造成windows update无法安装更新,微软商店无法安装应用,只能说bug10名不虚传。

  metro应用的数据除了注册表内容,实际的文件主要三部分组成:

       程序       C:\Program Files\WindowsApps
       安装记录   C:\ProgramData\Microsoft\Windows\AppRepository
       用户数据   C:\Users\%username%\AppData\Local\Packages

  其中程序和安装记录得放在系统盘,而用户数据可以通过目录链接转移到别的分区。直接删除程序文件夹会残留安装记录,即使通过dism++清理残余Appx组件也是无法清理干净的。有残余记录时,powershell重装metro应用会提示找不到C:\AppxManifest.xml,要去除提示,就只有删除安装记录.srd*文件,再通过AppxManifest.xml重装应用了。而这三部分文件夹,可以通过三方工具打包成wim镜像,在保留文件夹权限的同时应用到别的系统分区,以替换原文件夹的形式进行移植。要注意的是,此种方法移植的metro应用,需要应用users权限到文件夹所有者再通过powershell运行重装命令后才能正常使用,而在windows通过镜像进行升级安装后还需要重复此操作。

  重置安全策略和策略组
  • secedit /configure /cfg %windir%\inf\defltbase.inf /db defltbase.sdb /verbose
  • rd /s /q "%windir%\System32\GroupPolicyUsers"
  • rd /s /q "%windir%\System32\GroupPolicy"
  • gpupdate /force

  重装metro应用
  • Get-AppxPackage -AllUsers| Foreach {Add-AppxPackage -DisableDevelopmentMode -Register "$($_.InstallLocation)\AppXManifest.xml"}

  通过AppxManifest.xml重装应用:
  • Add-AppxPackage -Register "C:\Program Files\WindowsApps\*\AppxManifest.xml" -DisableDevelopmentMode
  • Add-AppxPackage -Register "C:\Windows\SystemApps\*\AppxManifest.xml" -DisableDevelopmentMode

  
  删除应用安装记录,pe下提权运行
  • @echo off
  • :INPUTdrive
  • set tgdrive=J:
  • set /p tgdrive=请输入要修改的系统盘(如%tgdrive%):
  • if not exist "%tgdrive%\*" (if exist "%tgdrive%:\*" (set "tgdrive=%tgdrive%:") else (goto :INPUTdrive))
  • del %tgdrive%\ProgramData\Microsoft\Windows\AppRepository\StateRepository-Deployment.srd /f
  • del %tgdrive%\ProgramData\Microsoft\Windows\AppRepository\StateRepository-Deployment.srd-shm /f
  • del %tgdrive%\ProgramData\Microsoft\Windows\AppRepository\StateRepository-Deployment.srd-wal /f
  • del %tgdrive%\ProgramData\Microsoft\Windows\AppRepository\StateRepository-Machine.srd /f
  • del %tgdrive%\ProgramData\Microsoft\Windows\AppRepository\StateRepository-Machine.srd-shm /f
  • del %tgdrive%\ProgramData\Microsoft\Windows\AppRepository\StateRepository-Machine.srd-wal /f
  • pause




您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-12-1 00:47

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表