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" |
"_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:
- Abrir un proyecto VCL o generar uno nuevo
- Acceder a las propiedades del proyecto, sección Deployment/Provisioning
- Seleccionar:
- Target: Release Configuraction (indistintamente 32 o 64 bits)
- Build Type: Windows 32/64 – bit – Application Store
- Distribution Type: Ad hob
- 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.