Skip to content

Trampas del Store #1: La dependencia de mi app instaló una entrada fantasma en el menú Inicio

2026-05-28

Etiquetas: Windows · MSIX · Microsoft Store · Trampas del Store


Publicar aplicaciones Windows en la Microsoft Store no siempre es un camino llano. Esta serie documenta las trampas reales que he encontrado — una por artículo, breve y práctica.

Aquí va la primera.

Contexto

RDP Heartbeat nació como una herramienta en Python + Tkinter — un pequeño punto pulsante que te dice si tu sesión RDP sigue activa. Funcionaba, pero empaquetar una aplicación de escritorio Python para la Microsoft Store fue toda una odisea: código Python → exe con PyInstaller → instalador Inno Setup → paquete MSIX. Escribimos sobre todo el proceso.

Así que lo reescribí desde cero en WinUI 3 nativo usando Windows App SDK 2.0.1. Se suponía que la ruta nativa iba a ser pan comido — adiós a las piruetas del empaquetado Python. Y lo fue, hasta la certificación del Store.

"Aprobado con corrección obligatoria"

Llegó el resultado de la certificación:

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.

Aprobado — pero con un aviso. Algo adicional había aparecido en el menú Inicio, y no era mi aplicación.

La entrada fantasma

El informe de certificación decía que algo adicional apareció en el menú Inicio. Así que miré — y, sinceramente, nada fuera de lo normal. Mi menú Inicio se veía exactamente como esperaba, sin iconos extra.

Revisé todo el proyecto: comprobé el manifiesto del paquete, revisé la salida de la compilación, lo comparé con mis otras aplicaciones del Store. Ningún paquete extra, ninguna extensión sospechosa, nada destacaba.

Pero había una diferencia. Mis otras apps — EnvStudio, GhostWin, QuickGUID — todas usan Windows App SDK 1.8.x. RDP Heartbeat es la única en SDK 2.0.1. Esa es la única variable que cambió.

Las aplicaciones WinUI 3 dependen del runtime de Windows App SDK, que se distribuye como paquetes MSIX instalados como dependencias compartidas del sistema. El único sospechoso al que puedo señalar es el runtime del SDK 2.x — de alguna manera, en el entorno de pruebas de Microsoft (pero no en mi máquina), su despliegue genera un icono visible en el menú Inicio. Por qué exactamente, no lo sé.

¿Qué puedes hacer al respecto?

Aquí viene la parte frustrante: no puedes solucionarlo directamente. Los paquetes del runtime son de Microsoft — no tienes control sobre cómo aparecen en el menú Inicio.

Tus opciones prácticas:

  1. Aceptarlo y documentarlo — Añade una nota en tu envío al Store explicando que el icono adicional es una dependencia del runtime proporcionada por Microsoft, no un producto separado. Esto es lo que hice, y la certificación pasó.
  2. Cambiar a despliegue autocontenido — Incluye el runtime directamente en tu paquete de aplicación configurando <WindowsAppSDKSelfContained>true</WindowsAppSDKSelfContained> en tu .csproj. Esto elimina la DEPN por completo, pero añade ~40 MB por arquitectura al tamaño de descarga.

Conclusión

Si estás desarrollando con Windows App SDK 2.x para la Microsoft Store:

  • Ten en cuenta que la dependencia del runtime puede crear un icono visible en el menú Inicio
  • Es un efecto secundario del runtime 2.x, no un error en tu aplicación
  • Documéntalo en las notas de tu envío para evitar retrasos en la certificación
  • Si la entrada fantasma es inaceptable, el despliegue autocontenido es la solución más limpia

Parte de la serie Trampas del Store.