O Sysprep falha depois que você remove ou atualiza aplicativos da Microsoft Store que incluem imagens internas do Windows
Este artigo discute um problema que ocorre quando você remove ou atualiza um aplicativo provisionado da Microsoft Store usando a Microsoft Store e executando o sysprep no computador.
Aplica-se a: Windows 10 - todas as edições, Windows 11
Número original do KB: 2769827
Introdução
O Sysprep é uma ferramenta para administradores de TI que desejam preparar uma instalação do Windows para duplicação, auditoria e entrega ao cliente. As diretrizes neste artigo destinam-se ao uso por agentes de suporte e profissionais de TI. Se você for um usuário doméstico que está enfrentando problemas ao usar aplicativos da Microsoft Store, consulte Corrigir problemas com aplicativos da Microsoft Store.
Vários aplicativos da Microsoft Store são criados em imagens do Windows. Esses aplicativos incluem os aplicativos Mail, Mapas, Mensagens, Bing, Viagens e Notícias, entre outros. Esses aplicativos são conhecidos como aplicativos provisionados . Os aplicativos provisionados são preparados na imagem e estão agendados para serem instalados para cada usuário da imagem do Windows no primeiro logon. Além dos aplicativos internos, você pode carregar seus próprios aplicativos da Microsoft Store de linha de negócios na imagem do Windows sem precisar publicá-los na Microsoft Store. Você pode fazer sideload Appx
de pacotes usando comandos de manutenção online ou offline que estão disponíveis no DISM.exe ou por meio do módulo DISM PowerShell.
Sintomas
Considere os seguintes cenário:
Cenário 1
- Você está criando um computador de referência personalizado do Windows 10 ou Windows 11 que deseja preparar e capturar.
- Você deseja remover alguns dos aplicativos provisionados da Microsoft Store (
Appx
pacotes) desse computador de referência. - Você corre
dism -online /Remove-ProvisionedAppxPackage /PackageName:<packagename>
para desprovisionar osAppx
pacotes.
Quando você executa a operação sysprep nesse cenário, a operação pode falhar com o seguinte erro:
Ferramenta de Preparação do Sistema 3.14
Ocorreu um erro fatal ao tentar preparar o sistema da máquina
Cenário 2
- Você tem uma imagem existente do Windows e vários aplicativos da Microsoft Store são carregados lateralmente na imagem.
- Você deseja remover alguns dos pacotes de sideload
Appx
da sua imagem e personalizá-la ainda mais. - Você inicializa no computador de referência e executa um dos seguintes comandos do PowerShell para remover o provisionamento do
Appx
pacote:Remove-AppxProvisionedPackage -PackageName <packagename>
Remove-ProvisionedAppxPackage -PackageName <packagename>
Quando você executa a operação sysprep nesse cenário, a operação pode falhar com o seguinte erro:
Ferramenta de Preparação do Sistema 3.14
Ocorreu um erro fatal ao tentar preparar o sistema da máquina
Cenário 3
- Você está criando uma imagem de referência do Windows 10 ou Windows 11.
- Você se conecta à Microsoft Store e, em seguida, atualiza os aplicativos internos da Microsoft Store usando a Microsoft Store.
Quando você executa a operação sysprep nesse cenário, a operação pode falhar com o seguinte erro:
Ferramenta de preparação do sistema 3.14 Ocorreu um erro fatal ao tentar preparar o sistema da máquina
Além disso, no SetupErr.log, você pode notar as seguintes entradas de erro:
<Data><e hora>, erro O pacote <SYSPRP PackageFullName> foi instalado para um usuário, mas não provisionado para todos os usuários. Este pacote não funcionará corretamente na imagem sysprep.
<Data><e hora>, erro SYSPRP Falha ao remover aplicativos para o usuário atual: 0x80073cf2.
<Data><e hora>, erro SYSPRP O código de saída do thread RemoveAllApps foi 0x3cf2.
<Data><e hora>, erro [0x0f0082] SYSPRP ActionPlatform::LaunchModule: Ocorreu uma falha ao executar 'SysprepGeneralize' de C:\Windows\System32\AppxSysprep.dll; dwRet = 0x3cf2
<Data><e hora>, erro SYSPRP ActionPlatform::ExecuteAction: erro na execução da ação; dwRet = 0x3cf2
<Data><e hora>, erro SYSPRP ActionPlatform::ExecuteActionList: erro na execução de ações; dwRet = 0x3cf2
<Data><e hora>, erro SYSPRP SysprepSession::Execute: Erro na execução de ações de C:\Windows\System32\Sysprep\ActionFiles\Generalize.xml; dwRet = 0x3cf2
<Data><e hora>, erro SYSPRP RunPlatformActions: Falha ao executar ações SysprepSession; dwRet = 0x3cf2
<Data><e hora>, erro [0x0f0070] SYSPRP RunExternalDlls: ocorreu um erro ao executar DLLs sysprep do registro, interrompendo a execução do sysprep. dwRet = 0x3cf2
<Data><Hora>, Erro [0x0f00a8] SYSPRP WinMain: Falha de acerto durante o processamento sysprep generalizar provedores internos; hr = 0x80073cf2
Motivo
O Sysprep tem um provedor adicional adicionado no Windows para limpar Appx
pacotes e generalizar a imagem. O provedor só funcionará se o Appx
pacote for um pacote por usuário ou um pacote provisionado para todos os usuários.
- Pacote por usuário significa que o
Appx
pacote está instalado para uma conta de usuário específica e não está disponível para outros usuários do computador. - Pacote para todos os usuários significa que o
Appx
foi provisionado na imagem para que todos os usuários que usam essa imagem possam acessar o aplicativo.
Se um pacote para todos os usuários provisionado na imagem tiver sido desprovisionado manualmente da imagem, mas não removido para um usuário específico, o provedor encontrará um erro ao limpar esse pacote durante o sysprep. O provedor também falhará se um pacote para todos os usuários provisionado na imagem tiver sido atualizado por um dos usuários nesse computador de referência.
Resolução
Para resolver esse problema, remova o pacote do usuário que está executando o sysprep e também remova o provisionamento. Para fazer isso, siga estas etapas:
Observação
Para impedir que a Microsoft Store atualize aplicativos, desconecte a conexão com a Internet ou desabilite as Atualizações Automáticas no modo de Auditoria antes de criar a imagem.
Execute o seguinte comando do PowerShell:
Import-Module Appx Import-Module Dism Get-AppxPackage -AllUsers | Where PublisherId -eq 8wekyb3d8bbwe | Format-List -Property PackageFullName,PackageUserInformation
Observação
- Na saída deste último cmdlet, verifique os usuários para os quais o pacote está aparecendo como Instalado. Exclua essas contas de usuário do computador de referência ou faça logon no computador usando essas contas de usuário. Em seguida, execute o cmdlet na etapa 2 para remover o
Appx
pacote. - Esse comando lista todos os pacotes que foram publicados pela Microsoft e instalados por qualquer usuário desse computador de referência. Como o computador deve ser preparado com sys, presumimos que esses perfis de usuário não exijam mais o pacote.
- Se você tiver provisionado manualmente aplicativos que pertencem a outros editores, execute o seguinte comando para listá-los:
Get-AppxPackage -AllUsers | Format-List -Property PackageFullName,PackageUserInformation
Remova
Appx
o pacote executando o seguinte cmdlet:Remove-AppxPackage -Package <packagefullname>
Remova o provisionamento executando o seguinte cmdlet:
Remove-AppxProvisionedPackage -Online -PackageName <packagefullname>
Se você tentar se recuperar de um problema de atualização, poderá reprovisionar o aplicativo depois de seguir estas etapas.
Observação
O problema não ocorrerá se você estiver atendendo a uma imagem offline. Nesse cenário, o provisionamento é limpo automaticamente para todos os usuários. Isso inclui o usuário que executa o comando.
Mais informações
Para obter mais informações sobre como adicionar e remover aplicativos, consulte:
Coleta de dados
Se você precisar de ajuda do suporte da Microsoft, recomendamos coletar as informações seguindo as etapas mencionadas em Coletar informações usando o TSS para problemas relacionados à implantação.