Save over 10% on AVG products: Antivirus, Online Backup & PC Tuneup! Total Price: $80.98 Buy Now!

Ici vous allez apprendre comment faire un exécutable puis un programme d'installation digne de ce nom pour votre fichier .jar java.

Tous les programmes utilisés dans ce tutoriel sont gratuits et relativement facile d'utilisation.

De quoi aurez vous besoin pour réaliser l'ensemble de ce tutoriel :

- de votre fichier java compilé en un .jar

- de tous les fichiers dont votre programme à besoin pour fonctionner correctement.

- de Gimp : il vous permettra de créer une icône (en .ico) qui s'adaptera aux différents besoin de votre application. Elle ne sortira plus dans sa tenue "tasse à café" java ce qui fera un peu plus pro. La version utilisée pour ce tutoriel est la 2.6

- de Launch4j 3.0.2 : il vous permettra de créer un exécutable avec l'icône que vous aurez créée.

- d'Inno Setup Compiler 5.4.3 : vous permettra d'empaqueter tout ce dont vous avez besoin dans un joli programme d'installation.

Vous avez les lien de téléchargement de ces différentes applications dans les articles correspondants.

Si vous n'avez jamais créé de programme d'installation, je vous conseille de suivre les articles dans l'ordre dans lequel ils apparaissent (icône, exécutable et enfin programme d'installation).

 

Commençons par faire notre jolie icône ! ! ! Content Bon si vous êtes comme moi ça ne va pas être de la tarte mais avec un peu de chance vous, vous avez un ami graphiste qui pourra vous donner un bon point de départ ! ! ! ! !

Bon, on peut, quand même faire quelques petits trucs sans être un artiste grâce à un logiciel gratuit très pratique : Gimp.

Vous pouvez télécharger Gimp sur le site officiel :

Télécharger Gimp

J'ai réalisé ce tutoriel sur une version Gimp 2.6 sur Mac, mais vous ne devriez pas être perdu si vous avez une version PC... c'est la même.

 

Avant de commencer, quelques petites notions qui ne peuvent pas faire de mal :

  • Une icône peut inclure la transparence (ou canal alpha).
  • L'icône peut contenir plusieurs images de différentes tailles pouvant s'adapter aux différentes résolutions dont vous aurez besoins : icône sur le bureau, icône dans la barre de lancement, icône d'accès rapide...
  • Peu importe la résolution dont vous aurez besoin, l'icône devra toujours être carrée.

Pour votre application, vous allez surement avoir besoin de différentes tailles d'icône suivant le contexte. Pour couvrir tous mes besoins et même plus.... j'ai travaillé avec les tailles suivantes : 256*256, 128*128, 64*64, 48*48, 32*32, 24*24, 16*16, 8*8.

Vous allez créer votre image de base. Là, je ne peux pas grand chose pour vous. De nombreux tutoriels existent pour vous aider. Vous pouvez aussi télécharger une image toute faite mais faites attention au droit d'auteur.

Nous allons donc créer notre icône à partir de notre image de base. Choisissez une image de base suffisamment grande pour couvrir vos besoins. Dans notre cas 256*256.

Rentrons dans le vif du sujet...

 

Créer le cadre de base de l'icône :

"Fichier → Nouveau".

 

Ensuite, saisir la taille de votre icône. Choisissez la taille la plus grande dont vous aurez besoin. Dans notre cas, 256*256.

Dans les « options avancées » : dans le champ « Remplir avec : » choisir Transparence.

Propriétés de l'image initiale

 

Valider vos paramètres. Vous avez maintenant un carré transparent que je vais vous laisser remplir grâce à vos grands talents artistiques ou en insérant l'image que vous avez trouvée.

Cadre de base de l'image

 

Vous voilà donc avec votre jolie icône. Vous pouvez maintenant passer à une partie plus technique ne faisant pas appel à vos talents artistiques.

Icône de départ

 

Création des différentes tailles :

Vous avez donc votre image dans la taille la plus grande.

Dans l'onglet "Calques", en bas à gauche, cliquer sur "Nouveau" (c'est la petite feuille blanche).

Calque 128*128

 

Donner un nom à ce nouveau calque, de préférence nommer-le avec la taille que vous aller attribuer au calque. Dans notre cas, nous allons créer le calque de la taille inférieure 128 * 128.

Differentes tailles d'images

Rentrez la taille du calque et cocher "Transparence" dans le "type de remplissage de calque" s'il n'est pas coché par défaut.

Vous avez un nouveau calque représenté par l'encadré jaune.

Representation d'un calque

 

Faites un copier-coller de l'image créée initialement et collez-là dans le nouveau calque.

Pour mieux apprécier le travail que vous allez effectuer sur votre nouveau calque on va masquer le plus grand. Pour cela, dans l'onglet calque cliquez sur l'oeil à gauche de votre calque et vous voilà avec votre image en 128*128 uniquement. Pour réafficher le calque il suffit de re-cliquer sur ce petit œil.

