Personalizar su Aplicación (Windows)

Personalizar su Wrapper

Compatibilidad :3.3.7
Ediciones :Edición ProfesionaEdición EstándarEdición de la Comunidad (No Compatible)
Plataformas :WindowsMac OSX (No Compatible)Linux (No Compatible)IBM AIX (No Compatible)FreeBSD (No Compatible)HP-UX (No Compatible)Solaris (No Compatible)IBM z/Linux (No Compatible)

Con el lanzamiento de la versión 3.3.7 del Wrapper, el Wrapper proporciona la capacidad de cambiar algunos de sus recursos y personalizar su apariencia en Windows.

Al personalizar la versión sin consola (consoleless) del binario del Wrapper "wrapperw.exe", se creará una nueva versión del binario (Ejemplo: MyApp.exe) que contiene los nuevos recursos especificados con el comando "--customize". El binario resultante se bloqueará, lo que significa que no será más posible personalizarlo.

Al crear un nuevo binario personalizado, se puede combinar cualquiera de los siguientes argumentos. El argumento "--target {target.exe}" es siempre necesario.

Tenga en cuenta que las rutas de todos los nombres de archivo son relativas a la ubicación del binario del Wrapper, y no necesariamente relativas a la ubicación del llamante. Por ejemplo, el siguiente comando creará un archivo de destino en el mismo directorio que el binario "wrapperw.exe" y también se espera encontrar el nuevo ícono y la pantalla de bienvenida en el mismo directorio:

bin\wrapperw.exe --customize --target myapp.exe --icon myicon.ico --splash mysplash.bmp

NOTA

Desde la versión 3.5.7 de Wrapper, los binarios de Windows del Wrapper tienen el código firmado para verificar que el binario es original de nosotros. Sin embargo, tenga en cuenta que personalizar el binario eliminará el certificado del binario.

Ejetutable de Destino

Cuando se personaliza el binario del Wrapper, es necesario siempre especificar un nuevo nombre de archivo para la versión personalizada. El Wrapper siempre sobrescribirá el archivo si ya existe.

wrapperw.exe --customize --target myapp.exe

Poner el parámetro en su conjunto daría como resultado una línea de comando como esta:

bin\wrapperw.exe --customize --icon MyIcon.ico --splash MySplash.bmp --target MyApp.exe

Este comando creará un nuevo ejecutable MyApp.exe en el mismo directorio que se ubica el binario "wrapperw.exe", con un ícono y una Pantalla de Bienvenida personalizados.

Personalizar wrapperW sin mostrar el cuadro de diálogo

Al personalizar wrapperw.exe, aparecerá un cuadro de diálogo para mostrar la salida del registro. Esto es útil para confirmar si la personalización terminó con éxito o si tuvo algunos errores. Sin embargo, en algunos casos, como cuando se inicia la personalización por un script, mostrar un cuadro de diálogo puede bloquear el proceso, ya que se requiere interación humana para cerrar la ventana. Por esta razón, se añadió el parámetro '--silent' a la versión 3.5.34 de Wrapper para nunca mostrar el diálogo de salida cuando se personaliza wrapperw.exe. Tenga en cuenta que la propiedad wrapper.logdialog.enable, que controla si el cuadro de diálogo de registro debe mostrarse al apagar cuando el Wrapper se ejecuta normalmente, no se puede utilizar al personalizar los archivos binarios porque el archivo de configuración no se carga durante el proceso de personalización.

Ejemplo:
wrapperw.exe --customize --silent --target myapp.exe

NOTA

wrapperw.exe es una aplicación de interfaz gráfica de usuario (GUI), y cuando se lanza desde una consola, CMD.EXE no esperará a que se termine el proceso. Esto significa que no se puede capturar el código de salida directamente. Si se especifica la opción --silent option, puede ser difícil decir si el proceso terminó con éxito o no, por lo que puede ser útil preceder al comando anterior con 'start /wait' para esperar el proceso y capturar su código de salida.

Personalizar el ícono

NOTA

Esta funcción requiere las ediciones Estándar o Profesional del Java Service Wrapper.

El Wrapper viene con un ícono predeterminado. Sin embargo, los desarrolladores de software pueden desear reemplazar el ícono con uno de los productos con los que se está utilizando el Wrapper. A tal efecto, el Wrapper ofrece la función de personalizar su ícono.

El archivo de iconos es un archivo estándar de íconos multicapa que contiene todas las resoluciones y tamaños de íconos que deben ser compatibles.

