Personnalisation de votre application (Windows)

Personnaliser votre Wrapper

Compatibilité :3.3.7
Éditions :Édition ProfessionnelleÉdition StandardÉdition Community (non prise en charge)
Plateformes :WindowsMac OSX (Non pris en charge)Linux (Non pris en charge)Alpine Linux (Non pris en charge)FreeBSD (Non pris en charge)Solaris (Non pris en charge)IBM z/Linux (Non pris en charge)

Avec la sortie de la version 3.3.7 du Wrapper, le Wrapper offre la possibilité de modifier certaines de ses ressources et de personnaliser son apparence sous Windows.

Lors de la personnalisation de la version sans console du binaire Wrapper « wrapperW.exe », une nouvelle version du binaire (exemple : MyApp.exe) sera créée contenant les nouvelles ressources spécifiées avec la commande « --customize ». Le binaire résultant sera verrouillé, ce qui signifie qu'il ne sera plus possible de le personnaliser.

Lors de la création d'un nouveau binaire personnalisé, n'importe lesquels des arguments suivants peuvent être combinés. L'argument « --target {target.exe} » est toujours obligatoire.

Veuillez noter que les chemins de tous les noms de fichiers sont relatifs à l'emplacement du binaire Wrapper, et pas nécessairement à l'emplacement de l'appelant. Par exemple, la commande suivante créera le fichier cible dans le même répertoire que le binaire « wrapperW.exe » et s'attendra à y trouver également la nouvelle icône et l'écran de démarrage :

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

NOTE

Depuis la version 3.5.7 du Wrapper, les binaires Windows du Wrapper sont signés numériquement afin de vérifier que le binaire provient de nous. Cependant, veuillez noter que la personnalisation du binaire supprimera le certificat du binaire.

L'exécutable cible

Lorsque le binaire Wrapper est personnalisé, il est nécessaire de toujours spécifier un nouveau nom de fichier pour la version personnalisée. Le Wrapper écrasera toujours le fichier s'il existe déjà.

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

En regroupant tous les paramètres, on obtiendrait une ligne de commande comme celle-ci :

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

Cette commande créera un nouvel exécutable MyApp.exe dans le même répertoire où se trouve « wrapperW.exe », avec une icône et un écran de démarrage personnalisés.

Personnaliser wrapperw sans afficher la boîte de dialogue

Lors de la personnalisation de wrapperw.exe, une boîte de dialogue s'affiche pour montrer la sortie du journal. Cela est utile pour confirmer si la personnalisation s'est terminée avec succès ou avec des erreurs. Cependant, dans certains cas, par exemple lors du lancement de la personnalisation à partir d'un script, l'affichage d'une boîte de dialogue peut bloquer le processus, car une interaction humaine est nécessaire pour fermer la fenêtre. Pour cette raison, un paramètre '--silent' a été ajouté dans la version 3.5.34 du Wrapper afin de ne jamais afficher la boîte de dialogue du journal lors de la personnalisation de wrapperw.exe. Notez que la propriété wrapper.logdialog.enable, qui contrôle si la boîte de dialogue du journal doit être affichée à l'arrêt lors de l'exécution normale du Wrapper, ne peut pas être utilisée lors de la personnalisation des binaires, car le fichier de configuration n'est pas chargé pendant le processus de personnalisation.

Exemple :
wrapperw.exe --customize --silent --target .\myapp.exe

NOTE

wrapperW.exe est une application GUI, donc lorsqu'elle est lancée depuis une console, CMD.EXE n'attendra pas la fin du processus. Cela signifie que le code de sortie ne peut pas être récupéré directement. Si l'option --silent est spécifiée, il peut être difficile de savoir si le processus s'est terminé avec succès ou non, il peut donc être utile de faire précéder la commande ci-dessus de « start /wait » pour attendre le processus et capturer son code de sortie.

Personnaliser l'icône

NOTE

Cette fonctionnalité nécessite l'édition Standard ou Professional du Java Service Wrapper.

Le Wrapper est livré avec une icône par défaut. Cependant, les développeurs de logiciels peuvent souhaiter remplacer l'icône par celle du produit avec lequel le Wrapper est utilisé. À cette fin, le Wrapper offre la fonctionnalité de personnaliser son icône.

Le fichier d'icône est un fichier d'icône multicouche standard qui contient toutes les résolutions et tailles d'icône qui doivent être prises en charge.

