[R] Inclure des ressources dans l'exe

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Bonjour
Niveau 5
Niveau 5
Messages : 138
Enregistré le : ven. 06 juin 2014 08:27
Status : Hors ligne

[R] Inclure des ressources dans l'exe

#1

Message par Bonjour »

Bonjour est ce qu'on peut inclure des ressources (images, son, etc) lors de la compilation de l'exe pour que le tout ne forme qu'un seul dossier exe ?
Modifié en dernier par Bonjour le jeu. 31 juil. 2014 17:13, modifié 1 fois.
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] Inclure des ressources dans l'exe

#2

Message par jguinch »

Pas directement.
Voir l'UDF Resources.au3
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Bonjour
Niveau 5
Niveau 5
Messages : 138
Enregistré le : ven. 06 juin 2014 08:27
Status : Hors ligne

Re: [..] Inclure des ressources dans l'exe

#3

Message par Bonjour »

OK mais je n'y arrive pas tu pourrais faire un tuto STP
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] Inclure des ressources dans l'exe

#4

Message par jguinch »

Non, je n'ai pas le temps de faire ça...
Quel est le besoin ? Pourquoi veux-tu que tout soit dans l'exécutable ?

FileInstall() ne suffit pas ?
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11818
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Inclure des ressources dans l'exe

#5

Message par Tlem »

Il y a déjà un tutoriel pour ça sur le forum ...
Il y a une mise à jour de l'UDF que je vais rajouter, sinon tout le reste y est.

Sinon, vous parlez d'un seul dossier exe donc si le fait de regrouper vos ressources dans un seul dossier vous convient, FileInstall () est ce qu'il vous faut.

Envoyé depuis mon mobile en utilisant Tapatalk.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Bonjour
Niveau 5
Niveau 5
Messages : 138
Enregistré le : ven. 06 juin 2014 08:27
Status : Hors ligne

Re: [..] Inclure des ressources dans l'exe

#6

Message par Bonjour »

ok je vais voir
Bonjour
Niveau 5
Niveau 5
Messages : 138
Enregistré le : ven. 06 juin 2014 08:27
Status : Hors ligne

Re: [..] Inclure des ressources dans l'exe

#7

Message par Bonjour »

euh il sert à quoi le deuxième argument et surtout comment je récupère les pointeurs pour retrouver les images que j'y ai inclu par exemple ?
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11818
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Inclure des ressources dans l'exe

#8

Message par Tlem »

FileInstall() permet de stocker la ressource dans le script compilé.
Le deuxième argument de la commande sert à extraire (de manière transparente) la ressource dans un dossier donné.

Soit vous faites plusieurs FileInstall() les uns à la suite des autres pour :
1 - Au moment de la compilation inclure tous les fichiers que vous voulez utiliser dans l'exe du script compilé.
2 - Au moment du lancement du script, extraire les ressource dans un dossier fixé par le deuxième argument.

Soit vous placez la commande FileInstall() pour la ressource donnée avant la ligne du code qui va l'utiliser.

Pour résumer : FileInstall() rajoute le fichier indiqué dans l'exe du script lors de la compilation et le décompresse dans le dossier indiqué par le deuxième argument lors de l’exécution de la ligne concernée.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Bonjour
Niveau 5
Niveau 5
Messages : 138
Enregistré le : ven. 06 juin 2014 08:27
Status : Hors ligne

Re: [..] Inclure des ressources dans l'exe

#9

Message par Bonjour »

Ok je crois que j'ai compris je testerai tout à l'heure merci :D
Bonjour
Niveau 5
Niveau 5
Messages : 138
Enregistré le : ven. 06 juin 2014 08:27
Status : Hors ligne

Re: [..] Inclure des ressources dans l'exe

#10

Message par Bonjour »

Et est ce qu'on peut inclure un dossier contenant tout les fichiers ? Je veux dire est ce qu'il va aussi inclure les fichiers et autre dossier contenus dans celui-ci ?
Avatar du membre
orax
Modérateur
Modérateur
Messages : 1479
Enregistré le : lun. 23 mars 2009 04:50
Localisation : ::1
Status : Hors ligne

Re: [..] Inclure des ressources dans l'exe

#11

Message par orax »