Example:
wrapperw.exe --customize --target myapp.exe --icon myicon.ico

La siguiente es una captura de pantalla de un directorio que contiene un MyApp.exe personalizado, así como copias renombradas de las 3 ediciones del Java Service Wrapper y sus íconos predeterminados.

Personalizar la pantalla de bienvenida

NOTA

Esta funcción requiere las ediciones Estándar o Profesional del Java Service Wrapper.

La versión sin consola del binário del Wrapper, "wrapperw.exe", por defecto mostrará una pantalla de bienvenida al iniciar. Se puede personalizar esta pantalla de bienvenida con una imagen representando el producto en que se usa el Wrapper.

El binario wrapper.exe del Wrapper no mostra una pantalla de bienvenida y, por lo tanto, no se permite el argumento para personalizar la pantalla de bienvenida.

Hacer que el Wrapper muestre una pantalla de bienvenida en lugar de hacerlo desde dentro de Java tiene el benefício de hacer que el inicio de las aplicaciones parezca muy receptivo. Esto es porque la pantalla de bienvenida aparece antes que la máquina JVM sea lanzada y puede permanecer visible mientras las clases de Java se cargan e inician.

La forma como se comporta la pantalla de bienvenida se puede controlar con la propiedad wrapper.splashscreen.mode.

Ejemplo:
wrapperw.exe --customize --target myapp.exe --splash mysplash.bmp

Actualmente solo se admiten archivos de bitmap (*.bmp). No se han establecido restricciones de tamaño o profundidad de bits.

Pantalla de bienvenida predeterminada de la edición Profesional del Java Service Wrapper:

Pantalla de bienvenida predeterminada de la edición Estándar del Java Service Wrapper:

Ejemplo de pantalla de bienvenida personalizada:

Personalizar el archivo de configuración predeterminado

Por defecto, si se llama al binario del Wrapper sin especificar ningún archivo de configuración, el Wrapper asumirá que utiliza el archivo de configuración predeterminado en el mismo directorio donde se encuentra el ejecutable. Es un archivo llamado {MyApp}.conf, donde el nombre {MyApp} se basa en el nombre del archivo ejecutable. Por ejemplo: si el archivo ejecutable se llama "test.exe", el Wrapper intentará abrir "test.conf".

Ejemplo:
wrapperw.exe --customize --target myapp.exe --conf ../conf/myconf.conf

Esta opción es especialmente útil cuando se usa con la la opción "--passthrough", que se describe a continuación.

NOTA

Rutas relativas deben ser relativas a la ubicación del ejecutable del Wrapper.

NOTA

Esta opción ha sido añadida en la versión 3.5.5 del Wrapper.

Personalizar el comportamiento de la línea de comandos

Por defecto, el Wrapper interpreta los parámetros por si mismo. Cualquier parámetro que deba pasarse a la aplicación de la JVM debe definirse con la propiedad wrapper.app.parameter.<n>. En la versión 3.5.2 del Wrapper, se agregó el comando "--" para facilitar el paso a la aplicación JVM. Sin embargo, personalizar su aplicación con esta nueva opción pondrá el Wrapepr en segundo plano y hará que el ejecutable parezca una aplicación nativa de Windows.

Al activar esta funccionalidad, solo requiere agregar el parámetro "--passthrough" en el comando para personalizar su ejecutable del Wrapper. El nuevo ejecutable iniciará su aplicación inmediatamente.

Puesto que el Wrapper pasará todos los parámetros a la máquina JVM, no será más posible especificar el archivo de configuración desde la línea de comandos. El nuevo ejecutable intentará usar el archivo de configuración predeterminado. Para cambiar el archivo de configuración predeterminado, por favor considere usar la opción "--conf" descrita anteriormente.

Example:
wrapperw.exe --customize --target myapp.exe --passthrough

ADVERTENCIA

La línea de comando completa se pasará a la JVM, haciendo con que el Wrapper no escuche a ninguna entrada de la línea de comandos y el ejecutable personalizado no podrá instalar la aplicación como un servicio de Windows.

NOTA

Esta opción se añadió en la versión 3.5.5 del Wrapper.

Personalizar el fabricante

El binario del Wrapper tiene un recurso de información de versión definido, que especifica la información básica del archivo, como número de versión, copyright, descripción del archivo, fabricante, etc. Los distribuidores que empaquetan su aplicación con el Wrapper y desean poner la información de su propia empresa delante del binario, pueden querer reemplazar el nombre del fabricante del binario de "Tanuki Software, Ltd." por el nombre de su empresa.