Exemple :
wrapperw.exe --customize --target .\myapp.exe --icon myicon.ico

Voici une capture d'écran d'un répertoire contenant un MyApp.exe personnalisé, ainsi que des copies renommées des trois éditions du Java Service Wrapper et de leurs icônes par défaut.

Personnaliser l'écran de démarrage

NOTE

Cette fonctionnalité nécessite l'édition Standard ou Professional du Java Service Wrapper.

La version sans console du binaire Wrapper, « wrapperW.exe », affiche par défaut un écran de démarrage au lancement. Cet écran de démarrage peut être personnalisé avec une image représentant le produit avec lequel le Wrapper est utilisé.

Le binaire Wrapper wrapper.exe n'affiche pas d'écran de démarrage, par conséquent, l'argument de personnalisation de l'écran de démarrage n'est pas autorisé.

Faire afficher un écran de démarrage par le Wrapper plutôt que depuis Java a l'avantage de rendre le démarrage de l'application très réactif. En effet, l'écran de démarrage s'affichera avant le lancement de la JVM et pourra rester visible pendant le chargement et l'initialisation des classes de l'application Java.

Le comportement de l'écran de démarrage peut être contrôlé avec la propriété wrapper.splashscreen.mode.

Exemple :
wrapperw.exe --customize --target .\myapp.exe --splash mysplash.bmp

Actuellement, seuls les fichiers bitmap (*.bmp) sont pris en charge. Aucune restriction de taille ou de profondeur de bits n'est définie.

Écran de démarrage par défaut du Java Service Wrapper Professional Edition.

Écran de démarrage par défaut du Java Service Wrapper Standard Edition.

Exemple d'écran de démarrage personnalisé.

Personnaliser le fichier de configuration par défaut

Par défaut, si le binaire Wrapper est appelé sans spécifier de fichier de configuration, le Wrapper utilisera le fichier de configuration par défaut situé dans le même répertoire que l'exécutable. Il s'agit d'un fichier nommé {MyApp}.conf, où le nom {MyApp} est basé sur le nom de fichier de l'exécutable. Par exemple : si le fichier exécutable s'appelle « test.exe », le Wrapper essaiera d'ouvrir « test.conf ».

Exemple :
wrapperw.exe --customize --target .\myapp.exe --conf ../conf/myconf.conf

Cette option est particulièrement pratique lorsqu'elle est utilisée avec l'option « --passthrough » décrite ci-dessous.

NOTE

Les chemins relatifs doivent être relatifs à l'emplacement de l'exécutable Wrapper.

NOTE

Cette option a été ajoutée dans la version 3.5.5 du Wrapper.

Personnaliser le comportement de la ligne de commande

Par défaut, le Wrapper interprète lui-même les paramètres. Tout paramètre devant être transmis à l'application JVM devait être défini avec la propriété wrapper.app.parameter.<n>. Dans la version 3.5.2 du Wrapper, la commande « -- » a été ajoutée pour faciliter la transmission à l'application JVM. Cependant, la personnalisation de votre application avec cette nouvelle option placera en réalité le Wrapper en arrière-plan et fera ressembler l'exécutable à une application Windows native.

L'activation de cette fonctionnalité nécessite simplement d'ajouter le paramètre « --passthrough » dans la commande de personnalisation de votre exécutable Wrapper. Le nouvel exécutable démarrera votre application Java immédiatement, prête à l'emploi.

Comme le Wrapper transmettra tous les paramètres à la JVM, il n'est plus possible de spécifier le fichier de configuration via la ligne de commande. Le nouvel exécutable essaiera plutôt d'utiliser le fichier de configuration par défaut. Pour modifier le fichier de configuration par défaut, veuillez utiliser l'option « --conf » décrite ci-dessus.

Exemple :
wrapperw.exe --customize --target .\myapp.exe --passthrough

AVERTISSEMENT

Toute la ligne de commande sera transmise à la JVM, rendant le Wrapper lui-même insensible à toute entrée provenant de la ligne de commande, et l'exécutable personnalisé ne pourra pas installer l'application en tant que service Windows.

NOTE

Cette option a été ajoutée dans la version 3.5.5 du Wrapper.

Personnaliser le fabricant

