Сбой 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, отключите подключение к Интернету или отключите автоматическое обновление в режиме аудита перед созданием образа.
Выполните следующие командлеты 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
Удалите
Appx
пакет, выполнив следующий командлет:Remove-AppxPackage -Package <packagefullname>
Удалите подготовку, выполнив следующий командлет:
Remove-AppxProvisionedPackage -Online -PackageName <packagefullname>
Если вы попытаетесь восстановиться после проблемы с обновлением, вы можете повторно подготовить приложение после выполнения этих действий.
Примечание.
Проблема не возникает, если вы обслуживаете автономный образ. В этом сценарии подготовка автоматически очищается для всех пользователей. Это включает пользователя, выполняющего команду.
Дополнительная информация
Дополнительные сведения о добавлении и удалении приложений см. в следующем разделе:
- Sideload Apps with DISM (Загрузка неопубликованных приложений с помощью DISM)
- Добавление или удаление пакетов в автономном режиме с помощью DISM
Сбор данных
Если вам нужна помощь службы поддержки Microsoft, мы рекомендуем собирать информацию путем выполнения действий, описанных в разделе Сбор информации с помощью TSS для решения проблем, связанных с развертыванием.