Ejemplo:
wrapperw.exe --customize --target myapp.exe --manufacturer "My Example Company"

NOTA

Esta opción se añadió en la versión 3.5.10 del Wrapper.

Personalizar la configuración

Desde la versión 3.5.35, es posible incrustar cualquier propiedad de configuración en los binarios del Wrapper.

Para ello, dispone de cuatro opciones:

  • properties-default para modificar los valores predeterminados de las propiedades listadas en la línea de comandos.
  • property-file-default para modificar los valores predeterminados de las propiedades listadas en el archivo de configuración.
  • properties-final para incrustar propiedades "final" (que no se pueden sobrescribir), listándolas en la línea de comandos.
  • property-file-final para incrustar propiedades "final" (que no se pueden sobrescribir), obteniéndolas desde un archivo de configuración.
Ejemplo (listando las propiedades en la línea de comandos):
wrapperw.exe --customize --target myapp.exe --properties-default wrapper.console.format=LPTM --properties-final wrapper.name="testwrapper" wrapper.displayname="Test Wrapper Sample Application" wrapper.description="Test Wrapper Sample Application Description"

Cuando las propiedades de configuración se listan directamente en la línea de comando, deben estar separadas por un espacio. Cualquier valor que contenga un espacio debe estar entre comillas dobles.

Ejemplo (usando archivos de configuración):
wrapperw.exe --customize --target myapp.exe --property-file-default ../conf/wrapper-embedded-default.conf --property-file-final ../conf/wrapper-embedded-final.conf

Es posible incrustrar las propiedades de la licencia en los binarios del Wrapper.

Ejemplo:
wrapperw.exe --customize --target myapp.exe --property-file-final ../conf/wrapper-license.conf

Para visualizar qué propiedades se han incrustado en su archivo .exe de destino, puede usar los tokens 'S' o 'Z' de la propiedad wrapper.properties.dump.format y configurar wrapper.properties.dump.loglevel a INFO.

Desde la versión 3.5.36, el archivo de configuración ya no es necesario una vez que los binarios se han personalizado con propiedades incrustadas. Incrustar toda la configuración es una buena manera de facilitar el lanzamiento de su aplicación.

Desde la versión 3.5.37, también es posible omitir el archivo de configuración al especificar '-' en la línea de comandos usada para lanzar al Wrapper. Esto permite al usuario agregar propiedades de líneas de comando después de '-' y anular la configuración incrustada predeterminada.

NOTA

Desde la versión 3.5.36, las variables de entorno y cualquier variable referenciada en los valores de las propiedades de configuración ya no se expandirán durante la personalización. Sus valores se resolverán en el tiempo de ejecución. Las variables a las que se hace referencia en directivas y rutas de archivos include seguirán expandiéndose durante la personalización.

Hacer el archivo de configuración opcional

Introducida en la versión 3.5.43, la opción '--conf-optional' se puede usar para indicar que el objetivo personalizado contiene configuración incrustada suficiente para ejecutarse sin la necesidad de un archivo de configuración.

Por defecto, el Wrapper requiere un archivo de configuración para ejecutarse. Esto es porque necesita una configuración mínima para lanzar la aplicación Java correctamente. Si ha personalizado su línea de comandos para incrustar configuración suficiente para que el Wrapper pueda lanzar su aplicación Java, puede agregar esta opción para permitir que el Wrapper se ejecute sin un archivo de configuración. Esto puede facilitar el usuario final a lanzar el ejecutable del Wrapper.

Si incluye solo una parte de la configuración en los binarios del Wrapper (como la licencia), esta opción no debe usarse.

NOTA

Esta opción solo se procesa cuando se incrusta la configuración en el binario del Wrapper.

ADVERTENCIA

Las versiones desde 3.5.35 a 3.5.42 permitían cualquier Wrapper personalizado con configuración incrustada ejecutarse sin el archivo de configuración, pero el Wrapper fallaba si no tenía toda la configuración necesaria para lanzar la aplicación Java. Para aumentar la fiabilidad, las versiones 3.5.43 y siguientes asumen que el archivo es requerido, a menos que se especifique --conf-optional.

Referencia: Propriedades de Configuración WrapperW

Propriedades que sólo se utilizan para wrapperw.exe: