Publicar nuestra aplicación MSIX en la tienda de Microsoft

lunes, 9 de marzo de 2026 Sin comentarios
Share Button

Con esta última entrada se completa esta serie. Vamos a ver cómo generar un paquete con el nuevo formato MSIX, preparado para publicar una aplicación en la tienda de Microsoft.
Recordamos las entradas anteriores.

Roadmap de las entradas

Introducción

Como ya he comentado antes, el nuevo formato y preferido para publicar aplicaciones en la tienda de Microsoft son los empaquetados MSIX, que sustituyen a los antiguos APPX. Nos permite empaquetar aplicaciones Win32, WPF y Windows forms con un único formato moderno. Conserva la funcionalidad de los paquetes existentes y además habilita funciones modernas de empaquetado.

RAD Studio introdujo la generación automática de paquetes MSIX para sus aplicaciones Delphi y C++ Builder en verisones superiores a la 10.4.2.  Y esta característica se puede usar tanto con VCL como con FMX.

Empaquetado en MSIX

Estructura del formato MSIXMicrosoft nos presenta MSIX como la solución moderna y de código abierto para superar este obstáculo. MSIX es un formato de empaquetado universal que:

  • Desacopla las actualizaciones del sistema operativo, las aplicaciones y las personalizaciones del usuario.
  • Permite un flujo continuo de código (continuous delivery) con despliegues predecibles, confiables y optimizados.
  • Instala solo los archivos necesarios y ahorra espacio en disco y ancho de banda.
  • Usa un contenedor que aísla la aplicación y garantiza seguridad, rendimiento estable y desinstalaciones limpias (evita el temido «machine rot» o deterioro progresivo del sistema por instalaciones sucias).
  • Facilita la actualización de aplicaciones Win32 existentes al formato MSIX mediante la herramienta MSIX Packaging Tool.

Como característica claves de este formato podríamos nombrar:

  • La fiabilidad
  • Optimización del ancho de banda de la red
  • Optimización del espacio en disco

Si queréis ampliar la lectura sobre este formato, podéis revisar este link (oficial de Microsoft) que habla con más detalle, y también este otro, más técnico y con una lista de recursos adicionales sobre este formato (vídeos, documentación, links,…)

Cómo generar un MSIX desde RAD Studio (adhoc)

Como hicimos en la entrada anterior, vamos a utilizar una aplicación ya existente para detallar el proceso de generación. En este caso, un widget de información sobre la CPU. Al igual que la anterior, es un  pequeño widget de escritorio que me da información sobre la carga de la CPU y muestra algunos detalles sobre el procesador, arquitectura,…

Nos servirá, igual que en la entrada anterior, para ilustrar los siguientes pasos. Una vez que esté subida os adjuntaré el link a la tienda de Microsoft:

     

A la hora de generar el empaquetado desde el IDE de Delphi tenemos 2 opciones:

  • adhoc: Esta opción está pensada para generar instalaciones en local para nuestras pruebas (QA). Para enviar directamente a clientes/usuarios sin necesidad de pasar  por la Microsoft Store. Permite lo que llamamos una instalación sideloading.
  • store: Es la opción para publicar en la Microsoft Store (a través del Partner Center). Este paquete está pensado para enviarse, no para instalarse localmente.

Por ahora nos vamos a centrar en la opción adhod, así que debemos continuar con los pasos siguientes:

Iconos y Versionado de la aplicación

Ya lo vimos en la entrada anterior, pero lo repasamos en esta. Debemos añadir opciones de versión a la aplicación desde Project options/Applicaction/Version. Rellenar los 2 primeros números de versión (yo recomiendo dejar los 2 últimos a cero), desactivar la opción de incrementar la build cada vez que se compila («Do not change build number») y por último desactivar todos los checks que definen características especiales de la Build (Debug build, Special build, Pre-release,…).

También deberíamos rellenar en Project options/Applicaction/Icons el icono para la aplicación (esto siempre)  y los logos de nuestra aplicación (de 150px y 44 px).

Opciones de despliegue

Lo siguiente es acceder a Project options/Deployment/Provisioning, para definir las opciones de despliegue. Seleccionaremos:

  • Target: releaseDatos del certificado
  • Build Type: Application Store
  • Distribution type: Ad hoc.

Y rellenamos los datos del certificado. Para nuestra pruebas, ya vimos en la entrada anterior cómo generar uno desde el propio entorno de Delphi. Guardamos estas opciones.

Ahora ya podemos realizar el Build del proyecto y acceder a Project / Deployment y lanzar el Deploy.

Una vez acabado el proceso, como salida tenemos un paquete de instalación con extensión .MSIX. Con este fichero ya tenemos un instalable para distribuir.

Desplegar un instalable sobre la tienda

Lo primero que debemos hacer es «reservar» el nombre de la aplicación en nuestra cuenta de «Dev Center». En mi caso voy a reservar el nombre «Widget Información CPU».  Una vez ese paso está completado, podemos acceder a la información completa de la aplicación. A continuación os muestra los datos del Widget.

Estos datos serán lo que deberemos rellenar en la sección de Provisioning de nuestro proyecto:

Ahora vamos al Deployment (igual que antes) y generamos un Deploy.
Una vez generado el paquete .MSIX ya podemos subirlo a la «Windows Store». Al acabar la subida, se validará desde la tienda el paquete que hemos subido y se mostrará la información asociada a él. A continuación os muestro la información que se muestra para la aplicación que acabo de subir.

Podeís ver información al respecto en este link de la docWiki de Embarcadero.

Para finalizar la publicación de la aplicación, deberéis completar toda la información necesaria y que ya comenté en anteriores entradas. Descripciones, idiomas soportados, imágenes, categorías de edad, tipo de licencia,… Toda la información que después se muestra en la tienda a los usuarios.

Hasta aquí esta entrada y la serie. Espero que hayan sido útiles para los que estáis pensando en publicar.

Como siempre, cualquier comentario, duda o sugerencia será bienvenida.

Hasta la próxima.

Widgets de escritorio

jueves, 5 de marzo de 2026 Sin comentarios
Share Button

Para utilizar como aplicaciones de muestra para las entradas relacionadas con publicar aplicaciones en la tienda de Microsoft (tanto EXE/MSI como las que se distribuyen con el nuevo formato MSIX), he creado unas aplicaciones de pruebas que funcionan como Widgets de escritorio y que permiten visualizar información de algunos aspectos de nuestro equipo. Son perfectamente funcionales y se pueden utilizar. Todas están disponibles en la tienda de Microsoft y tienen algunas características comunes.

  • Permiten definir la transparencia para visualizar.
  • Permiten trabajar con idiomas Español y Inglés.
  • Permiten acceder a las propiedades utilizando un icono junto al reloj del sistema
  • Permiten cambiar el intervalo de refresco para los datos que muestran.
  • Permiten activar la ejecución automática al arrancar el sistema.

Widget de información de discos

Widget información Discos (wgDiskSpace) es un sencillo programa (widget) que nos muestra en el escritorio de Windows información básica sobre las unidades de disco instalados en el sistema. Acceso a la tienda de Microsoft.

Widget información de batería

Widget información Batería (wgInformacionBateria) es un sencillo programa (widget) que nos muestra en el escritorio de Windows información básica sobre la batería conectada al equipo (si no hay batería mostrará datos de ejemplo para poder evaluar su funcionamiento). Acceso a la aplicación en la tienda de Microsoft.

Widget Información CPU

Widget información CPU (wgInformacionCPU) es un sencillo programa (widget) que nos muestra en el escritorio de Windows información básica sobre el uso de la CPU y otras características. Acceso a la aplicación en la tienda de Microsoft.

Se pueden descargar e instalar libremente.

Cualquier duda, sugerencia, comentario, será bienvenido como siempre.

 

Publicar nuestra aplicación EXE/MSI en la tienda de Microsoft

jueves, 5 de marzo de 2026 Sin comentarios
Share Button

Continuando con la entrada entrada anterior y una vez vistos los diferentes tipos de aplicaciones que podemos publicar en la tienda de Microsoft, vamos a ver los pasos necesarios y las configuraciones que debemos realizar para publicar una aplicación en formato EXE/MSI.

Roadmap de las entradas

Introducción

