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 de KB original: 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 de clientes. As diretrizes neste artigo destinam-se a ser usadas por agentes de suporte e profissionais de TI. Se você for um usuário doméstico que está encontrando problemas ao usar aplicativos da Microsoft Store, confira 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 encenados na imagem e estão programados para serem instalados para cada usuário da imagem do Windows no primeiro logon. Além dos aplicativos internos, você pode carregar de lado seus próprios aplicativos de linha de negócios da Microsoft Store na imagem do Windows sem precisar publicá-los na Microsoft Store. Você pode carregar Appx pacotes de lado 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 as seguintes situações:

Cenário 1

  • Você está criando um computador de referência Windows 10 ou Windows 11 personalizado que deseja sysprep e capturar.
  • Você deseja remover alguns dos aplicativos provisionados da Microsoft Store (Appx pacotes) deste computador de referência.
  • Você executa dism -online /Remove-ProvisionedAppxPackage /PackageName:<packagename> para desprovisionar os Appx pacotes.

Quando você executa a operação sysprep neste cenário, a operação pode falhar com o seguinte erro:

Ferramenta de Preparação do Sistema 3.14
Um erro fatal ocorreu ao tentar sysprep o computador

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 carregados Appx lateralmente da sua imagem e personalizá-los ainda mais.
  • Você inicializa o 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 neste cenário, a operação pode falhar com o seguinte erro:

Ferramenta de Preparação do Sistema 3.14
Um erro fatal ocorreu ao tentar sysprep o computador

Cenário 3

  • Você está criando uma imagem de referência Windows 10 ou Windows 11.
  • Você se conecta à Microsoft Store e atualiza os aplicativos internos da Microsoft Store usando a Microsoft Store.

Quando você executa a operação sysprep neste 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 preterir o computador

Além disso, no SetupErr.log, você pode notar as seguintes entradas de erro:

<Hora da data><>, o pacote de pacote <SYSPRP de erroFullName> foi instalado para um usuário, mas não provisionado para todos os usuários. Esse pacote não funcionará corretamente na imagem sysprep.
<Hora da Data><>, Erro SYSPRP Falha ao remover aplicativos para o usuário atual: 0x80073cf2.
<Hora da data><>, erro SYSPRP Código de saída do thread RemoveAllApps foi 0x3cf2.
<Data><Time>, Error [0x0f0082] SYSPRP ActionPlatform::LaunchModule: falha ocorreu durante a execução de 'SysprepGeneralize' de C:\Windows\System32\AppxSysprep.dll; dwRet = 0x3cf2
<Hora da data><>, Erro SYSPRP ActionPlatform::ExecuteAction: Erro na execução da ação; dwRet = 0x3cf2
<Hora da Data><>, Erro SYSPRP ActionPlatform::ExecuteActionList: Erro em executar ações; dwRet = 0x3cf2
<Hora da Data><>, Erro SySPRP SysprepSession::Execute: Erro na execução de ações de C:\Windows\System32\Sysprep\ActionFiles\Generalize.xml; dwRet = 0x3cf2
<Hora da data><>, Erro SYSPRP RunPlatformActions:Failed durante a execução de ações SysprepSession; dwRet = 0x3cf2
<Data><Time>, Error [0x0f0070] SYSPRP RunExternalDlls:Um erro ocorreu ao executar DLLs sysprep do registro, interrompendo a execução do sysprep. dwRet = 0x3cf2
<Data><Time>, Error [0x0f00a8] SYSPRP WinMain:Hit failure while processing sysprep generalize provedores internos; hr = 0x80073cf2

Motivo

O Sysprep tem um provedor adicional que é adicionado no Windows para limpo Appx pacotes e para generalizar a imagem. O provedor só funciona se o Appx pacote for um pacote por usuário ou um pacote provisionado por todos os usuários.

  • O 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.
  • O pacote de 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 de todos os usuários provisionado na imagem foi desprovisionado manualmente da imagem, mas não removido para um determinado usuário, o provedor encontrará um erro ao limpar esse pacote durante o sysprep. O provedor também falhará se um pacote de todos os usuários provisionado na imagem for atualizado por um dos usuários neste computador de referência.

Solução

Para resolve esse problema, remova o pacote para o usuário que está executando o sysprep e também remova o provisionamento. Para fazer isso, execute as etapas a seguir.

Observação

Para impedir que a Microsoft Store atualize aplicativos, desconecte a conexão com a Internet ou desabilite a Atualizações automática no modo Audit antes de criar a imagem.

  1. Execute os seguintes cmdlets 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, marcar 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.
  • Este 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 preterido, supomos 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 uma imagem offline. Nesse cenário, o provisionamento é liberado 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, confira:

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.