Actionaz 2080 - SFX : bug lecture fichiers

Si vous avez trouvé un bug dans un de mes programmes.
Post Reply
Guy2g
Posts: 59
Joined: 27 Jun 2009, 13:16

Actionaz 2080 - SFX : bug lecture fichiers

Post by Guy2g »

Bonjour,

Lors de la conversion d'un script fonctionnel en EXE (SFX), le programme ne peut lire des fichiers (alors qu'en ACT, ça fonctionne bien).

Voici l'exemple :

Code: Select all

Actions

000->Fichier : Lire le fichier "{#wdir()}/data/Log.txt" et mettre dans $wFic (Effectue des opérations sur un fichier.)
001->Boîte de dialogue : Afficher "{$wFic}", titre : "Voila !", type : Ok, icône : Exclamation, fermeture dans -1 ms (Affiche un message, peut demander oui ou non.)
... et voici ce qui se passe avec l'EXE :
Image

A toutes fins utiles, notamment pour l'examen éventuel de l'EXE, j'ai tout mis !

Y a t'il une solution ? merci d'avance :)
Rien ne sert de gémir, il faut réfléchir à point !
User avatar
Jmgr
Admin
Posts: 1651
Joined: 07 Dec 2005, 15:45
Contact:

Re: Actionaz 2080 - SFX : bug lecture fichiers

Post by Jmgr »

Oui ça ressemble à un problème de dossier de travail, qui n'est peut être pas paramétré si Actionaz est en mode SFX...

Une solution temporaire serait d'écrire le chemin du dossier en dur dans le code, mais bon...
"My software never has bugs. It just develops random features."
Guy2g
Posts: 59
Joined: 27 Jun 2009, 13:16

Re: Actionaz 2080 - SFX : bug lecture fichiers

Post by Guy2g »

Salut,

J'ai un peu regardé les divers paramétrages possibles du SFX de RAR ; il semble qu'il y ait une option d'ouverture de dossier temporaire TEMP invisible pour y exécuter l'EXE, puis effacement de ce répertoire (et de son contenu) une fois l'exécution terminée.

Si cette option a été choisie pour le SFX automatique d'Actionaz (ce qui me parait probable), il devient évident que nulle relation avec des fichiers existants du disque d'accueil n'est alors possible ... d'où échange de données impossible.

L'écriture du chemin en dur n'est pas possible, du fait que l'on ne sait pas où va être utilisé le programme (certaines personnes -dont moi, n'aiment pas mettre des programmes étrangers sur C: ...!).

Je vais chercher des solutions, que je communiquerai si je trouve.
Mais une question : quels sont les éléments (dossiers, DLL, etc) qu'il faut mettre d'office dans le SFX, en plus d'actionaz2.exe ? Et quelle est la commande setup incluse pour faire exécuter le script ?

Merci d'avance.
Rien ne sert de gémir, il faut réfléchir à point !
User avatar
Jmgr
Admin
Posts: 1651
Joined: 07 Dec 2005, 15:45
Contact:

Re: Actionaz 2080 - SFX : bug lecture fichiers

Post by Jmgr »

J'ai un peu regardé les divers paramétrages possibles du SFX de RAR ; il semble qu'il y ait une option d'ouverture de dossier temporaire TEMP invisible pour y exécuter l'EXE, puis effacement de ce répertoire (et de son contenu) une fois l'exécution terminée.

Si cette option a été choisie pour le SFX automatique d'Actionaz (ce qui me parait probable), il devient évident que nulle relation avec des fichiers existants du disque d'accueil n'est alors possible ... d'où échange de données impossible.
Hm, bien vu !

J'ai regardé le code qui lance la création d'un script SFX et malheureusement je n'ai pas de moyen direct pour récupérer le dossier où se situe de script SFX car en effet Actionaz est extrait dans un dossier temporaire. Les scripts SFX sont vraiment une partie très buggée d'Actionaz 2...
Mais une question : quels sont les éléments (dossiers, DLL, etc) qu'il faut mettre d'office dans le SFX, en plus d'actionaz2.exe ? Et quelle est la commande setup incluse pour faire exécuter le script ?
Sont inclus :
de
fr
icons
actionaz.ico
images
wxmsw28u_gcc_custom.dll
mingwm10.dll
actionaz2.exe
actionaz2.exe.manifest
mySFXscript.act (le script actuel renommé)

Et voici la commande du setup :
;!@Install@!UTF-8!
RunProgram="actionaz2.exe mySFXscript.act execute,notrayicon,noprogress,noexecutionwindow,exitatend"
Progress="no"
;!@InstallEnd@!

Tu peux trouver le "stub" à cette adresse : http://downloads.sourceforge.net/sevenz ... 5_extra.7z
"My software never has bugs. It just develops random features."
Guy2g
Posts: 59
Joined: 27 Jun 2009, 13:16

Re: Actionaz 2080 - SFX : bug lecture fichiers

Post by Guy2g »

Bonsoir,

Tout d'abord merci pour cette réponse explicite.

J'ai effectué divers essais concluants avec 7z et RAR, il ne faut pas utiliser le dossier TMP par défaut ("C:\Documents and Settings\Administrateur\...etc...\tmp"), mais choisir un dossier (syntaxe .\.) dans lequel l'exec va s'exécuter, et où il lui sera facile de reconnaitre son environnement (sous-dossiers connus).
L'inconvénient est qu'il n'y a pas d'effacement automatique des fichiers et dossiers inutiles en fin de programme, mais ça se pallie aisément en rajoutant quelques lignes adaptées en fin de script. Le script d'actionaz peut même s'auto-effacer dès son lancement !

Si je trouve le temps, je tâcherai de donner des explications complètes sur ces méthodes.
Rien ne sert de gémir, il faut réfléchir à point !
Post Reply