Je ne pense pas. Par contre tu pourrais utiliser _FileListToArrayRec() pour lister les fichiers et faire un générer (avant compilation) un FileInstall() sur chaque.
Tu peux t'inspirer de ce script : little-install-programm-for-your-programms pour générer les FileInstall().
Modifié en dernier par orax le sam. 02 août 2014 15:23, modifié 1 fois.
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
Bonjour
Niveau 5
Niveau 5
Messages : 138
Enregistré le : ven. 06 juin 2014 08:27
Status : Hors ligne

Re: [..] Inclure des ressources dans l'exe

#12

Message par Bonjour »

L'idée est bonne mais je crois que le premier argument de fileinstall ne doit pas etre une variable ou une fonction
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] Inclure des ressources dans l'exe

#13

Message par jguinch »

FileInstall ne permet pas d'utiliser des variables dans le premier paramètre, donc on ne peut pas utiliser FileListToArray ou quoi que ce soit directement.
Il faudra passer par un "générateur" de lignes FileInstall().
Tu as plusieurs exemples sur le forum, dont celui-là : http://autoitscript.fr/forum/viewtopic.php?f=21&t=12435 ou celui-là : http://www.autoitscript.fr/forum/viewto ... =21&t=7012
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Bonjour
Niveau 5
Niveau 5
Messages : 138
Enregistré le : ven. 06 juin 2014 08:27
Status : Hors ligne

Re: [..] Inclure des ressources dans l'exe

#14

Message par Bonjour »

J'ai réussi à utiliser le générateur mais j'ai deux question :
Par sécurité j'ai remplacé @ScriptDir par @ProgramFilesDir dans chaque destination sauf que sa à pour effet que les fichiers ne se creer plus :( ,pourquoi ? voila le code:
► Afficher le texte
Et ma deuxieme question est
Si je passe le prog à un amis est ce que je dois mettre #RequireAdmin ?
Bonjour
Niveau 5
Niveau 5
Messages : 138
Enregistré le : ven. 06 juin 2014 08:27
Status : Hors ligne

Re: [..] Inclure des ressources dans l'exe

#15

Message par Bonjour »

Bon j'ai trouver la réponse à la première question :D
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] Inclure des ressources dans l'exe

#16

Message par jguinch »

DirCreate(@ProgramFilesDir & '\*perso*\') ???
C'est qui ces wildcards ? Ca peut pas marcher
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Bonjour
Niveau 5
Niveau 5
Messages : 138
Enregistré le : ven. 06 juin 2014 08:27
Status : Hors ligne

Re: [..] Inclure des ressources dans l'exe

#17

Message par Bonjour »

Non en fait j'ai mis *perso* pour remplacer les information privées
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2127
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

Re: [..] Inclure des ressources dans l'exe

#18

Message par TommyDDR »

En lisant l'aide, ce que j’espère, vous avez fait :
The destination directory path must already exist before this function is called, or the FileInstall() will fail
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Avatar du membre
orax
Modérateur
Modérateur
Messages : 1479
Enregistré le : lun. 23 mars 2009 04:50
Localisation : ::1
Status : Hors ligne

Re: [..] Inclure des ressources dans l'exe

#19

Message par orax »

Bonjour a écrit :Et ma deuxieme question est
Si je passe le prog à un amis est ce que je dois mettre #RequireAdmin ?
Si le script doit s'installer dans @ProgramFilesDir, il lui faudra les droits donc #RequireAdmin est nécessaire. Ce n'est pas franchement pratique pour l'utilisateur s'il y a besoin d'une élévation des droits à chaque lancement (avec l'UAC activé).
Tu pourrais peut-être l'installer dans le dossier de l'utilisateur. Je crois que des applications peuvent s'installer dans ce dossier ...\Users\Utilisateur\AppData\Local\Apps (ou autre chose), ce qui ne nécessite pas de droits administrateur.
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
Bonjour
Niveau 5
Niveau 5
Messages : 138
Enregistré le : ven. 06 juin 2014 08:27
Status : Hors ligne

Re: [..] Inclure des ressources dans l'exe

#20

Message par Bonjour »

Et sa serai quoi le macro @AppDataCommonDir ? @AppDataDir ? @LocalAppDataDir?
Répondre