Compartilhar via


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 os Appx 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

Causa

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.

  1. 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

  1. Remova Appx o pacote executando o seguinte cmdlet:

    Remove-AppxPackage -Package <packagefullname>
    
  2. 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.