[R] Inclure des ressources dans l'exe
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
[R] Inclure des ressources dans l'exe
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.
Re: [..] Inclure des ressources dans l'exe
Pas directement.
Voir l'UDF Resources.au3
Voir l'UDF Resources.au3
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Re: [..] Inclure des ressources dans l'exe
OK mais je n'y arrive pas tu pourrais faire un tuto STP
Re: [..] Inclure des ressources dans l'exe
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 ?
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 !
- Tlem
- Site Admin

- Messages : 11818
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [..] Inclure des ressources dans l'exe
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.
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é".
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é".
Re: [..] Inclure des ressources dans l'exe
ok je vais voir
Re: [..] Inclure des ressources dans l'exe
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 ?
- Tlem
- Site Admin

- Messages : 11818
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [..] Inclure des ressources dans l'exe
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.
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é".
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é".
Re: [..] Inclure des ressources dans l'exe
Ok je crois que j'ai compris je testerai tout à l'heure merci 
Re: [..] Inclure des ressources dans l'exe
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 ?
- orax
- Modérateur

- Messages : 1479
- Enregistré le : lun. 23 mars 2009 04:50
- Localisation : ::1
- Status : Hors ligne
Re: [..] Inclure des ressources dans l'exe
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().
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)
Re: [..] Inclure des ressources dans l'exe
L'idée est bonne mais je crois que le premier argument de fileinstall ne doit pas etre une variable ou une fonction
Re: [..] Inclure des ressources dans l'exe
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
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 !
Re: [..] Inclure des ressources dans l'exe
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:
Et ma deuxieme question est
Si je passe le prog à un amis est ce que je dois mettre #RequireAdmin ?
Par sécurité j'ai remplacé @ScriptDir par @ProgramFilesDir dans chaque destination sauf que sa à pour effet que les fichiers ne se creer plus
► Afficher le texte
Si je passe le prog à un amis est ce que je dois mettre #RequireAdmin ?
Re: [..] Inclure des ressources dans l'exe
Bon j'ai trouver la réponse à la première question 
Re: [..] Inclure des ressources dans l'exe
DirCreate(@ProgramFilesDir & '\*perso*\') ???
C'est qui ces wildcards ? Ca peut pas marcher
C'est qui ces wildcards ? Ca peut pas marcher
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Re: [..] Inclure des ressources dans l'exe
Non en fait j'ai mis *perso* pour remplacer les information privées
- TommyDDR
- Modérateur

- Messages : 2127
- Enregistré le : mar. 22 juil. 2008 21:55
- Localisation : Nantes
- Status : Hors ligne
Re: [..] Inclure des ressources dans l'exe
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
- orax
- Modérateur

- Messages : 1479
- Enregistré le : lun. 23 mars 2009 04:50
- Localisation : ::1
- Status : Hors ligne
Re: [..] Inclure des ressources dans l'exe
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é).Bonjour a écrit :Et ma deuxieme question est
Si je passe le prog à un amis est ce que je dois mettre #RequireAdmin ?
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)
Re: [..] Inclure des ressources dans l'exe
Et sa serai quoi le macro @AppDataCommonDir ? @AppDataDir ? @LocalAppDataDir?