Le binaire Wrapper possède une ressource d'informations de version définie, qui renseigne les informations de base du fichier telles que le numéro de version, le copyright, la description du fichier, le fabricant, etc. Les distributeurs qui regroupent leur application avec le Wrapper et souhaitent faire figurer les informations de leur propre entreprise sur le binaire Wrapper pourraient vouloir remplacer le nom du fabricant du binaire de "Tanuki Software, Ltd." par le nom de leur entreprise.

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

NOTE

Cette option a été ajoutée dans la version 3.5.10 du Wrapper.

Personnaliser la configuration

À partir de la version 3.5.35, il est possible d'intégrer n'importe quelles propriétés de configuration dans les binaires Wrapper.

Quatre options sont disponibles pour cela :

  • properties-default pour modifier les valeurs par défaut des propriétés listées sur la ligne de commande.
  • property-file-default pour modifier les valeurs par défaut des propriétés listées dans un fichier de configuration.
  • properties-final pour intégrer des propriétés finales (qui ne peuvent pas être écrasées), en les listant sur la ligne de commande.
  • property-file-final pour intégrer des propriétés finales (qui ne peuvent pas être écrasées), en les prenant depuis un fichier de configuration.
Exemple (listage des propriétés dans la ligne de commande) :
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"

Lorsque les propriétés de configuration sont directement listées dans la ligne de commande, elles doivent être séparées par un espace. Toute valeur contenant un espace doit être mise entre guillemets doubles.

Exemple (utilisation de fichiers de configuration) :
wrapperw.exe --customize --target .\myapp.exe --property-file-default ../conf/wrapper-embedded-default.conf --property-file-final ../conf/wrapper-embedded-final.conf

Il est possible d'intégrer les propriétés de licence dans les binaires Wrapper.

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

Pour visualiser quelles propriétés ont été intégrées dans votre fichier .exe cible, vous pouvez utiliser les jetons « S » ou « Z » de la propriété wrapper.properties.dump.format, et définir wrapper.properties.dump.loglevel sur INFO.

Depuis la version 3.5.36, le fichier de configuration n'est plus requis une fois que les binaires ont été personnalisés avec des propriétés intégrées. Intégrer l'ensemble de la configuration est un bon moyen de faciliter le lancement de votre application !

Depuis la version 3.5.37, il est également possible d'ignorer le fichier de configuration en spécifiant « - » dans la ligne de commande utilisée pour lancer le Wrapper. Cela permet à l'utilisateur d'ajouter des propriétés de ligne de commande après le « - » et de remplacer la configuration intégrée par défaut.

NOTE

Depuis la version 3.5.36, les variables d'environnement et toutes les variables référencées dans les valeurs des propriétés de configuration ne sont plus développées pendant la personnalisation. Leurs valeurs seront résolues à l'exécution. Les variables référencées dans les directives et les chemins des fichiers d'inclusion seront toujours développées pendant la personnalisation.

Rendre le fichier de configuration optionnel

Introduite dans la version 3.5.43, l'option « --conf-optional » peut être utilisée pour indiquer que la cible personnalisée contient suffisamment de configuration intégrée pour s'exécuter sans avoir besoin d'un fichier de configuration.

Par défaut, le Wrapper nécessite un fichier de configuration pour s'exécuter. En effet, il a besoin d'une configuration minimale pour lancer correctement l'application Java. Si vous avez configuré votre ligne de commande de personnalisation pour intégrer suffisamment de configuration afin que le Wrapper lance correctement votre application Java, vous pouvez ajouter cette option pour permettre au Wrapper de s'exécuter sans fichier de configuration. Cela peut faciliter le lancement de l'exécutable Wrapper pour l'utilisateur final.

Si vous n'incluez qu'une partie de la configuration dans les binaires Wrapper (telle que la licence), cette option ne doit pas être utilisée.

NOTE

Cette option n'est traitée que lors de l'intégration de la configuration dans le binaire Wrapper.

AVERTISSEMENT

Les versions 3.5.35 à 3.5.42 permettaient à tout Wrapper personnalisé avec une configuration intégrée de s'exécuter sans fichier de configuration, mais le Wrapper échouait s'il n'avait pas toute la configuration nécessaire pour lancer l'application Java. Pour accroître la fiabilité, les versions 3.5.43 et ultérieures considèrent que le fichier est requis sauf si --conf-optional est spécifié.

Référence : Propriétés de configuration WrapperW

Propriétés utilisées uniquement pour wrapperw.exe :