Поделиться через


Сбой sysprep после удаления или обновления приложений Microsoft Store, которые включают встроенные образы Windows

В этой статье рассматривается проблема, возникающая при удалении или обновлении подготовленного приложения Microsoft Store с помощью Microsoft Store, а затем запуска sysprep на компьютере.

Область применения: Windows 10 — все выпуски, Windows 11
Исходный номер базы знаний: 2769827

Введение

Sysprep — это средство для ИТ-администраторов, которые хотят подготовить установку Windows для дублирования, аудита и доставки клиентов. Руководство в этой статье предназначено для использования агентами поддержки и ИТ-специалистами. Если вы являетесь домашним пользователем, который сталкивается с проблемами при использовании приложений Microsoft Store, см . статью "Устранение проблем с приложениями из Microsoft Store".

Несколько приложений Microsoft Store создаются в образах Windows. Эти приложения включают в себя приложения Mail, Maps, Messaging, Bing, Travel и News, среди прочего. Эти приложения называются подготовленными приложениями . Подготовленные приложения размещаются на изображении и должны быть установлены для каждого пользователя образа Windows при первом входе. Помимо встроенных приложений, вы можете загрузить собственные бизнес-приложения Microsoft Store в образ Windows, не публикуя их в Microsoft Store. Пакеты можно загрузить Appx с помощью команд обслуживания в сети или автономном режиме, доступных в DISM.exe или модуле DISM PowerShell.

Симптомы

Рассмотрим следующие сценарии.

Сценарий 1

  • Вы создаете пользовательский компьютер под управлением Windows 10 или Windows 11, который требуется использовать для sysprep и записи.
  • Вы хотите удалить некоторые подготовленные приложения Microsoft Store (Appx пакеты) с этого эталонного компьютера.
  • Выполняется dism -online /Remove-ProvisionedAppxPackage /PackageName:<packagename> для отмены подготовки Appx пакетов.

При выполнении операции sysprep в этом сценарии операция может завершиться ошибкой:

Средство SysPrep 3.14
Неустранимая ошибка при попытке sysprep компьютера

Сценарий 2

  • У вас есть образ Windows, а несколько приложений Microsoft Store загружаются на стороне образа.
  • Вы хотите удалить некоторые из загруженных Appx на стороне пакетов из образа и настроить его дальше.
  • Вы загружаетесь на эталонный компьютер и выполняете одну из следующих команд PowerShell, чтобы удалить подготовку Appx пакета:
    • Remove-AppxProvisionedPackage -PackageName <packagename>
    • Remove-ProvisionedAppxPackage -PackageName <packagename>

При выполнении операции sysprep в этом сценарии операция может завершиться ошибкой:

Средство SysPrep 3.14
Неустранимая ошибка при попытке sysprep компьютера

Сценарий 3

  • Вы создаете эталонный образ Windows 10 или Windows 11.
  • Вы подключаетесь к Microsoft Store, а затем обновляете встроенные приложения Microsoft Store с помощью Microsoft Store.

При выполнении операции sysprep в этом сценарии операция может завершиться ошибкой:

Средство подготовки системы 3.14 При попытке sysprep компьютера произошла неустранимая ошибка

Кроме того, в SetupErr.log можно заметить следующие записи об ошибках:

