Armadilhas da Store #1: A dependência do meu app instalou uma entrada fantasma no Menu Iniciar
2026-05-28
Etiquetas: Windows · MSIX · Microsoft Store · Armadilhas da Store
Publicar aplicativos Windows na Microsoft Store nem sempre é um caminho tranquilo. Esta série documenta as armadilhas reais que encontrei — uma por postagem, curta e prática.
Aqui vai a primeira.
Contexto
RDP Heartbeat começou como uma ferramenta em Python + Tkinter — um pequeno ponto pulsante que diz se sua sessão RDP ainda está ativa. Funcionava, mas empacotar um aplicativo desktop Python para a Microsoft Store foi uma saga: código Python → exe com PyInstaller → instalador Inno Setup → pacote MSIX. Escrevemos sobre toda a jornada.
Então eu o reescrevi do zero em WinUI 3 nativo usando Windows App SDK 2.0.1. O caminho nativo deveria ser tranquilo — chega de malabarismos com empacotamento Python. E foi, até a certificação da Store.
"Aprovado com correção obrigatória"
O resultado da certificação chegou:
Status: Pass with required fix
10.1.1.11 On Device Tiles: Your submission installs multiple components to the device. Please make sure the additional installed components that are visible in the Start Menu have a unique name that clearly identifies which item is the main product.
Aprovado — mas com um aviso. Algo extra tinha aparecido no Menu Iniciar, e não era meu app.
A entrada fantasma
O relatório de certificação dizia que algo extra apareceu no Menu Iniciar. Então olhei — e honestamente, nada fora do comum. Meu Menu Iniciar estava exatamente como esperado, sem blocos extras.
Revisei todo o projeto: verifiquei o manifesto do pacote, olhei a saída da compilação, comparei com meus outros apps da Store. Nenhum pacote extra, nenhuma extensão suspeita, nada se destacava.
Mas havia uma diferença. Meus outros apps — EnvStudio, GhostWin, QuickGUID — todos usam Windows App SDK 1.8.x. RDP Heartbeat é o único no SDK 2.0.1. Essa é a única variável que mudou.
Apps WinUI 3 dependem do runtime do Windows App SDK, que é distribuído como pacotes MSIX instalados como dependências compartilhadas do sistema. O único suspeito que posso apontar é o runtime do SDK 2.x — de alguma forma, no ambiente de teste da Microsoft (mas não na minha máquina), sua implantação produz um bloco visível no Menu Iniciar. Por quê exatamente, eu não sei.
O que você pode fazer a respeito?
Aqui vem a parte frustrante: você não pode corrigir diretamente. Os pacotes do runtime são da Microsoft — você não tem controle sobre como eles aparecem no Menu Iniciar.
Suas opções práticas:
- Aceitar e documentar — Adicione uma nota no seu envio à Store explicando que o bloco extra é uma dependência de runtime fornecida pela Microsoft, não um produto separado. Isso é o que eu fiz, e a certificação passou.
- Mudar para implantação autocontida — Inclua o runtime diretamente no pacote do seu app configurando
<WindowsAppSDKSelfContained>true</WindowsAppSDKSelfContained>no seu.csproj. Isso elimina a DEPN completamente, mas adiciona ~40 MB por arquitetura ao tamanho do download.
Conclusão
Se você está desenvolvendo com Windows App SDK 2.x para a Microsoft Store:
- Esteja ciente de que a dependência do runtime pode criar um bloco visível no Menu Iniciar
- É um efeito colateral do runtime 2.x, não um bug no seu app
- Documente isso nas notas do seu envio para evitar atrasos na certificação
- Se a entrada fantasma for inaceitável, a implantação autocontida é a solução mais limpa
Parte da série Armadilhas da Store.