Bref, votre image déborde de tous les côté... pas de panique, on va résoudre ce petit détail rapidement.

Image dans le nouveau calque 

Diriger vous vers le menu Outils → Outils de transformation → Mise à l'échelle

Masquer un calque

Dans la fenêtre qui vient de s'ouvrir rentrer la taille de l'image dont vous avez besoin (ici 128*128) et cliquez sur « Echelle » pour appliquer la transformation. Faites bien attention, l'image doit rester carré...

Mise à l'échelle 

Vous voilà maintenant avec une image 128*128 dans votre deuxième calque.

Image mise à l'échelle

 

Ancrer l'image qui vient d'être remis à l'échelle en cliquant sur l'ancre en bas à droite de l'onglet calque.

Ancrer l'image

 

J'ai aussi ré-ordonné les calques en laissant la plus grande image en premier plan, pour cela il vous suffit de sélectionner le calque et de le déplacer avec la souris en le réordonnant comme vous le souhaitez.

Ancrer un calque

 

Et vous voilà déjà avec 2 images de votre icône.


Vous devez reproduire ces étapes pour chaque taille d'images que vous souhaitez retrouver au sein de votre icône. Pour l'icône de MAKuisine, 8 calques avec les différentes tailles dont j'ai besoin.

8 calques 8 tailles d'image


Vous avez donc différents calques. Nous allons enregistrer votre long travail avant que votre machine ne plante... si, si, ça arrive... Je vous conseille d'ailleurs un enregistrement en cours de route.

Donner un nom à votre icône puis sélectionner le type de fichier : forcément vous l'aurez deviné on cherche le .ico !

Enregistrer l'image 

Choisissez l'endroit où vous voulez l'enregistrer et faites, encore une autre évidence, « Enregistrer »

 

Choisissez ensuite le mode d'enregistrement pour chaque image créée.

Le mode d'enregistrement dépendra de la qualité d'image dont vous aurez besoin. La meilleure qualité étant : 32bpp, 8-bit alpha, no palette. Les images 8-bit alpha gèrent la transparence. A vous de choisir une qualité adaptée au système d'exploitation de vos utilisateurs...

 

Résolution de l'icône

 

Vous voilà enfin avec votre "superbe" icône. Vous allez pouvoir l'utiliser pour l'exécutable de votre application mais aussi pour son programme d'installation.

 

 

Pour créer un exécutable, nous allons utiliser Launch4j.

Ce tutoriel a été réalisé avec la version  3.0.2 que vous pouvez télécharger en suivant le lien ci-dessous :

Icone launch4j

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 :

Onglet Basic de launch4j

  • 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 :

Launch4j onglet classpath

  • Cocher la case « Custom classpath ». 
  • Dans Main.class allez chercher votre .jar et normalement les classes main apparaîtrons il vous suffit de choisir la main qui lance votre programme !

Onglet Header :

Launch4j 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 :

Launch4j 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 sur wikipedia:

Un Mutex (anglais : Mutual exclusion, Exclusion mutuelle) est une primitive de synchronisation utilisée en programmation informatique pour é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.

Launch4j - Onglet JRE

 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 :

  • « Only use public JREs » : toujours utiliser une JRE publique.
  • « Prefer public JRE, but use JDK runtime if newer » : Toujours utiliser une JRE publique mais utiliser le JDK inclus dans le projet s'il est plus récent que la JRE publique.
  • « Prefer JDK runtime, but use public JRE if newer » : Utiliser de préférence un JDK privé, mais utiliser la JRE publique si elle est plus récente.
  • « Only use private JDK runtimes » : toujours utiliser le JDK privé. Echoue s'il n'y a pas de JDK installé.

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".

Launch4j - Onglet Splash

 

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.
Launch4j - Onglet info
"File version": le numéro de la version du fichier au format : 'x.x.x.x'
"Free form" Le texte que vous souhaitez afficher pour votre version de fichier par exemple '1.20.RC1'.
"File description" : la description de votre programme présenté aux utilisateurs
"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.
"Product name" : Le nom 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.

Launch4j - onglet messages

 

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.

Launche4j - Enregistrer et créer son exe

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.

 

Maintenant que vous avez un executable, il ne reste plus qu'à empaqueter l'ensemble de vos fichiers dans un programme d'installation. Pour cela nous allons utiliser Inno Setup. Ce tutoriel a été réalisé avec la version 5.4.3

Inno Setup à l'avantage d'être gratuit et multilingue. Il est, pour ne rien gâcher, relativement facile à utiliser et est fourni avec une bonne documentation.

 

Vous pouvez le télécharger ici : Lien de téléchargement vers innosetup

Nous allons créer notre lanceur à partir d'un script qu'Inno Setup va générer et que nous allons ensuite modifier pour l'adapter à nos besoins. Nous allons donc sélectionner l'option : "Create a new script file using the script wizard"

