Sysprep.exe 致命错误,无法删除 Windows 8 中的 Metro 应用以使其正常运行

Sysprep.exe 致命错误,无法删除 Windows 8 中的 Metro 应用以使其正常运行

今天我使用 sysprep.exe 重建我的 Windows 映像。但它总是说“尝试 sysprep 时发生致命错误”。

然后我去检查setupact.log文件,它显示如下

在此处输入图片描述

我按照这个说明Microsoft 知识库文章但是当我Get-AppxPackage -AllUser在 powershell 中执行时,它显示很多由未知用户安装的应用程序,例如

在此处输入图片描述

我无法通过 删除它们Remove-AppxPackage。那么有什么解决方案可以删除这些应用程序吗?或者只是一劳永逸地删除这个未知用户?

答案1

我自己摸索出来的。我会添加一些关键提示,方便其他人搜索。

setupact.log 文件将显示如下内容:

错误 SYSPRP 程序包 Microsoft.Internal.Media.PlayReadyClient_2.3.1678.1_x64__8wekyb3d8bbwe 已为用户安装,但并未为所有用户配置。此程序包在 sysprep 映像中无法正常运行。

当你想通过 PowerShell 删除 Windows 8 应用程序时,它会说应用程序是由未知用户安装的,其 sid 是S-1-5-21-XXXX。当你Remove-AppxPackage在 powershell 中执行时,它会说

因为当前用户没有安装该包

据我所知,Remove-AppxPackage 只能删除属于您登录的用户的应用程序。我不知道为什么我的操作系统中有一个未知用户,但这是我的解决方案。

  • 删除所有文件C:\Program Files\WindowsApps(您需要右键单击该文件夹以更改其所有权和权限)
  • 删除所有文件C:\ProgramData\Microsoft\Windows\AppRepository(您也需要更改所有权)。

现在当您 时Get-AppxPackage -allusers,它将什么也不显示。现在您可以运行 sysprep.exe,它将正常工作(请记住将 HKLM\SYSTEM\Setup\Status\Sysprep\SysprepStatus 更改为 7)。

答案2

对于那些因为谷歌而来到这里的人来说也是如此。

无法找到用户 ID 导致系统准备工作本身。因为它会删除所有用户的 SID,所以您无法再使用 SID 来删除应用程序。我目前正在使用 TechnetISO 中的最新更新 Win8.1 pro x64,并遇到了同样糟糕的系统准备问题。

对我来说,解决方案是删除以下应用程序

  • Microsoft.VCLibs.110.00_11.0.51106.1_x86__8wekyb3d8bbwe
  • Microsoft.WinJS.1.0_1.0.9200.20789_neutral__8wekyb3d8bbwe
  • Microsoft.VCLibs.110.00_11.0.51106.1_x64__8wekyb3d8bbwe
  • Microsoft.Media.PlayReadyClient_2.3.1678.0_x86__8wekyb3d8bbwe
  • Microsoft.Media.PlayReadyClient_2.3.1678.0_x64__8wekyb3d8bbwe
  • Microsoft.VCLibs.120.00.Preview_12.0.20222.1_x86__8wekyb3d8bbwe
  • Microsoft.VCLibs.120.00.Preview_12.0.20222.1_x64__8wekyb3d8bbwe

我花了几个小时来导出和导入我的模板,我希望我可以为您节省几个小时的尝试和错误;)

相关内容