web-dev-qa-db-fra.com

Création d'un programme d'installation pour une application de bureau Java

Je sais que cette question a été posée à maintes reprises et qu’il existe toujours une réponse indiquant comment utiliser un fichier jar exécutable ou créer un fichier .exe avec launch4j ou une application similaire.

Je peux sembler être un novice, ce que je suis en réalité. 

J'ai essayé quelques choses avec un projet Java. J'ai réussi à créer un fichier jar exécutable ainsi qu'un fichier .exe à partir de celui-ci. Tout cela grâce à vos réponses précédentes dans SO :)

Mais, je veux créer un programme d'installation pour Windows. Par exemple, si vous appuyez sur Suivant pendant 2 à 3 fois (ce qui affiche tous les termes et conditions, etc.), un utilisateur spécifie un emplacement (par exemple, C:\Program Files\Nouveau dossier\Mon application), puis mon fichier .exe, lib, img dossier, les autres dossiers importants sont collés dans le dossier de destination avec le fichier .exe, puis un raccourci est créé sur le bureau.

Des indications sur comment puis-je atteindre cet objectif?

14
ItachiUchiha

J'utilise InnoSetup depuis longtemps. Cela a toujours très bien fonctionné. Il peut faire tout ce dont vous avez besoin (décompresser les fichiers, mettre des raccourcis sur le bureau, menu Démarrer, etc.) et générer les installateurs auxquels nous sommes habitués.

12
Adam Dyga

Si vous voulez une source libre et ouverte, vous pouvez jeter un oeil IzPack . Nous utilisons cela au travail pour son support en ligne de commande dans notre constructeur.

Vous pouvez également jeter un coup d'œil à install4j , qui est un produit commercial que nous avons déjà utilisé auparavant (mais quand il s'agit de dépenser de l'argent, vous avez tendance à vouloir savoir que vous obtenez ce que vous voulez;))

6
MadProgrammer

Utilisez Java Web Start

J'aime, en appuyant sur Next pendant 2 - 3 fois (ce qui montre tous les termes et conditions, etc.)

Le ExtensionInstallerService de l'API JNLP fournit ceci. Voici un démo. du service d'installation .

..puis qu'un utilisateur spécifie un emplacement (comme C:\Program Files\Nouveau dossier\Mon App), ..

La ExtensionInstallerService fournit une méthode getInstallPath() which ..

Retourne le répertoire dans lequel le programme d'installation est recommandé pour installer l'extension. Il n'est pas nécessaire que le programme d'installation installe dans ce répertoire, il s'agit simplement d'un chemin suggéré.

Ce n’est pas tout à fait la même chose que ce que vous demandez, mais je pense que c’est généralement une mauvaise idée de permettre à l’utilisateur un tel niveau de contrôle.

puis mon fichier .exe, le dossier lib, le dossier img, les autres dossiers importants sont collés dans le dossier de destination avec le fichier .exe.

JWS installe automatiquement les ressources mentionnées dans le JNLP au fur et à mesure de leurs besoins. De plus, il met à jour les ressources si les archives sur le serveur changent.

puis un raccourci est créé sur un bureau.

JWS peut fournir des raccourcis sur le bureau et des éléments de menu sur les systèmes pris en charge.

PAR EXEMPLE. 

2
Andrew Thompson

J'étais dans la même situation il y a quelques mois. Après avoir essayé beaucoup. Je suggère NSIS. Il existe un plug-in Nice pour Eclipse EclipseNSIS avec certains modèles. Il est très utile d’obtenir un programme d’installation de base en quelques clics. Si le code résultant n'est pas suffisant, vous pouvez effectuer le reste du travail en codant, mais l'essentiel du code est généré par EclipseNSIS.

1
NormanC

Vous pouvez également utiliser Advanced Installer . Étant donné que vous avez déjà un fichier EXE pour lancer votre fichier JAR, vous n'avez pas besoin d'utiliser le support Java Launcher de Advanced Installer. Vous pouvez créer un Projet simple , disponible dans l'édition gratuite. besoin d'acheter une licence.

Il vous faudra au maximum 10 minutes pour l'installer et créer le package d'installation, car vous verrez qu'il est très facile à apprendre à l'utiliser.

1
Bogdan Mitrache