Resolução de problemas de implantação do MSIX

Este artigo ajuda-o a diagnosticar e resolver falhas na instalação e implementação do MSIX. Abrange códigos de erro comuns, como ler registos de implementação e correções para os problemas mais frequentemente reportados.

Observação

As referências a .msix neste artigo aplicam-se igualmente a .msixbundle, .appx, .appxbundle, e as suas variantes encriptadas (.emsix, .eappx, e assim sucessivamente) salvo indicação em contrário.

Passo 1: Leia os registos de implementação

Quando uma instalação do MSIX falha, o código de erro mostrado na interface é frequentemente um resumo de alto nível. Os registos do Visualizador de Eventos e do PowerShell contêm a causa subjacente.

Visualizador de Eventos

Abra Visualizador de Eventos e navegue para: Applications and Services Logs > Microsoft > Windows > AppxDeployment-Server

Procure eventos com um nível de Crítico, Erro ou Aviso que corresponda à hora da falha da instalação. O painel de detalhe geralmente contém um código de erro e uma descrição mais específicos do que a mostrada ao utilizador.

PowerShell

Get-AppxLog | Where-Object {$_.EventId -eq 404} | Select-Object -Last 20

Ou, para uma visão interativa e filtrável:

Get-AppxLog | Out-GridView

Passo 2: Verifique os códigos de erro comuns

A tabela seguinte cobre os códigos de erro mais frequentemente reportados pelos programadores. Caso o seu código não esteja listado, veja Troubleshooting packaging, deployment, and query of Windows apps para obter uma referência completa.

Código de erro Nome Causa comum Corrigir
0x80073CF0 ERROR_INSTALL_OPEN_PACKAGE_FAILED Ficheiro de pacote não pode ser aberto — ficheiro em falta, caminho errado ou problema de permissões Verifique se o .msix ficheiro existe no caminho especificado. Se instalares via PowerShell, usa um caminho local, não um caminho de partilha UNC/rede. Executa o PowerShell com privilégios de administrador.
0x80073CF3 ERROR_INSTALL_PACKAGE_DOWNGRADE Uma versão mais recente do pacote já está instalada Desinstala primeiro a versão existente, ou altera o número de versão no teu manifesto de pacote para um valor superior.
0x80073CF6 ERROR_INSTALL_REGISTRATION_FAILURE Falha no registo de pacotes — frequentemente uma base de dados de registo de pacotes corrompida ou ficheiro de sistema Executar wsreset -i para repor a cache da Microsoft Store. Se o problema persistir, execute sfc /scannow para reparar ficheiros do sistema, ou tente definições > Aplicações Instaladas > [nome da aplicação] > Opções Avançadas > Reparar. Consulte o Visualizador de Eventos para um erro interno mais específico.
0x80073CF9 ERROR_INSTALL_PACKAGE_NOT_FOUND O pacote ou um pacote de dependência não foram encontrados durante a instalação Garantir que todos os pacotes de dependência (VCLibs, .NET, runtime WinAppSDK) estão instalados antes do pacote principal. Podes instalá-los no mesmo comando: Add-AppxPackage main.msix -DependencyPath dep1.msix, dep2.msix
0x80073CFA ERROR_REMOVE_FAILED Operação de desinstalação/remoção falhou — a aplicação pode estar a correr, o seu estado pode estar corrompido, ou é uma aplicação protegida na caixa de entrada Fecha todas as instâncias da aplicação e tenta novamente. Para o estado corrompido, tenta num ambiente de Boot Limpo. As aplicações de sistema/caixa de entrada não podem ser removidas através de Remove-AppxPackage.
0x80073CFB ERROR_PACKAGE_ALREADY_EXISTS Pacote idêntico já registado para este utilizador Desinstale primeiro o pacote existente: Get-AppxPackage <PackageName> | Remove-AppxPackage
0x80073D02 ERROR_PACKAGES_IN_USE O pacote está atualmente em uso por um processo em execução Fecha todas as instâncias em execução da aplicação antes de atualizar ou desinstalar. Usa o Gestor de Tarefas ou Get-Process para confirmar.
0x8007000D ERROR_INVALID_DATA O pacote está corrompido, mal formatado, ou o editor no manifesto não corresponde ao certificado de assinatura Verifica se o campo Publisher em AppxManifest.xml (ou Package.appxmanifest em Visual Studio) corresponde exatamente ao Sujeito do teu certificado de assinatura (incluindo espaçamento e capitalização). Reconstrua e reassine o pacote.
0x8BAD0042 CertNotTrusted O certificado de assinatura não é confiável para o dispositivo (comum ao usar MSIX Core em Windows de nível inferior) Importa o certificado de assinatura para a loja Local Computer > Trusted People (não para a loja do utilizador atual) no dispositivo alvo, ou usa um certificado emitido por uma CA de confiança. Veja Certificados Confiáveis.
0x80070005 E_ACCESSDENIED Permissões insuficientes Execute o comando ou script de instalação com privilégios de administrador (por exemplo, a partir de um prompt de comandos aberto com Executar como administrador).
0x80070002 ERROR_FILE_NOT_FOUND Um ficheiro referenciado no manifesto não existe no pacote Verifique se faltam ativos ou recursos referenciados em AppxManifest.xml. Reconstrua o pacote e verifique o seu conteúdo com MakeAppx unpack.