Lo primero que necesitamos (ya lo comenté en la entrada anterior) es crearnos una cuenta de desarrolladores para poder publicar.
Desde aquí (https://partner.microsoft.com/es-es/partnership) podemos darnos de alta con un correo que ya tengamos o crear una nueva desde cero. Debemos rellenar  la información que se nos solicita para dar de alta la cuenta como desarrolladores y una vez completada, accederemos al «Centro de partners de Microsoft«. En esta página tenemos acceso a «Nuevo producto«, que es el punto de entrada para comenzar el proceso de dar de alta la nueva aplicación.

 

Aplicación; Reservar nombre

Para escribir la entrada, voy a utilizar una aplicación que ya tengo, para no desviar el tema en crearla. Se trata de un sencillo widget de escritorio (Widget Información Batería) y que tal como dice su nombre, muestra el nivel de batería restante, tiempo estimado y algunos datos más de la batería. Un poco más adelante explico más detalles.
Lo primero que debemos hacer para publicar nuestra aplicación es «reservar un nombre«. Comprobar si está disponible desde la página de aplicaciones y si está disponible reservarlo.

Será el nombre visible de nuestra aplicación en la tienda.

Una vez reservado el nombre (si está disponible), este quedará bloqueado durante un tiempo (unos días) a nuestra disposición.

Generar nuestra aplicación

Hay algunos detalles que debemos tener en cuenta a la hora de generar nuestra aplicación. La tienda de aplicaciones gestiona las actualizaciones de forma automática, así que es importante (o mejor dicho obligatorio) el versionado correcto de nuestros programas. Igualmente la aplicación debe estar compilada en Release (esto no sólo para publicar en la tienda, sino siempre que se distribuyan).

Modificaremos las opciones del proyecto (Application/Version Info) para añadir la versión de la aplicación. Recomiendo usar sólo los 2 primeros números (Major y Minor version). Y desactivar todos los checks de «Module attributes» (Buils especial, Debus build, pre-release, private,…)

En este caso y para ilustrar esta entrada, voy a usar una aplicación que ya tengo disponible. Se trata de un pequeño Widget de escritorio, que informa del estado de la batería del equipo. Una vez esté subida a la tienda os pondré el link para poder descargarla (ahora que he completado el artículo ya la tenéis disponible aquí).
Muestra un Widget como el que se ve en la imagen.
Dispone de un menú junto al reloj (accesible mediante un icono) que permite cambiar las opciones básicas de la aplicación.

Podemos cambiar el nivel de transparencia y el tiempo de refresco. Si se prueba en un equipo sin batería presente mostrará unos datos de ejemplo. Sencilla, pero suficiente para ilustrar esta entrada.

Esta aplicación escribe en el registro de Windows (para autoiniciarse al arrancar Windows si se lo configuramos), se instala en «Archivos de programa» y guarda en Appdata un fichero de configuración, con algunos datos básicos. Para generar el instalable usaré Inno Setup.

Necesitaremos un instalador y un certificado

En mi caso, como ya he comentado, voy a utilizar como instalador «Inno Setup», gratuito y muy potente y del que ya he hablado en otras ocasiones en el blog. Podéis descargarlo desde su web (https://jrsoftware.org/isinfo.php) y yo recomiendo también utilizar el complemento «Inno Script Studio»; Es un programa también gratuito y que facilita mucho el trabajo de crear el script de instalación, utilizando un asistente.

Para poder subir la aplicación a la tienda, necesitamos que esté firmada.
Debemos firmar el ejecutable una vez generado y el instalador. En el caso de «Inno Setup», se puede configurar desde sus opciones, para que genere añada la firma una vez generado el programa de instalación. También podéis generar un BAT sencillo que firme cualquier ejecutable, utilizando estos comandos (utiliza la herramienta signtool de Microsoft):

"_PATH_\signtool.exe" sign /f 
"_PATH_FICHERO_PFX_.pfx" /p "_PASSWORD_" /tr "http://timestamp.sectigo.com" /td sha256 /fd sha256 "_PATH_FICHRO_EXE_.exe"

Habrá que modificar los path de los ficheros y la contaseña del certificado y os servirá para firmar tanto el ejecutable de la aplicación, como el ejecutable del instalador.

Si no disponemos de un certificado para firmar, podemos generar uno desde el IDE de Delphi siguiendo los siguientes pasos, que nos servirá para probar la publicación de nuestras aplicaciones:

  1. Abrir un proyecto VCL o generar uno nuevo
  2. Acceder a las propiedades del proyecto, sección  Deployment/Provisioning
  3. Seleccionar:
    • Target: Release Configuraction (indistintamente 32 o 64 bits)
    • Build Type: Windows 32/64 – bit – Application Store
    • Distribution Type: Ad hob
  4. Desde esta pantalla podemos pulsar el botón de [Create self-signed certificate…] y rellenar estos datos (no «estos» estrictamente, sino unos similares) para generar vuestro certificado:

    Podéis ver el proceso completo, si queréis más detalles, en esta entrada de la web de embarcadero.

Ahora que ya disponemos de certificado, podemos firmar el ejecutable y el instalador, tal y como os he descrito antes.

Subir la aplicación a la tienda

Lo que nos queda ya sólo es subir la aplicación a la tienda de Microsoft. No es un proceso complejo, pero es elaborado, ya que hay que seguir un asistente y completar varios pasos con toda la información necesaria de la aplicación:

  • Añadir información sobre el desarrollador.
  • Añadir información sobre la aplicación (categoría, Idiomas soportados, características,…)
  • Añadir información de descarga y del instalador (políticas de privacidad, licencia,…)
  • Añadir los idiomas para la tienda. Y para cada idioma deberemos añadir capturas de pantalla, descripciones, imágenes de la aplicación, un logotipo,…

Una vez completados todos los datos, pulsamos el botón de [Enviar]. En ese momento el estado cambia y entraremos en un proceso de «Revisión» por parte de Microsoft. Pasados 1 día o 2 recibiréis información de si la aplicación está «aceptada» y disponible o si tenéis que completar algún dato que falta o es insuficiente.

A continuación os adjunto una animación con algunas de las pantalla que podéis en el asistente para dar de alta la aplicación.

Una vez que la revisión acabe, si la aplicación ha pasado las revisiones, tendréis una imagen como la que se muestra a continuación.
La aplicación ya estará disponible para descarga, como lo está la que hemos visto en el artículo.

Hasta aquí esta entrada, como siempre los comentarios, sugerencias, y demás siempre son bienvenidas.
Hasta la próxima.

 

Publicación de aplicaciones Delphi en la «Microsoft Store» (Introducción)

miércoles, 4 de marzo de 2026 Sin comentarios
Share Button

En las próximas entradas me voy a centrar en repasar todo los que necesitamos saber para publicar nuestra aplicación Delphi en la tienda de aplicaciones de Microsoft. Desde los conceptos básicos que necesitamos conocer, los pasos necesarios para configurar en el IDE de Delphi, hasta las diferentes opciones que tenemos a la hora de publicar. Veremos cómo publicar una aplicación generando una instalable clásico (Inno Setup) y una generada con el nuevo formato MSIX.

Igual que he hecho en otras ocasiones, voy a crear varias entradas sobre el tema, porque para explicarlo en detalle se alarga mucho y prefiero no hacer entradas muy largas (que se hacen más pesadas).

Roadmap de las entradas

Continuar leyendo…

Nueva versión de la aplicación DebugStringView (v.1.4)

jueves, 29 de enero de 2026 Sin comentarios
Share Button

Hace ya casi un año publiqué la primera versión de esta aplicación. Durante este tiempo la he usado bastante a menudo y a la vez he ido mejorándola y ampliando sus capacidades. Ahora ya está disponible la versión 1.4.

Como dije en su día, en la primera versión no estaba «todo» que lo tenía en mente para esta utilidad. Ahora tampoco está completa al 100%, pero ha mejorado bastante en cuanto a lo que yo necesito de ella. Sigo con algunas mejoras en mente que poco a poco iré incorporando .

El código fuente está disponible en mi repositorio de Github y es gratuita y de libre uso. Cualquiera que quiera ampliarlo o modificarlo puede hacerlo libremente.

https://neftali.clubdelphi.com/debugstringview/

Ahí será donde vaya actualizando todo lo referente a esta herramienta.
La descripción completa y las descargas (ahora también cuenta con un instalable) podéis hacerlo desde aquí (página específica de la aplicación) , donde ya está disponible la descarga de los binarios (32 y 64 bits) en formato ZIP que no requiere instalación y también la versión para instalar.

Para los que la utilicéis, os agradecería que me enviaseis comentarios y por supuesto posibles errores que encontréis y cualquier sugerencia de mejora que consideréis.

Librería GLibWMI v.3.3 actualizada para Delphi 13 (Florencia)

viernes, 23 de enero de 2026 Sin comentarios
Share Button

Ya hace unos meses que está disponible Florencia, la versión 13 de RAD Studio.
Anunciar que ya está disponible para descarga desde Github, la versión 3.3 de la librería GlibWMI, que soporta Delphi 13 y anteriores.
Podéis descargarla desde el repositorio, además de poder consultar toda la información acerca de ella:
https://github.com/germanestevez/GLibWMI

Tenéis la información completa en la sección de componentes del blog.
Ya está disponible a través de GetIt, como las versiones anteriores.

Si la estáis usando en algún proyecto y queréis que lo incorpore a la documentación dadme el nombre y la URL/web y haré mención de él.
Cualquier duda o comentario estoy a vuestra disposición.

Un saludo y hasta la próxima!

Florencia, la versión 13 de RADStudio ya está disponible!

viernes, 12 de septiembre de 2025 Sin comentarios
Share Button

Desde hace unos días ya está disponible la versión 13 (Florencia) de RAD Studio y por consiguiente ya está disponible.

 

Muchas novedades en la mayoría de aspectos de RAD Studio. Sólo enumerando la lista de los puntos principales, ya podéis ver que hay muchas cosas nuevas, muchas cosas actualizadas y optimizadas y se siguen mejorando aspectos que en otras versiones ya se vienen modificando.

  1. Installation and GetIt Package Manager Enhancements
  2. 64-bit IDE Improvements
  3. IDE Changes and Enhancements
  4. IDE Tooling Improvements
  5. Updates to the Delphi Compiler
  6. C++Win64 Modern Platform Updated to Clang 20
  7. Delphi RTL Improvements
  8. VCL Enhancements
  9. FireMonkey Updates
  10. Database and FireDAC
  11. Updates to the Web Client Libraries
  12. WebBroker Updates
  13. WebStencils Enhancements
  14. RAD Server Improvements

Si queréis la lista completa y detallada yo creo que lo mejor es ir directamente a la Docwiki de Embarcadero, en la sección «What’s New», que como siempre se publica con la salida de cada versión.

Aprovechando que ha salido, para los más «nuevos» en las herramientas de Embarcadero, os animo a revisar con detalle la Wiki empezando por su página inicial.

Desde ahí podéis acceder a tutoriales, multitud de ejemplos de código, videos y  e infinidad de cosas más…

Si os apetece leer más sobre esta última versión y los diferentes aspectos y novedades que presenta, aquí os dejo algunos links a páginas habituales de Delphi, publicaciones de MVP’s y otros blogs de la comunidad:

Acabo este post aquí, como anuncio.
Pronto espero hacer alguno detallando algunas de las nuevas funcionalidades o mejoras y dejo pendiente actualizar componentes y aplicaciones con la nueva versión.

Como siempre, los comentarios, sugerencias, correcciones y demás son bienvenidos.

Hasta la próxima.

#delphiday ¡Delphi y C++ Builder Iberian Tour 2025!

jueves, 5 de junio de 2025 Sin comentarios
Share Button

Pues como cada año ya está en marcha la organización del «Delphi y C++ Builder Iberian Tour 2025!». El #delphiday para nosotros.
Para los que tengáis oportunidad de asistir, siempre es una gran ocasión de conocer novedades, conocer a otros programadores y gente de la comunidad.

Este año las ciudades escogidas son Valencia y Sevilla. Aquí os dejo los link a la web de Danysoft.

Aquí tenéis los links a las páginas de Danysoft donde está la información completa y el registro para ambos:

Valencia 10 de junio
 Sevilla 11 de junio

Del evento de Sevilla tenéis más datos (Agenda y ponentes) en esta publicación de Emilio.

A disfrutarlo los que podáis asistir!!!

Un saludo.

Aplicación DebugStringView

martes, 1 de abril de 2025 Sin comentarios
Share Button

Versión 1.4  (Febrero 2026)

Introducción

Es una aplicación que le permite monitorizar la salida de depuración en su sistema local. Es gratuita y nos mostrará todas las cadenas que se muestren usando la API OutputDebugString de Windows.

Licencia

Se distribuye bajo licencia GPL 3.0. Puede usarla y modificarla libremente.

Características

  • Permite guardar el contenido de la captura en ficheros con extensión (*.dsvlog).
  • Filtrado rápido de mensajes por procesos (utiliza el nombre del proceso), incluyendo N procesos con diferente ProcessID, pero el mismo nombre.
  • Posibilidad de colorear la salida de mensajes por proceso (mejor y más clara visualización para el usuario).
  • Ocultar y mostrar columnas según lo que interese (más información o más espacio)
  • Avance automático a medida que van apareciendo los mensajes de forma que siempre se visualizan los últimos mensajes enviados a la consola.
  • Panel de “Lista de procesos” que nos muestra los procesos (ProcessName – nombre del proceso) que están enviando mensajes a la consola.
  • Permite el cambio rápido de la fuente de letra utilizada en la visualización con las fuentes monoespaciadas más habituales. También la opción de acceder a la pantalla de propiedades y cambiar el resto de características.
  • La aplicación es multiidioma y fácilmente ampliable con más ficheros de idioma sin necesidad de cambios en la aplicación (carga de idioma dinámica).
  • Comprobación de actualizaciones disponible y automática al entrar en la aplicación.
  • Columnas personalizables.
  • Gestión de bookmarks para moverse por los mensaje de forma fácil y ágil.
  • Permite grabar y recuperar ficheros de disco.
  • Permite limpiar y eliminar mensajes de forma selectiva.
  • Opciones de búsqueda sobre los mensajes.

Multiidioma

La aplicación trabaja con múltiples idiomas, que además que cargan de forma dinámica. Se pueden incorporar más idiomas de forma fácil (y sin recompilar) y la aplicación los reconocerá y los incorporará al menú de forma automática una vez que se ejecute.
La aplicación busca en la carpera “Languages” ficheros de idiomas.

¿Quieres ayudar con una traducción?

En la ayuda del programa están las instrucciones necesarias para generar nuevas traducciones. Si te animas, basta con descargar el fichero original de la traducción y una vez generada una nueva traducción la puedes añadir directamente al directorio de Languages incluido con la aplicación. Además, si me la envías la incluiré en la siguiente versión.

 

Primera versión pública de la aplicación DebugStringView (v.1.1)

martes, 1 de abril de 2025 2 comentarios
Share Button

Hace unos días ya hablé en esta entrada de la API de Windows OutputDebugString y de cómo nos puede ser útil en nuestro día a día de programar cuando realizamos debug de nuestros programas.

También comenté en su día sobre algunas herramientas que nos ayudan a visualizar los mensajes que desde nuestras aplicaciones enviamos a la consola de debug. Las he utilizado (las 2 que comento en la entrada) y funcionan bien, pero al final no se ajustan a lo que a mi me gustaría o no tienen todo lo que a mi me gustaría que tuvieran; Algunas características están disponibles en una y al gunas en la otra. Así que mi decisión ha sido crear una nueva «a mi gusto» que tenga todo lo que yo quiero o necesito.

Tal vez no esté todo en esta primera versión, pero mi idea es ir completándola poco a poco con más características que tengo en mente.  De aquí es de dónde ha salido este nuevo proyecto (herramienta DebugStringView).

El código fuente está disponible en mi repositorio de Github y es gratuita y de libre uso. Para no alargar más esta entrada de «Presentación» os remito a la propia de la aplicación, ahí tenéis más información.

https://neftali.clubdelphi.com/debugstringview/

Ahí será donde vaya actualizando todo lo referente a esta herramienta.
Para descargar binarios podéis hacerlo desde aquí (página específica de la aplicación) , donde ya está disponible la descarga de los binarios (32 y 64 bits) en formato ZIP. No requiere instalación.

Para los que la utilicéis, os agradecería que me enviaseis comentarios y por supuesto posibles errores que encontréis y cualquier sugerencia de mejora que consideréis.