<><Дата,> ошибка SYSPRP PackageFullName <> была установлена для пользователя, но не подготовлена для всех пользователей. Этот пакет не будет работать должным образом в образе sysprep.
<Дата><>, ошибка SYSPRP не удалось удалить приложения для текущего пользователя: 0x80073cf2.
<Время> даты><, код выхода SYSPRP потока RemoveAllApps был 0x3cf2.
<Дата><>, ошибка [0x0f0082] SYSPRP ActionPlatform::LaunchModule: сбой при выполнении sysprepGeneralize из C:\Windows\System32\AppxSysprep.dll; dwRet = 0x3cf2
<Время> даты><, ошибка SYSPRP ActionPlatform::ExecuteAction: ошибка при выполнении действия; dwRet = 0x3cf2
<Date><Time>, Error SYSPRP ActionPlatform::ExecuteActionList: Error in execute actions; dwRet = 0x3cf2
<Date><Time>, Error SYSPRP SysprepSession::Execute: Error in executeing actions from C:\Windows\System32\Sysprep\ActionFiles\Generalize.xml; dwRet = 0x3cf2
<Время> даты><, ошибка SYSPRP RunPlatformActions:Failed при выполнении действий SysprepSession; dwRet = 0x3cf2
<Дата><>, ошибка [0x0f0070] SYSPRP RunExternalDlls:Произошла ошибка при выполнении библиотек DLL sysprep реестра, остановка выполнения sysprep. dwRet = 0x3cf2
<Время> даты><, ошибка [0x0f00a8] SYSPRP WinMain:Hit при обработке sysprep обобщение внутренних поставщиков; hr = 0x80073cf2

Причина

Sysprep имеет дополнительный поставщик, добавленный в Windows для очистки Appx пакетов и для обобщения образа. Поставщик работает только в том случае, если Appx пакет является пакетом для каждого пользователя или подготовленным пакетом для всех пользователей.

  • Пакет для каждого пользователя означает, что Appx пакет устанавливается для определенной учетной записи пользователя и недоступен для других пользователей компьютера.
  • Пакет all-user означает, что он Appx был подготовлен в образ, чтобы все пользователи, использующие этот образ, могли получить доступ к приложению.

Если пакет all-user, подготовленный в образ, был удален вручную из образа, но не удален для конкретного пользователя, поставщик столкнется с ошибкой при очистке этого пакета во время sysprep. Поставщик также завершится ошибкой, если пакет all-user, подготовленный в образ, был обновлен одним из пользователей на этом эталонном компьютере.

Решение

Чтобы устранить эту проблему, удалите пакет для пользователя, выполняющего sysprep, а также удалите подготовку. Для этого требуется выполнить следующие шаги.

Примечание.

Чтобы предотвратить обновление приложений в Microsoft Store, отключите подключение к Интернету или отключите автоматическое обновление в режиме аудита перед созданием образа.

  1. Выполните следующие командлеты PowerShell:

    Import-Module Appx
    Import-Module Dism
    Get-AppxPackage -AllUsers | Where PublisherId -eq 8wekyb3d8bbwe | Format-List -Property PackageFullName,PackageUserInformation
    

Примечание.

  • В выходных данных этого последнего командлета проверьте пользователей, для которых пакет отображается как установленный. Удалите эти учетные записи пользователей с эталонного компьютера или войдите на компьютер с помощью этих учетных записей пользователей. Затем выполните командлет на шаге 2, чтобы удалить Appx пакет.
  • Эта команда содержит список всех пакетов, опубликованных корпорацией Майкрософт и установленных любым пользователем этого эталонного компьютера. Так как компьютер должен быть системным, предполагается, что эти профили пользователей больше не требуют пакета.
  • Если вы вручную подготовили приложения, принадлежащие другим издателям, выполните следующую команду, чтобы перечислить их:

Get-AppxPackage -AllUsers | Format-List -Property PackageFullName,PackageUserInformation

  1. Удалите Appx пакет, выполнив следующий командлет:

    Remove-AppxPackage -Package <packagefullname>
    
  2. Удалите подготовку, выполнив следующий командлет:

    Remove-AppxProvisionedPackage -Online -PackageName <packagefullname>
    

Если вы попытаетесь восстановиться после проблемы с обновлением, вы можете повторно подготовить приложение после выполнения этих действий.

Примечание.

Проблема не возникает, если вы обслуживаете автономный образ. В этом сценарии подготовка автоматически очищается для всех пользователей. Это включает пользователя, выполняющего команду.

Дополнительная информация

Дополнительные сведения о добавлении и удалении приложений см. в следующем разделе:

Сбор данных

Если вам нужна помощь службы поддержки Microsoft, мы рекомендуем собирать информацию путем выполнения действий, описанных в разделе Сбор информации с помощью TSS для решения проблем, связанных с развертыванием.