Inno Setup fenêtre de lancement

 

Le script va nous permettre de réaliser notre "kit" d'installation.

Une fenêtre s'ouvre. Assurez-vous que l'option "Create a new empty script file" est décochée.

Inno Setup fenêtre 2

Cliquez sur Next.

Dans la fenêtre suivante :

Inno Setup fenêtre 3

  • Dans le premier champ, saisissez le nom de votre application.
  • Dans le second, la version de votre application.
  • Ensuite rentrez le nom que vous souhaitez voir apparaître en tant qu'Editeur.
  • Rentrez enfin, l'adresse du site (ou de votre site), qui distribuera votre application.

Quand vous aurez complété tous les champs cliquez sur Next.

Dans la fenêtre suivante :

Inno Setup fenêtre 4

"Application destination base folder" va nous permettre de choisir où va s'installer notre programme. Nous allons faire classique et conserver l'option : Program files folder.


On rentre le nom du dossier d'installation de l'application. Vous avez ensuite le choix entre deux options.

  • Permettre à l'utilisateur de choisir le dossier où votre application va être installée
  • Spécifier que l'application ne nécessite pas de dossier (pratique si votre application ne nécessite qu'un seul fichier pour fonctionner)

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.

Inno Setup fenêtre 5

"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.

Inno Setup subfolder

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.

Inno Setup configuration des raccourcis

 

  • 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.

Inno Setup fichiers associés

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.

Inno Setup les langues d'installation

Faites Next


Ensuite nous allons configurer les paramètres de compilation :


Inno Setup paramètres de compilation

Custom compiler output folder : on y indiquera le dossier dans lequel on veut voir apparaître notre installeur.

Compiler output base file name : indiquez un nom pour votre installeur sans espace.

Custom setup icon file : là encore vous allez ressortir la jolie icône que vous avez faite précédemment. Comme quoi, on ne s'est pas fatigué pour rien !

Le dernier champ permet de protéger votre installeur avec un mot de passe. Seul ceux qui auront le mot de passe pourront installer votre programme.


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.

Inno Setup choix pré-processeur

 

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

Inno Setup questions

 

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.

Inno Setup question compile

 

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.

Inno Setup enregistrer le script

 

Inno Setup compilation

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.

Inno Setup icone de l'installeur


BONUS : Modification du script de génération du programme d'installation ! !

Allé, comme on a toujours besoin d'un peu de customisation, nous allons modifier notre script pour qu'il fasse ce que l'on veut.

Nous n'allons voir que très peu d'options par rapport aux possibilités d'Inno Setup mais la documentation est bien faite et pourra vous aider dans les cas que je n'ai pas abordé.... surtout maintenant que vous vous êtes familiarisé avec l'outil !


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


Ne pas mettre tous les fichiers dans le même dossier.

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 :


Source : "{pf}\MAKuisine\MyDB\*"; DestDir:"{userappdata}\MAKuisine\MyDB"; Flags: ignoreversion external skipifsourcedoesntexist recursesubdirs createallsubdirs;

skipifsourcedoesntexist : remarquez cette expression qui nous permet d'éviter la commande si le dossier n'existe pas dans program file. Ce qui était le cas pour les utilisateurs installant pour la première fois le logiciel. En effet, la base initiale allait s'installer au bon endroit.



Donner tous les droits à l'utilisateur pour l'installation.

Source : "C:\Users\Bervas\Desktop\SetUpMAKuisine\MAKuisine.exe"; DestDir: "{app}"; Attribs: system; Permissions: authusers-modify admins-modify everyone-modify powerusers-modify Users-full system-modify users-modify; Flags: ignoreversion

 

Je veux faire une mise à jour de mon programme :

Pour faire proprement une mise à jour de votre programme et qu'Inno setup ne crée pas des fichiers inutiles, il vous suffit d'utiliser le même identifiant que pour votre première version. Vous aurez ainsi un seul dossier concernant votre application dans Ajout/suppression de programme.

Dans votre script, chercher le champ AppId dans la section Setup.

Dans un premier temps, aller chercher l'identifiant de votre vieille version, le copier. Aller ensuite le coller dans votre nouveau script en remplaçant celui généré automatiquement.

Cet identifiant est celui utilisé par windows comme clé de registre.

Et voilà...

Une fois que votre script est complet cliquez sur la petite flèche verte pour compiler votre installeur.

Il ne vous reste plus qu'à le tester.
Vous voilà à la fin de ce tutoriel qui, je l'espère, aura été suffisamment complet pour vous aiguillez dans la création d'un exécutable pour votre application.

 

 
Vous êtes ici :   AccueilDéveloppeursPC
| + - | RTL - LTR

Contact MAKapp :

Copyright © Anne-Karine Bervas 2010-2013. Copyright © Mickaël Antonio 2010. All rights reserved.