Académique Documents
Professionnel Documents
Culture Documents
Comme son nom l'indique, Launch4j est un programme qui permet de créer des "launcher" ou
lanceurs pour vos applications java. C'est à dire créer des exécutables. Votre fichier jar deviendra
un exe. Votre utilisateur ne sera pas perdu et ne prendra pas peur en retrouvant son cher .exe.
L'intérêt de ce logiciel est qu'il est gratuit, qu'il vous permet d'ajouter une icône (la joli que vous
avez faites en galérant comme un(e) malade) à votre programme!! Vous pouvez en plus dans
une utilisation avancé y spécifier des indications pour la JVM et envoyer des arguments à votre
JVM si le cœur vous en dit.
Allons-y!
La création de votre exécutable se fera au fur et à mesure des onglets présents dans le logiciel.
Nous allons donc les traiter un par un.
Onglet Basic :
Output file : Sélectionner le dossier ou vous voulez voir apparaître votre .exe. Pensez à
bien finir le nom par .exe. Par exemple pour nous : J'ai crée un dossier MAKuisine1.1 sur mon
bureau où je veux que mon exe aille se créer. Ce qui donne comme chemin :
C:\Users\Bervas\Desktop\MAKuisine1.1 et dans l'encadré de texte j'y ajoute : MAKuisine.exe.
Jar : Aller chercher le .jar de votre application
Don't wrap the jar, launch only : si vous cochez cette case, le jar de votre application
ne se trouvera pas dans votre exe. L'exe servira juste à le lancer.
Icon : c'est là que vous mettez votre chef d'oeuvre en .ico
Change dir : si votre jar n'est pas dans le même dossier que votre exe, ici, vous pourrez
spécifier un chemin relatif pour l'exécution de votre application.
Error title : indiquer le titre du message d'erreur si votre application ne se lance. Par
exemple lors d'une absence de java sur le pc de votre utilisateur.
Onglet Classpath :
Onglet Header :
Vous allez indiquez si votre application est une application graphique ou une application console.
Dans le cas de MAKuisine on coche GUI (application graphique)
Dans le cas d'une application console, vous pouvez cocher :
Object file et spécifier les fichiers d'objet à inclure dans votre projet.
w32api ceci vous permettra de spécifier les librairies à inclure dans votre « header ».
Onglet single instance :
Cet onglet est optionnel mais comme il permet d'exécuter une seule instance de votre
application, nous allons l'utiliser en cochant la case "Allow only a single instance of the
application". C'est à dire que nous allons empêcher l'ouverture de notre programme plusieurs
fois pour une session utilisateur. Ce qui évitera au cliqueurs fous d'avoir plusieurs fois votre
programme ouvert et d'avoir des conflits si vous avez accès à une base de données ou à des
fichiers en lecture écriture.
Donner un nom à votre mutex. Vous allez me dire « mais c'est quoi ça ? » et bien je me suis
posée la même question et j'ai trouvé ça surwikipedia:
Un Mutex (anglais : Mutual exclusion, Exclusion mutuelle) est une primitive de
synchronisation utilisée en programmation informatiquepour éviter que
des ressources partagées d'un système ne soient utilisées en même temps. Son implémentation
varie selon les systèmes (masquage des interruptions, lecture/écriture en un cycle, etc.)
Ces algorithmes permettent de réguler l'accès aux données, par exemple pour qu'une routine ne
s'exécute qu'une seule fois en même temps.
C'était l'instant « je me cultive en bossant ».
Window title : vous pouvez éventuellement donner un titre à la fenêtre qui s'ouvrira à la place
d'une nouvelle instance de votre programme.
Onglets JRE et Set env.variables:
Pour cet onglet, je ne précise que la version minimale de la JRE (Min JRE version) dont le
programme va avoir besoin pour se lancer. Cette version doit être sous la forme 1.6.0 par
exemple.
Vous pouvez y spécifier plus d'information comme :
Bundled JRE path : La propriété path (ou chemin en français) va être utilisée pour spécifier le
chemin de la JRE si elle est incluse dans votre projet avec javaw.exe. Le chemin peut-être relatif
ou absolu. Il ne repose pas sur le répertoire courant ou <chdir>. La documentation officielle nous
précise que ce chemin ne sera pas vérifié avant l'exécution effective de l'application.
Max JRE version : Vous pouvez spécifier la version maximale de la JVM jusqu'à laquelle votre
programme sera exécuté. La forme est la même que pour la version minimale.
Par défaut Launch4j utilisera la version la plus récente présente chez l'utilisateur.
Si les versions de java spécifiée ne sont pas présentes un message d'erreur s'affichera et la page
de téléchargement de java s'ouvrira.
Liste déroulante : préférences pour une JRE publique ou privée. La sélection dans cette liste est
optionnelle. Vous pouvez laisser l'option par défaut comme je l'ai fait pour MAKuisine : Prefer
public JRE, but use JDK runtime if newer
Sinon, vous pouvez choisir parmi :
En option :
Initial Heap size : la taille de la mémoire qui sera initialement allouée à votre programme (en MB
ou en % de mémoire libre).
Max Heap Size : la taille maximale de mémoire allouée à votre programme (en MB ou en % de
mémoire libre).
Si une taille est spécifiée (MB et/ou %) alors le paramètre qui donne le plus de mémoire sera
choisi lors de l'exécution de votre programme.
JVM options : vous pouvez ajouter des arguments à votre JVM en utilisant les différents boutons
de création présents sous cette encadré. Cet encadré accepte tous les arguments que vous
auriez normalement passé à java/javaw
Toutes les variables d'environnement doivent entourées de guillemets et de %. Vous pourrez
trouver plus d'information dans la documentation officielle de Launch4j.
Onglet Splash :
Cet onglet est optionnel et vous permet de créer un écran de chargement pour votre application.
Ceci n'est disponible que si vous avez coché que votre application est une interface graphique
dans l'onglet "Header".
Si vous voulez un "splash screen" cochez la case : « Enable splash screen »
Ensuite, remplissez le champ "Splash file" en allant chercher votre image qui sera au format
.bmp
Si vous cocher "Wait for window", le splash screen se fermera automatique à l'ouverture de
votre application ou si il y a une erreur java.
Si vous ne cocher pas la case, dans le champ "Timeout" rentrez le temps au bout duquel votre
splash screen se fermera.
Onglet Version Info :
Les informations de cet onglet son optionnelles et seront affichées par l'explorateur Windows et
dans les propriétés du fichier.
"Free form" Le texte que vous souhaitez afficher pour votre version de fichier par
exemple '1.20.RC1'.
"Copyright": Le texte que vous souhaitez voir apparaître pour vos droits d'auteur
"Product version" : La version de votre fichier au format 'x.x.x.x'
"Free Form" : Le texte que vous souhaitez afficher pour la version de votre application.
"Company name" texte optionnel qui peut par exemple être votre nom ou celui de votre
entreprise. C'est le nom d'édition.
"Internal name" Nom interne sans extension,par exemple nom du fichier original ou nom
du module.
"Original filename" : nom original de l'application sans le chemin avec une extension .exe.
Permet de savoir si un fichier a été renommé par un utilisateur.
Onglet Messages :
Vous pouvez vous passer de renseigner cet onglet. En le complétant, vous pouvez
personnaliser les messages d'erreurs qui apparaitront lors du lancement de votre
application.
Pour finir :
Je vous conseille d'enregistrer la configuration launch4j de votre application. Ainsi, si vous
avez fait une erreur ou que vous devez pour une raison ou une autre, modifier votre jar vous
aurez quand même les paramètres de votre lanceur sans tout devoir refaire.
Vous pouvez maintenant créer votre exécutable. En cliquant sur l'icône en forme de pignon. Vous
avez maintenant un lanceur .exe de votre application java.
A cette étape, je vous conseille de vérifier que votre exécutable fonctionne bien. Vous pourrez
ainsi continuer sereinement dans la création de votre programme de lancement.
ACCUEIL
S'IDENTIFIER
Rechercher
Save over 10% on AVG products: Antivirus, Online Backup & PC Tuneup! Total Price:
$80.98 Buy Now!
Créer un package d'installation
Créer l'icône de votre application sous Gimp
Créer un exe pour votre application java avec Launch4j
Créer un programme d'installation avec Inno Setup
Cliquez sur Next.
On rentre le nom du dossier d'installation de l'application. Vous avez ensuite le choix entre deux
options.
Nous avons créé un dossier où tous les fichiers de notre application vont se placer.
Faites Next.
La prochaine fenêtre va nous permettre de spécifier les fichiers dont vous aurez besoin pour que
votre application fonctionne.
"Application main executable file" :
Dans un premier temps, on va aller chercher le bel executable que nous avons créé avec
Launch4j.exe.
On va aussi cocher la case "Allow to start the application after Setup has finished". Ainsi
votre application se lancera après son installation.
On ajoute ensuite les dossiers et les fichiers dont l'application aura besoin pour fonctionner.
Attention, si vous avez des dossiers, encapsulez-les dans un autre dossier. Par exemple, pour
MAKuisine, j'ai besoin d'un dossier contentant tous les éléments de la base de données. Pour
garder ce dossier, je vais l'inclure dans un dossier que je vais appeler baseDeDonnees. Ainsi
mon dossier se retrouvera intacte dans le dossier de mon application.
En faisant "Add folder", on ajoute donc des dossiers contenant des fichiers et des dossiers. Si
vous avez des sous-dossiers Inno Setup va vous demander si vous voulez les inclure.
En faisant, add files on ajoute directement les fichiers qui se trouveront au même endroit que
l'exécutable de notre application.
Faites Next.
A la fenêtre suivante, Inno setup va nous demander tous les raccourcis que l'on veut créer pour
notre application et le nom que l'on veut leur attribuer.
Allow user to change Start Menu folder name : laisse la possibilité à l'utilisateur de
changer le nom du dossier dans le menu démarrer.
Allow user to disable Start Menu folder creation : laisse la possibilité à l'utilisateur de
désactiver la création des raccourcis dans le menu démarrer.
Create an Internet Shortcut in the Start Menu folder : un lien vers le site web qui
distribue votre application pourle dossier du Menu Démarrer
Create an Uninstall icon in the Start Menu folder : ajoute une icône de désinstallation
au menu démarrer.
Allow user to create a desktop icon : laisse la possibilité à l'utilisateur de créer un
raccourci sur le bureau.
Allow user to create a Quick Launch icon : laisse la possibilité à l'utilisateur de créer
un raccourci dans la barre Quick Launch. C'est une barre de raccourcis située juste à droite du
menu Démarrer.
Faites Next
Ensuite on va vous demander les fichiers que vous voulez associer à votre application et qui vont
« customiser » l'installeur.
Ces fichiers seront des fichiers texte (txt, rtf).
Ce sera l'occasion pour nous de préciser à nos utilisateurs les droits de notre application, mais
aussi les améliorations qui été mises en place depuis la dernière version.
Vous pouvez choisir de montrer ces informations avant ou après l'installation.
Faites Next
La fenêtre suivante nous demande les langues que l'on veut associer à notre installeur.
Choisissez de préférences les langues disponibles au sein de votre application si elle est
multilingue. Le choix pour l'utilisateur se fera évidemment en début d'installation.
Faites Next
Faites Next
Vous pouvez utiliser le pré-processeur d'Inno Setup pour compiler et ainsi simplifier votre script.
Je vous conseille de laisser cocher l'option et de faire Next.
On vous demande si vous voulez compiler votre scipt. Vous pouvez faire oui ou non. On peut
attendre un peu et faire "Non" car on va modifier légèrement notre script pour qu'il colle
parfaitement à notre programme
Ici j'ai fais "Oui" pour les besoins du tutoriel et que vous ayez une jolie capture d'écran de
l'exécution du script.
Ensuite, Inno setup nous demande si on veut sauvegarder le script et évidemment que l'on va le
faire car on n'a pas fait tout ça pour rien et c'est toujours utile de garder son script pour les
versions suivantes.
Après la compilation, vous avez votre installeur qui empaquète tous vos fichiers et l'exécutable
de votre application. Vous n'avez plus qu'à tester si le tout fonctionne comme vous le souhaitez.
CAS PRATIQUE :
Installer seulement si le dossier n'existe pas
Si l'utilisateur n'installe pas le programme pour la première fois, je ne veux pas que la base de
données soit remplacée. Pour MAKuisine, chaque utilisateur à une base embarquée.
On va donc lui spécifier que si le dossier contenant la base de données existe on ne veut pas
qu'il le remplace. Si c'est la première fois que l'utilisateur installe notre logiciel on va installer la
base de données.
Pour cela repérez la ligne de script dans la partie [Files] qui spécifie le chemin de votre dossier
ou fichier. Dans notre cas la ligne devient :
Source : .... ajoutez à la fin de la ligne onlyifdoesntexist
Exemple :
Source : "C:\Users\Bervas\Desktop\SetUpMAKuisine\LesRecettes\*"; DestDir:"{app}\MAKuisine";
Attribs: system; Flags: ignoreversion recursesubdirs createallsubdirs
Devient
Source : "C:\Users\Bervas\Desktop\SetUpMAKuisine\LesRecettes\*"; DestDir:"{app}\MAKuisine";
Attribs: system; Flags: ignoreversion recursesubdirs createallsubdirs onlyifdoesntexist
Windows recommande de ne pas mettre les fichiers que l'utilisateur peut modifier dans le dossier
programme files mais dans le dossier appData.
Notre programme possède donc des fichiers modifiables dans le cas de MAKuisine, c'est la base
de données. Nous allons donc spécifier à l'installeur que nous voulons le dossier de la base de
données sous appData afin qu'il soit modifiable par l'utilisateur.
On va donc modifier l'argument de DestDir :
Source: "C:\Users\Bervas\Desktop\SetUpMAKuisine\LesRecettes\*"; DestDir:"{app}\MAKuisine";
Attribs: system; Flags: ignoreversion recursesubdirs createallsubdirs
Devient
Source: "C:\Users\Bervas\Desktop\SetUpMAKuisine\LesRecettes\*";
DestDir:"{userappdata}\MAKuisine"; Attribs: system; Flags: ignoreversion recursesubdirs
createallsubdirs onlyifdoesntexist
Deplacer un dossier chez l'utilisateur s'il existe
Restons sur l'exemple de notre base de données. Dans la version 1.0 de MAKuisine le dossier
de la base de données se trouvait dans Program files mais je l'ai déplacé dans le dossier
appdata selon les recommandations de Windows. J'avais donc besoin pour les utilisateurs qui
changeaient de version de déplacer leur base du dossier "Program files" au dossier "appdata".
Ce qui nous donne :
| + - | RTL - LTR
Contact MAKapp :
Copyright © Anne-Karine Bervas 2010-2013. Copyright © Mickaël Antonio 2010. All rights
reserved.