Archivo

Archivo para la categoría ‘Aplicación’

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

Leer más…

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.

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.

 

2 – Descargando una Imagen y creando un contenedor (Docker)

jueves, 17 de octubre de 2024 Sin comentarios
Share Button

Empezamos a trabajar…

En esta segunda entrada de esta serie vamos a ver cómo descargar nuestra primera imagen (SQL Server) y cómo crear un contenedor a partir de ella. Partimos de la entrada anterior donde al acabar ya teníamos instalada nuestra aplicación «Docker Desktop», preparada para empezar.

Os dejo aquí la lista de links a las entradas de la serie, que iré completando a medida que vayan saliendo…

Descargar una imagen

Como he comentado antes, yo voy a utilizar Docker para virtualizar un SQLServer en varias de sus versiones (2107, 2019 y 2022), de esa forma podré «arrancar» un contenedor con cualquiera de estas versiones para probar mi aplicación con ellas.

Esto me evitará tener en mi máquina instaladas estas tres versiones, con el consiguiente espacio de disco ocupado y la consiguiente memoria ocupada (por ejemplo, por los servicios de SQL Server). En general, de esta forma (utilizando contenedores) conseguimos tener nuestra máquina más «limpia».

Aquí os dejo este link con información de las versiones de SQL Server para descargar (Ubuntu).

Para descargar nuestra imagen accederemos a la ventana de Terminal desde Docker y escribiremos el siguiente comando (pedimos la última imagen disponible de mssql 2017):

docker pull mcr.microsoft.com/mssql/server:2017-latest

 

 

Una vez finalizada la descarga deberíamos tener disponible nuestra imagen descargada. Con los datos de tamaño y un pequeño menú a la derecha con algunas opciones básicas.

Todavía no podemos trabajar con nuestro SQLServer, para poder hacerlo necesitamos crear, al menos, un contenedor/instancia a partir de la imagen descargada.

Crear un contenedor a partir de una imagen

Para crear un contenedor o instancia de una imagen y trabajar con ella, necesitamos (o podemos hacerlo) utilizando el comando run. Vamos a ver el comando desde la pantalla de Terminal o la opción visual que nos ofrece Docker.

Si volvemos al link anterior de Microsoft sobre las imágenes de SQLServer, veremos que hay una lista de «variables de entorno» (o parámetros) que debemos usar a la hora de crear nuestro contenedor. No están todas (la lista completa está aquí), pero si las mínimas para funcionar. En este caso tenemos las siguientes:

  • ACCEPT_EULA: Nos permite confirmar la licencia de usuario del producto (usaremos el valor Y -yes-).
  • MSSQL_SA_PASSWORD: Nos permite definir el password para el usuario sa (lo usaremos luego para conectarnos).
  • MSSQL_PID: Nos permite «modificar» la versión con la que se creará el contenedor a partir de la imagen (Evaluation, Developer, Express, Web, Standard, Enterprise (*), EnterpriseCore (*), A product key).

Podemos crear y arrancar nuestro contenedor desde la pantalla de Terminal utilizando el siguiente comando (run); Y posteriormente he lanzado «Docker ps» para ver los contenedores en marcha y en la imagen inferior véis la respuesta:

docker run -p 1433:1433 --name SQLSERVER2017 -e SA_PASSWORD=MiP@assword8888 -e ACCEPT_EULA=Y -e MSSQL_PID=Express -d mcr.microsoft.com/mssql/server:2017-latest

Ahí podéis ver las variables de entorno SA_PASSWORD, ACCEPT_EULA, MSSQL_PID y los valores que les he asignado.

Si queremos hacer lo mismo desde Docker Desktop, basta con pulsar el botón de RUN que hay junto a la imagen y rellenar los parámetros (variables de entorno) en la pantalla que aparece.

El resultado en ambos casos debería ser el mismo, si nos vamos a la sección de [Containers] de la aplicación deberíamos ver nuestro nuevo contenedor de SQL Server 2017 versión Express, en marcha.

Voy además a arrancar una segunda instancia, en este caso con la versión «Developer«; Necesito cambiar el puerto para que no colisionen y además le voy a poner un nombre diferente; Para ello utilizaré el siguiente comando:

docker run -p 14333:1433 --name SQLSERVER2017d -e SA_PASSWORD=MiP@assword8888 -e ACCEPT_EULA=Y -e MSSQL_PID=Developer -d mcr.microsoft.com/mssql/server:2017-latest

Ahora ya tengo las 2 instancias en marcha.

NOTA: Cuando he escrito el artículo he generado las 2 instancias en Inglés, pero posteriormente realizando otras pruebas he añadido el parámetro MSSQL_LCID con el valor 3082 y con eso se consigue tener el servidor en español.

  -e MSSQL_LCID=3082

Conectar a las instancias de SQL Server

Sólo nos queda conectar a las 2 instancias (contenedores) de SQL Server que hemos arrancado, como si estuvieran instalador en nuestro equipo. Para ello voy a hacerlo desde el «Management Studio» como lo hago habitualmente para conectarme a otros servidores y al mio en local.

Utilizaré los siguientes parámetros para conectarme a ambas instancias; Estos para la primera:

.

Y los mismos, pero cambiando el puerto de conexión para la segunda:

.
Ahora que ambas están conectadas podemos ver las propiedades y ver que ambos coinciden con las configuraciones que hemos definido al arrancar nuestros contenedores. Los puertos son el 1433 y el 14333 y las versiones son la Express y la Developer del SQL Server 2017 (versión interna 14.0).

 

Ahora ya podemos conectar nuestra aplicación a cualquiera de nuestras instancias.

