Skip to content

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:

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