恢复Windows中已取消预配的SystemApps应用时遇到部署错误的技术求助
我最近在尝试恢复一批Windows系统安装时被取消预配的SystemApps应用——这些应用并没有被删除,只是通过OEM工具取消了预配。涉及的应用包括:
- Microsoft.AAD.BrokerPlugin
- Microsoft.BioEnrollment
- Microsoft.ECApp
- Microsoft.LockApp
- Microsoft.MicrosoftEdge
- Microsoft.MicrosoftEdgeDevToolsClient
- Microsoft.Windows.AddSuggestedFoldersToLibarayDialog
- Microsoft.Windows.CallingShellApp
- Microsoft.Windows.CapturePicker
- Microsoft.Windows.ContentDeliveryManager
- Microsoft.Windows.FilePicker
- Microsoft.Windows.NarratorQuickStart
- Microsoft.Windows.XGpuEjectDialog
- Microsoft.XboxGameCallableUI
- Microsoft.Windows.SecHealthUI
- NcsiUwpApp
- MicrosoftWindows.UndockedDevKit
- Microsoft.Windows.ParentalControls
- Microsoft.Windows.PeopleExperienceHost
但在尝试重新注册这些应用时,遇到了两个棘手的报错:
第一个命令:
Add-AppxPackage -DisableDevelopmentMode -Register "C:\Windows\SystemApps\Microsoft.Windows.PeopleExperienceHost_cw5n1h2txyewy\AppxManifest.xml"
报错信息:
Add-AppxPackage : Deployment failed with HRESULT: 0x80073CF9, Install failed. Please contact your software vendor. (Exception from HRESULT: 0x80073CF9)
Rejecting a request to register from AppxManifest.xml because the manifest is not in the package root.
去掉-DisableDevelopmentMode参数后尝试第二个命令:
Add-AppxPackage -Register "C:\Windows\SystemApps\Microsoft.Windows.PeopleExperienceHost_cw5n1h2txyewy\AppxManifest.xml"
报错信息:
Add-AppxPackage : Deployment failed with HRESULT: 0x80073CF6, Package could not be registered.
error 0x800701C5: While processing the request, the system failed to register the windows.capability extension due to the following error: The requested capability can not be authorized for this application.
我隐约记得之前有办法可以重新预配这些应用并让Windows确认预配状态,但现在找不到具体操作了,有没有大佬能帮忙解决这个问题?
可能的解决方法
方法1:用DISM命令重新预配应用
对于取消预配的系统应用,直接用Add-AppxPackage注册容易触发权限或路径问题,更稳妥的方式是用DISM工具恢复预配状态:
- 以管理员身份打开PowerShell
- 先确认目标应用的完整包信息(避免输错路径):
Get-AppxProvisionedPackage -Online | Where-Object { $_.DisplayName -in @("Microsoft.AAD.BrokerPlugin", "Microsoft.BioEnrollment", "Microsoft.ECApp", "Microsoft.LockApp", "Microsoft.MicrosoftEdge", "Microsoft.MicrosoftEdgeDevToolsClient", "Microsoft.Windows.AddSuggestedFoldersToLibarayDialog", "Microsoft.Windows.CallingShellApp", "Microsoft.Windows.CapturePicker", "Microsoft.Windows.ContentDeliveryManager", "Microsoft.Windows.FilePicker", "Microsoft.Windows.NarratorQuickStart", "Microsoft.Windows.XGpuEjectDialog", "Microsoft.XboxGameCallableUI", "Microsoft.Windows.SecHealthUI", "NcsiUwpApp", "MicrosoftWindows.UndockedDevKit", "Microsoft.Windows.ParentalControls", "Microsoft.Windows.PeopleExperienceHost") }
- 对每个要恢复的应用执行预配命令(替换
<PackageFolderName>为实际的系统应用文件夹名):
DISM /Online /Add-ProvisionedAppxPackage /PackagePath:"C:\Windows\SystemApps\<PackageFolderName>" /SkipLicense
比如针对PeopleExperienceHost的具体命令:
DISM /Online /Add-ProvisionedAppxPackage /PackagePath:"C:\Windows\SystemApps\Microsoft.Windows.PeopleExperienceHost_cw5n1h2txyewy" /SkipLicense
方法2:结合Get-AppxPackage的正确注册姿势
如果DISM方法无效,尝试先获取应用的系统包对象,再执行注册操作,确保路径和权限匹配:
$package = Get-AppxPackage -AllUsers -Name Microsoft.Windows.PeopleExperienceHost Add-AppxPackage -Register "$($package.InstallLocation)\AppxManifest.xml" -DisableDevelopmentMode
注意:必须以管理员身份运行,且应用的基础包信息未被彻底清除才能生效。
方法3:修复系统组件后重试
如果上述方法都失败,可能是系统底层组件有损坏,先修复系统再尝试:
- 运行系统文件检查:
sfc /scannow
- 完成后执行DISM镜像修复:
DISM /Online /Cleanup-Image /RestoreHealth
修复完成后再重新尝试预配应用。
备注:内容来源于stack exchange,提问作者Digika