Hasta aquí esta segunda entrada. Espero que os haya sido útil. Como siempre los comentarios, sugerencias y críticas son bienvenidas.

Hasta la próxima.

1 – Introducción a Docker. ¿Qué es y cómo nos puede ayudar?

lunes, 30 de septiembre de 2024 2 comentarios
Share Button

Introducción

La idea es crear una serie de entradas para exponer desde cero, qué es Docker, cómo nos puede ayudar a nosotros como desarrolladores y explicar todo el proceso desde cero hasta poderlo utilizar. Empezaré por la instalación y posteriormente veremos cómo configurar un par de ejemplos diferentes (desde la instalación hasta su utilización).

Para todo esto necesitaremos varias entradas. Os iré completando la lista de links a medida que vaya escribiendo cada una de ellas.

¿Qué es Docker?

Hay muchas definiciones en internet sobre docker, si las revisamos incluyen palabras como, contenedores, virtualización, opensource, plataforma, aplicaciones, imágenes,… Todas ellas tienen que ver con el concepto, pero para empezar a entenderlo tal vez son demasiadas…

Al final, si lo tengo que definir con mis propias palabras de la forma más sencilla posible(y seguramente no será la más correcta), sería algo así como:

«Es una plataforma que me permite ejecutar aplicaciones de forma virtualizada. Sería equivalente a tener una máquina virtual, pero sólo para una aplicación.»

Leer más…

Controlador de Previsualización (PreviewHandler) para imágenes (v.1.0)

lunes, 10 de junio de 2024 3 comentarios
Share Button

ShellPreviewImagesFiles es un controlador de vista previa (PreviewHandler) para las últimas versiones de Windows que admite los tipos de imágenes más habituales actualmente.

Esta herramienta está basada en la serie de entradas que puedes encontrar en este mismo blog sobre la creación de Previews Handler en Delphi.

Los sistemas Windows traen por defecto algunas previsualizaciones incluidas, pero no todos los ficheros de tipos habituales traen una previsualización «de fábrica». Esto pasa con algunos ficheros de imágenes. Esta extensión permite ver previsualizaciones de las siguientes imágenes en el panel de Vista Previa del Explorador de Windows.

Permite trabajar con los siguientes formatos/extensiones:

Extensiones Descripción
.bmp Imagenes de mapas de bits
.jpg, .jpeg Imágenes jpg (Joint Photographic Experts Group)
.png Portable Network Graphics
.gif Graphics Interchange Format
.ico Ficheros de iconos
.wmf, .emf Windows metafiles y Enhanced Windows Metafiles
.tif, .tiff Tagged Image File Format
.svg Gráficos vectoriales (Scalable Vector Graphics)

Para algunas imágenes hacemos un tratamiento especial.

En el caso de las SVG, dado que son imágenes vectoriales que internamente se almacenan como archivos de texto (XML), la previsualización nos permite verlas como imagen (opción por defecto y más habitual), pero si es necesario también como texto.

Debajo se ve una imagen con las 2 previsualizaciones disponibles para un fichero,

En el caso de los ficheros de iconos ICO, que pueden almacenar varias imágenes en diferentes resoluciones, también reciben un comportamiento especial. Se muestra en la previsualización las diferentes imágenes incluida en el fichero de icono, junto con las dimensiones de cada uno de ellos.

Debajo de este texto se ve una imagen de la previsualización de un fichero de icono que incluye dentro varias imágenes de diferentes dimensiones.

Por ahora no necesita librerías de terceros y está totalmente programada utilizando Delphi.

Es de uso libre.

Os aquí el instalador para descarga. Por defecto la instalación se realiza sobre el directorio:
«c:\Program Files (x86)\ShellPreviewExtFiles\»

Download instalador (Windows 32b)

Cualquier duda, comentarios, error,… me lo podéis dejar en los comentarios.

 

 

IV – Instalador para PreviewHandler de imágenes/texto (Inno Setup)

lunes, 3 de junio de 2024 Sin comentarios
Share Button

Continuando con las entradas anteriores, en esta última vamos a crear una extensión para visualizar los tipos de imágenes más habituales y usados en Windows. Además vamos a «redistribuir»  un poco nuestro esqueleto inicial para reorganizar las clases (tal y como comentamos en entradas anteriores); Y finalmente vamos a crear un instalador para poder ofrecer esta extensión de una forma más profesional.

Os adjunto los links de todas las entradas de esta serie, como he hecho en las anteriores:

  1. Crear una Previsualización de ficheros en Windows
  2. «Registros» de una DLL de previsualización
  3. Generando previsualización funcional (PreviewHandler)
  4. Instalador para PreviewHandler de imágenes/texto (Inno Setup)

.

INTRODUCCION

Con todo los visto hasta ahora en las entradas anteriores, vamos a crear una DLL para imágenes de diferentes formatos, modificando un poco el esqueleto del proyecto que teníamos hasta ahora.

Vamos a tratar las extensiones más comunes con las que trabajamos:  bmp, jpg, jpeg, png, gif, ico, wmf, emf, tif, tiff

Además vamos a generar un instalador con Inno Setup que instale (y desinstale cuando sea necesario) nuestra DLL de previsualización. Inno Setup, para los que no lo conozcáis, es un generador de instalaciones para Windows muy potente y totalmente gratuito. En otras ocasiones ya he hablado de él, y a día de hoy es un estándar en generar programas de instalación.

Además de ser sencillo de utilizar, hay multitud de scripts predefinidos y de ejemplo por la web, que podéis utilizar, modificar y adaptar a vuestras necesidades. Para lo que necesitamos nosotros veréis que es sumamente sencillo y fácil.

Leer más…