Nous sommes le Sam 05 Juil, 2025 16:52
Supprimer les cookies

Probleme de partabilisation

Image Image Forum dédié à notre projet de clé USB nomade libre sous Windows

Mer 11 Juin, 2008 10:52

Salut a tous.

Etant fan du concept framakey, je voulais portabiliser un soft fait..par moi pour gerer une collection de bande dessinée.

J'ai suivis tout les étapes(enfin je crois) et au résultat, j'ai un problème... En fait mon exe générer par NSIS lance bien l'appli...

Mais en fait pour rendre mon appli portable, j'ai mis des chemins relatifs. par exemple mon soft cherche "data\bibliobd.db" a partir du repertoire de l'exe.

Hors quand je lance mon exe portable, il ne me trouve plus se répertoire.
Pour etre plus claire voici l'arborescence que j'ai pour le moment :
PortableBiblioBD
- BiblioBDLight\
- Bibliobd.exe
- data\
- Bibliobd.db
- PortableBibliobd.exe

Si je clique directement sur Bibliobd.exe, tout marche bien. Si je clique sur PortableBibliobd.exe, il me lance mon soft mais me met un message d'erreur disant qui ne trouve pas "data\Bibliobd.db".... Se qui veux bien dire qu'il a trouvé "bibliobd.exe"....

des idées?

Pos²

PS: J'ai utilisé le script généré par GenXml
poseidon2

Messages : 6

Mer 11 Juin, 2008 10:59

poseidon2 a écrit:des idées?
Oui. Est-ce que ton programe récupère bien le répertoire dans lequel il se trouve avant d'ouvrir le fichier de données ? Il se peut qu'il y ait une différence entre le répertoire réel de l'appli et le répertoire de travail.
Dernière édition par Téthis le Mer 11 Juin, 2008 11:09, édité 1 fois au total.
Téthis

Avatar de l’utilisateur
Messages : 3895
Géo : De passage chez les cathares

Mer 11 Juin, 2008 11:03

Bonne question.... Ne l'ayant testé qu'a partir de l'exe mère j'ai peut être pas fait gaffe. Je regarde.
poseidon2

Messages : 6

Mer 11 Juin, 2008 12:50

Oui je récupérè le répertoire dans lequel je me trouve mais lorsque que j'utilise le PortableBiblioBD.exe (Un GetCurrentDirectory) il me donne... celui de PortableBiblioBD.exe et non de du vrai executable !

Donc toujours le même soucis.

Le PortableBiblioBD.exe n'est pas juste un "raccourcis dynamique" sur l'exe ?
poseidon2

Messages : 6

Mer 11 Juin, 2008 13:59

Je sais que pour lancer en portable il y a modification de l'environnement du programme avant le lancement, ce qui fait une sorte de "cage" pour ne pas que le programme écrive dans le système "hôte". Le principe est rudimentaire mais relativement efficace sur les programmes se référant aux variables modifiées.

Ton problème vient sûrement du fait que le répertoire de travail est celui du lanceur. Le fils (ton programme) se réfère donc à ce répertoire pour ouvrir sa base. Il faut récupérer le chemin du processus courant mais j'ai oublié comment faire car ça fait un bail que je n'utilise plus Windows. :p

Tu devrais aller poser ta question sur des sites dédiés à la programmation, ça sera plus efficace. Mais rien ne t'empêche de revenir voir si quelqu'un a déjà été confronté à ce problème ici. :)
Dernière édition par Téthis le Mer 11 Juin, 2008 16:26, édité 1 fois au total.
Téthis

Avatar de l’utilisateur
Messages : 3895
Géo : De passage chez les cathares

Mer 11 Juin, 2008 16:03

Trouvé !

GetModuleFileName ! Ensuite il suffit de retirer le nom de l'exe !

Maintenant ca marche. Prochaine étape de la portabilisation... demain :D
poseidon2

Messages : 6

Mer 11 Juin, 2008 16:26

poseidon2 a écrit:Trouvé !

GetModuleFileName !
Argl, mais c'est bien sûr !
Téthis

Avatar de l’utilisateur
Messages : 3895
Géo : De passage chez les cathares

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit