Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Répertoire courant [ Divers / Débutant(e) ] (seareal)

vendredi 16 juin 2006 à 10:15:21 | Répertoire courant

seareal

Bonjour,

je suis pas sûr que ma question soit adéquate sur ce forum mais je tente ma chance.

voilà le problème :
j'ai créé une petite application java qui doit écrire des fichiers logs. J'ai exporté mon appli en .jar puis en .exe et je lui ai créé un installeur. L'objectif de l'installeur est d'associer une url de type bonzai:// à mon application (un peu comme ed2k pour emule).

Pour l'instant, l'installeur n'est que pour Windows : il associe l'url bonzai à mon application dans la base de registre en utilisant les clés :

[bonzai]
   [shell]
      [command]   >> par défaut >> C:\Program Files\Mon Appli\MonAppli.exe %1

L'association en elle-même fonctionne, mon programme est bien lancé, le problème est qu'il est lancé depuis le répertoire du bureau et non depuis son répertoire d'installation (System.getProperty("user.home") renvoie systématiquement mon bureau). Du coup, mes fichiers de logs sont enregistrés sur le bureau au lieu d'être enregistrés dans le répertoire de l'application.

J'ai bien trouvé une solution qui consiste à ajouter une clé dans la base de registre par l'installeur dans laquelle je spécifie le path de l'appli, puis je vais lire cette clé depuis mon programme mais je n'aime pas vraiment cette solution qui fait que mon appli devient spécifique windows (et que je ne trouve pas ça propre de toute façon).


J'en viens donc à ma question

Y'a-t-il un moyen en java de désigner le répertoire où se trouve physiquement l'application (pas forcément celui depuis lequel elle est lancée) ?
Y'a-t-il sinon un moyen de spécifier un répertoire de départ dans la base de registre pour lancer mon appli ?


(un peu comme les raccourcis windows où on spécifie la "cible" et le "démarrer dans", c'est ce "démarrer dans" que j'aimerais spécifier dans ma base de registre).


Merci d'avoir tout lu, j'espère que vous avez une solution

vendredi 16 juin 2006 à 10:27:32 | Re : Répertoire courant

Renfield

Administrateur CodeS-SourceS
System.getProperty("user.dir");

Renfield
Admin CodeS-SourceS - MVP Visual Basic

vendredi 16 juin 2006 à 10:28:36 | Re : Répertoire courant

Renfield

Administrateur CodeS-SourceS
(trouvé sur Codyx.org, le dernier né de la famille CodeS-SourceS)

http://codyx.org/snippet_dossier-courant-exe-cours-execution_4_l_java_21.aspx

Renfield
Admin CodeS-SourceS- MVP Visual Basic

vendredi 16 juin 2006 à 10:36:07 | Re : Répertoire courant

seareal

Autant pour moi je me suis trompé dans mon message initial, "user.home" n'est évidemment d'aucune utilité, c'était bien la variable "user.dir" qui renvoyait sur le bureau.


Je précise que le problème ne survient évidemment pas si je lance mon appli depuis son répertoire (ou via la commande Exécuter de windows) où là, je suis bien placé dans le bon répertoire.

Ce problème ne survient que lorsque mon appli est automatiquement lancée par Internet Explorer lorsqu'il reçoit une url de type bonzai://Test au lieu de http://.....).

Pour je ne sais quelles raisons, le répertoire courant dans mon application est le bureau, et ce que je voudrais changer

vendredi 16 juin 2006 à 10:42:39 | Re : Répertoire courant

Renfield

Administrateur CodeS-SourceS
ok, ok, je vois le soucis
user.dir renvoie le repertoire courant.... mais n'a tout bonnement aucun lien avec l'executable...

(je viens de désactiver le Snippet)

Renfield
Admin CodeS-SourceS- MVP Visual Basic

vendredi 16 juin 2006 à 12:30:04 | Re : Répertoire courant

seareal

Si vous avez des idées pour obtenir l'information en Java, ou si vous connaissez un bon site qui expliquerait comment modifier correctement la base de registre (pas faute d'en avoir cherché pourtant ), je suis preneur


vendredi 16 juin 2006 à 12:42:27 | Re : Répertoire courant

Twinuts

Membre Club Administrateur CodeS-SourceS
Salut,

en java pure il est IMPOSSIBLE de modifier la base de registre qui est exclusif à crosoft
cependant tu as 2 façon de le faire mais en utilisant ca ton appli ne sera plus portable donc plus aucune raison d'utiliser java (le mieux pour ca reste vb ou c# qui sont adapté a crosoft)