Sugestão

Instalar a partir de uma partilha de rede? Uma causa comum de erros enganosos (especialmente 0x80073CF0 e 0x80070002) é a execução Add-AppxPackage contra um caminho UNC (\\server\share\app.msix). Copie primeiro o .msix ficheiro para uma pasta local e depois instale.

Passo 3: Verificar os pré-requisitos

Muitas falhas de instalação são causadas por pré-requisitos não cumpridos, em vez de um problema com o próprio pacote.

Confiança de certificados — O certificado de assinatura do pacote deve estar na loja Local Computer > Trusted People, e não na loja de certificados do utilizador atual.

Sideloading — Em versões Windows 10 anteriores a 1809 (RS5), o sideloading exigia uma definição de política separada. A partir do RS5, o padrão permite a instalação de pacotes de aplicações confiáveis; no Windows 11, não é necessária qualquer configuração adicional. Veja Ativar o seu dispositivo para desenvolvimento para os requisitos atuais.

Dependencies — As aplicações do SDK de Aplicações Windows exigem que o tempo de execução do SDK de Aplicações Windows esteja instalado no dispositivo alvo, a menos que esteja a usar deploy autónomo. Use o -DependencyPath parâmetro com Add-AppxPackage para instalar pacotes de dependência juntamente com o pacote principal.

App Installer — Se clicar duas vezes num .msix ficheiro não resultar em nada, a app App Installer pode estar em falta. Instala-o a partir do Microsoft Store.

Passo 4: Valide o manifesto da sua encomenda

Erros de manifesto são uma fonte comum de falhas de instalação. Use MakeAppx para verificar a estrutura do pacote e verificar o manifesto:

# Unpack the package and inspect the manifest
MakeAppx unpack /p "C:\path\to\app.msix" /d "C:\unpack-output"

Verifique AppxManifest.xml na pasta de saída para:

  • Validade XML (sem etiquetas deformadas ou elementos de fecho em falta)
  • Publisher campo que corresponde exatamente ao do seu certificado de assinatura Subject
  • Nomes de capacidades utilizando o espaço de nomes correto para a versão do sistema operativo alvo.
  • MinOSVersion restrições para quaisquer extensões exclusivas para Windows 11

Consulte a referência do esquema de manifesto do pacote de aplicações para atributos e namespaces suportados.

Códigos de erro DEP comuns

Visual Studio e MSBuild mostram erros de implementação com o prefixo DEP. Os mais comuns:

Código Meaning Corrigir
DEP0700 Registo de encomendas falhado Normalmente é um erro de esquema manifesto — verifique se há XML inválido, declarações não suportadas xmlns ou nomes de capacidades que não correspondam à lista permitida.
DEP3300 Dependência não encontrada Instale o pacote de framework necessário (VCLibs, .NET, WinAppSDK) antes de implementar.
DEP3301 Pacote já registado com arquitetura diferente Desinstala a arquitetura em conflito antes de implementar uma build de arquitetura diferente.

Recursos adicionais

Tem dúvidas? Pergunte a GitHub Copilot ou procure por Stack Overflow usando a etiqueta msix.