如何修复删除或更新 Windows 应用商店应用程序时 Sysprep 失败的问题

Jacki

Sysprep 是 IT 管理员准备 Windows 映像以进行部署的重要工具。但是,在删除或更新预配的 Microsoft Store 应用程序时,它可能会失败,从而导致沮丧和延迟。本文解释了发生这些故障的原因,并提供了使 Sysprep 正常工作的分步解决方案。

在三种主要情况下,Sysprep 通常会因 Microsoft Store 应用程序问题而失败:

1. 删除配置的应用程序:创建自定义 Windows 参考映像时,删除内置应用商店应用程序可能会导致 Sysprep 失败并显示“致命错误”消息。

2. 删除侧面加载的应用程序:如果从现有 Windows 映像中删除旁加载的应用商店应用程序,Sysprep 可能会在泛化过程中遇到错误。

3. 更新内置应用程序:在运行 Sysprep 之前连接到 Microsoft Store 并更新预安装的应用程序可能会导致失败。

在所有这些情况下,您可能会看到一条错误消息,指出“尝试对计算机进行 sysprep 时发生致命错误”。

为什么 Sysprep 在使用商店应用程序时失败

Windows 10 和 11 包含一个额外的 Sysprep 提供程序来处理应用商店应用程序(也称为 Appx 包)。仅当应用程序属于以下两个类别之一时,此提供程序才能正常工作:

  • 每用户包:仅为特定用户帐户安装。
  • 全用户包:镜像中配置供所有用户访问。

当应用程序的配置状态与单个用户的安装状态不匹配时,就会出现问题。例如,如果手动取消配置所有用户应用程序但未针对特定用户删除该应用程序,则 Sysprep 在清理程序包时会遇到错误。

如何修复 Sysprep 故障

请按照以下步骤解决与 Microsoft Store 应用相关的 Sysprep 错误:

步骤一:以管理员身份打开 PowerShell。

步骤2:通过运行以下命令导入必要的模块:

Import-Module Appx
Import-Module Dism

步骤3:列出所有已安装的 Microsoft Store 应用程序及其用户信息:

Get-AppxPackage -AllUser | Where PublisherId -eq 8wekyb3d8bbwe | Format-List -Property PackageFullName,PackageUserInformation

第4步:查看输出以识别针对特定用户显示为“已安装”的应用程序。您需要删除这些应用程序或删除关联的用户帐户。

第5步:要为所有用户删除应用程序,请使用此命令(替换<packagefullname>与实际的包名称):

Remove-AppxPackage -Package <packagefullname> -AllUsers

第6步:删除应用程序的配置:

Remove-AppxProvisionedPackage -Online -PackageName <packagefullname>

第7步:对步骤 4 中确定的每个有问题的应用程序重复步骤 5 和 6。

步骤8:删除所有冲突的应用程序后,请尝试再次运行 Sysprep。

防止未来出现 Sysprep 问题

为了避免因应用商店应用更新导致 Sysprep 失败,请采取以下预防措施:

  • 在运行 Sysprep 之前断开互联网连接,以防止应用程序自动更新。
  • 如果您需要保持互联网连接,请在审核模式下禁用 Windows 应用商店中的自动更新。
  • 创建一个脚本来删除有问题的应用程序,作为图像准备过程的一部分。

对持续存在的 Sysprep 错误进行故障排除

如果执行以下步骤后仍然遇到 Sysprep 失败:

步骤一:检查位于以下位置的 Sysprep 日志:C:WindowsSystem32SysprepPanthersetupact.logsetuperr.log对于特定的错误消息。

步骤2:查找任何挂起的 Windows 更新或 Microsoft Store 应用更新并安装它们,然后再次尝试 Sysprep。

步骤3:调查可能干扰 Sysprep 的正在运行的服务。某些第三方应用程序可能会导致冲突。

第4步:如果使用 Windows 10,请考虑使用内置的“重置此电脑”功能在自定义之前创建干净的基础映像。

参见:删除 Windows Server 2022 上的 Azure Arc 安装功能

通过执行这些步骤,您应该能够解决与 Microsoft Store 应用程序相关的大多数 Sysprep 故障。请记住在生产环境中部署映像之前彻底测试您的 Sysprep 流程。