1 - tu developpe un lib dynamique (en c/c++) qui va manipuler la base de registre
2 - tu recupère je ne sais plus qu'elle api pour la manipulation de la base de registre

sinon en java pure tu as la class File qui permet de customizer le repertoire de traivail ou encore si tu utilise la commande exec de la class Runtime tu peux aussi customizer le repertoire de travail.


WORA

vendredi 16 juin 2006 à 13:57:00 | Re : Répertoire courant

seareal

à l'heure actuelle je crée une nouvelle variable dans la base de registre dans laquelle je met le répertoire d'installation et je vais ensuite la rechercher via

Preferences.userRoot().node(

"Mon Appli");

ça fonctionne bien mais c'est justement ce que je ne veux pas faire (rendre l'appli spécifique à un sytème). Je vais regarder les classes que tu m'as spécifié mais j'imagine que je ne trouverai pas la méthode qui va bien en Java.

Je pense que je vais plutot poser ma question sur un forum spécifique base de registre (si je trouve ça ) pour régler le problème à la base : lancer correctement mon appli depuis son répertoire de travail.

Merci néanmoins pour vos réponses

vendredi 16 juin 2006 à 15:38:05 | Re : Répertoire courant

sheorogath

Membre Club Administrateur CodeS-SourceS
bizarre quand meme ton probleme
avec quoi as tu cree ton exe ?

"n'est pas mort ce qui semble a jamais dormir et en d'etrange temps meme la mort peut mourrir"

vendredi 16 juin 2006 à 15:53:22 | Re : Répertoire courant

seareal

J'avoue que j'y connais pas grand chose (pour ne pas dire rien) sur l'étape entre le .jar et le .exe.

J'ai utilisé JSmoothGen avec les paramètre suivants :
Skeleton Chooser : Windowed Wrapper (je suppose que c'est celui à utiliser pour une appli graphique)

Executable : MonAppli.exe
Executable Icon: vide
Current Directory : vide (j'ai cru comprendre justement qu'il ne fallait rien y mettre)

puis mon jar et la classe main.

Je n'ai pas touché au reste.

Je précise bien que le .exe que je crée sera ensuite utilisé par un installeur qui doit permettre à l'utilisateur de spécifier n'importe quel répertoire évidemment.


1 2

Cette discussion est classé dans : répertoire, base, appli, application, installeur


Répondre à ce message

Sujets en rapport avec ce message

repertoire de lancement d'une appli [ par Skeetle ] Bonjour à tous,Est ce que quelqu'un connaitrait une fonction java permettant de recuperer pendant une application une variable contenant le chemin du Base de données client serveur [ par Bouchratssi ] salut tout le monde, je developpe une application sous oracle 8i et vb 6.0, la base de données sera installée sur un serveur et tous les clients pourr Base de donées intégrée [ par yanipig ] Bonjour à tous,Je dois développer une application client transportable contenant une base de données.Bien entendu, je ne peux demander aux utilisateu application client serveur en java [ par florent1 ] Voici mon problème:je dois réaliser une application client serveur en java (avec Jbuilder). Cette appli devra attaquer une base Oracle.Est ce que l'in Problème lancement application java Web start [ par kal80 ] Bonjour a tous et merci de l'aide que vous pourrez m'accorder. Je dois mettre en place un programme java d'instant messaging sur un portail (environem Gestion d'autorisation [ par arnaud_a ] Bonsoir à tous,voila je suis entrain de mettre en place une   appli permettant de gérer des stocks.plusieurs services utilisent l'application: service Fenêtre DOS [ par MHidden ] Bonjour, Je développe une application Java sous Windows. Quand je l'exécute, une fenêtre DOS s'ouvre, et ensuite la fenêtre de l'appli apparaît. Mais Java Web Start et BD Access [ par OliV_25 ] Sltj'ai fait une appli (java ) qui utilise une base de données Access, jusque la pas de probleme. En local l'appli tourne très bien. Mais quand j'essa Fermer une fenetre sans fermer l'application [ par remus38 ] Salut,je suis en train de realiser un forum en java et j'ai un petit probleme. Lorsque je lance mon appli j'ai la possibilité de me connecter ou de m' Déterminer le chemin de mon application. [ par jasonred2 ] Salut tout le monde, j'ai un souci qui me tarabuste les neurones. Je suis débutant en java et suis en train de créer une appli pour ma boîte. Je vou


Nos sponsors

Sondage...

CalendriCode

Janvier 2009
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode

Téléchargements



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,546 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.