Skip to content

Guia de testes MSIX antes do envio à Store: não deixe problemas de empacotamento serem descobertos só na certificação

2026-06-01

Tags: Windows · Microsoft Store · MSIX · Armadilhas da Store


Em Armadilhas da Store #4, encontramos um problema onde o .NET Trimming desabilitou silenciosamente funcionalidades do WinUI 3 — localmente no Debug tudo funcionava, mas o pacote Release foi rejeitado após o envio. O ponto em comum desses problemas é: se você validar o pacote localmente antes de enviar, muitas armadilhas podem ser detectadas antecipadamente. Claro, nem todos os problemas podem ser descobertos antes (por exemplo, a entrada fantasma no Menu Iniciar causada por uma dependência é difícil de reproduzir localmente), mas pelo menos a maior parte pode ser interceptada.

Este artigo reúne um fluxo de verificação local antes do envio do MSIX, cobrindo certificação WACK, instalação de certificado autoassinado, instalação de dependências e testes em máquina virtual limpa.

Passo 1: Executar o WACK (Windows App Certification Kit)

O WACK é uma ferramenta de pré-certificação local fornecida pela Microsoft. Ele executa uma série de verificações no seu pacote, simulando parte dos testes de certificação da Store.

Alguns pontos importantes:

  • Só funciona com pacotes Release, pacotes Debug não são aceitos — isso também te obriga a testar a compilação Release
  • O WACK foi marcado como descontinuado pela Microsoft (sem mais atualizações), mas ainda pode ser usado para verificações locais opcionais antes do envio; a certificação oficial é executada automaticamente após o envio à Store
  • A aprovação no WACK não garante aprovação na Store, mas ajuda a interceptar uma grande quantidade de problemas básicos (conformidade de API, desempenho, segurança, etc.)

Como usar: no assistente «Empacotar e Publicar» do Visual Studio, na etapa «Selecionar e Configurar Pacote», marque a opção «Compilar projeto para validar o aplicativo com o Kit de Certificação de Aplicativos Windows» na parte inferior. Após a conclusão do empacotamento, aparecerá um botão «Iniciar o Kit de Certificação de Aplicativos Windows». Ou pesquise Windows App Certification Kit no Menu Iniciar para iniciá-lo manualmente.

Passo 2: Gerar um pacote Test com certificado autoassinado

Esta etapa é um pouco trabalhosa.

Os pacotes MSIX devem ser assinados para poderem ser instalados. Durante o desenvolvimento, o Visual Studio usa um certificado temporário, mas o pacote MSIX gerado não necessariamente inclui um certificado utilizável. O fluxo real é o seguinte:

Primeiro, empacotar uma vez no modo Sideload

  1. Clique com o botão direito no projeto → Empacotar e Publicar
  2. Selecione Sideload (não selecione Microsoft Store)
  3. Selecione o certificado de assinatura e conclua o empacotamento

Depois, gerar o pacote Test no modo Store

  1. Novamente Empacotar e Publicar, desta vez selecione Microsoft Store (AppName por PublisherName)
  2. O pacote Test gerado (na pasta _Test dentro do diretório AppPackages) incluirá o certificado autoassinado

Se você pular as etapas 1-3 e for direto ao pacote Store, o certificado do MSIX ficará vazio — um detalhe bem frustrante.

Passo 3: Instalar o certificado

Após obter o pacote Test com certificado:

Instalar o certificado

  1. Clique com o botão direito no arquivo .msixPropriedades → aba Assinaturas Digitais
  2. Selecione a assinatura → DetalhesExibir Certificado
  3. Instalar Certificado → selecione Computador Local → armazene em Pessoas Confiáveis (Trusted People)

Nota: o Publisher (CN) do certificado deve ser idêntico ao <Publisher> no Package.appxmanifest, caso contrário a instalação falhará.

Passo 4: Instalar dependências e o pacote MSIX

Se o seu projeto Windows App SDK está no modo framework-dependent (o padrão), o aplicativo depende do runtime do Windows App Runtime. Na distribuição pela Store as dependências são tratadas automaticamente, mas para testes locais é necessário instalá-las manualmente.

A boa notícia é que a pasta _Test do pacote Test inclui um subdiretório Dependencies, com os pacotes de dependência organizados por arquitetura:

AppPackages/
  MyApp_1.0.0.0_x64_Test/
    Dependencies/
      x64/
        Microsoft.WindowsAppRuntime.1.8.msix
        ...
    MyApp_1.0.0.0_x64.msix

Ordem de instalação: primeiro instale o runtime em Dependencies, depois instale o aplicativo.

Se você estiver no modo self-contained (com <WindowsAppSDKSelfContained>true</WindowsAppSDKSelfContained> no .csproj), não é necessário instalar dependências adicionais, pois o runtime já está incluído no aplicativo.

Passo 5: Validação completa em máquina virtual limpa

Sua máquina de desenvolvimento tem muitos componentes instalados — diversos SDKs, runtimes, caches — o fato de seu aplicativo funcionar nela não significa que funcionará para o usuário. Recomendamos testar o fluxo completo em um ambiente limpo.

Opções de máquina virtual

Ambas funcionam:

  • Hyper-V Quick Create: solução oficialmente recomendada pela Microsoft. Pesquise «Hyper-V Quick Create» no Menu Iniciar e selecione MSIX Packaging Tool Environment para criar a VM
  • VMware: solução que eu uso na prática. Crie uma VM limpa com Windows 10/11, tire um snapshot e restaure o estado limpo antes de cada teste

Independentemente da opção escolhida, o objetivo principal é apenas um: aproximar-se o máximo possível do ambiente de primeira instalação do usuário.

O que verificar na VM limpa

  1. Instalar o certificado autoassinado (fluxo do Passo 3)
  2. Instalar os pacotes de dependência (Passo 4)
  3. Instalar o aplicativo
  4. Iniciar o aplicativo e verificar se as funcionalidades principais estão normais
  5. Verificar se o Menu Iniciar, bandeja da barra de tarefas, desinstalação, etc. estão funcionando corretamente

Lista de verificação

Antes de enviar à Store, siga esta lista:

  • [ ] Gerar pacote Test com configuração Release
  • [ ] Executar o WACK e confirmar que não há erros críticos
  • [ ] Confirmar que o pacote Test inclui certificado autoassinado (empacotar no modo Sideload primeiro)
  • [ ] Instalar o certificado em Local Machine → Trusted People
  • [ ] Validar o fluxo completo em VM limpa: instalar certificado → instalar dependências → instalar aplicativo → testar funcionalidades
  • [ ] No modo framework-dependent, confirmar que os pacotes de dependência instalam normalmente
  • [ ] Aplicativo inicia normalmente, funcionalidades principais disponíveis, Menu Iniciar/desinstalação funcionando corretamente

Este artigo é uma leitura complementar da série Armadilhas da Store.