[UDF] 7-Zip avec Dll x32 et x64
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.
- Tlem
- Site Admin
- Messages : 11776
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [UDF] 7-Zip avec Dll x32 et x64
Comme je l'ai dit sur le forum Anglais, après une semaine (19 téléchargements ) il est frustrant de n'avoir aucun retour sur cet UDF qui apporte quand même le support 64 Bit et un correctif sur les nouvelles archive ZIP !!!
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: [UDF] 7-Zip avec Dll x32 et x64
Bonjour,
Et tout d'abord un grand merci pour ton travail, impressionnant !
Je suis vraiment débutant sur autoit (1 semaine à peine) mais je trouve ce produit génial, j'ai créé un script pour déployer nos applications, on à des .zip (releases) dans un dossier mis à jour par svn et je les extrait avec 7Zip.au3, ça marche bien à partir du script mais après avoir compilé et lancé l'executable je tombe sur le message d'erreur.
J'ai essayé de mettre les dll à la fois dans le même dossier et dans le dossier Temp mais ça ne change rien. Une idée ?
Voici mon script:
Et tout d'abord un grand merci pour ton travail, impressionnant !
Je suis vraiment débutant sur autoit (1 semaine à peine) mais je trouve ce produit génial, j'ai créé un script pour déployer nos applications, on à des .zip (releases) dans un dossier mis à jour par svn et je les extrait avec 7Zip.au3, ça marche bien à partir du script mais après avoir compilé et lancé l'executable je tombe sur le message d'erreur.
J'ai essayé de mettre les dll à la fois dans le même dossier et dans le dossier Temp mais ça ne change rien. Une idée ?
Voici mon script:
► Afficher le texte
Re: [UDF] 7-Zip avec Dll x32 et x64
Pour contourner mon problème et étant donné que 7zip est déjà installé sur tous les postes j'ai fini par remplacer par
Bon c'est un contournement mais au moins je peux faire mon exe.
Code : Tout sélectionner
$retResult = _7ZIPExtractEx(0, $sArchive, $sOutDir, 0, 1)
Code : Tout sélectionner
RunWait('"C:\Program Files\7-Zip\7zg.exe" x "' & $sArchive & '" -y -o"' & $sOutDir & '"')
- Tlem
- Site Admin
- Messages : 11776
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [UDF] 7-Zip avec Dll x32 et x64
C'est un contournement qui ne fonctionnera que sur les OS 32 bit !!!
J'aimerais bien avoir le message d'erreur SVP.
Edit : Pour le message d'erreur, vous avez oublié de lire ceci :
Edit : Pour le message d'erreur, vous avez oublié de lire ceci :
** De part l'ajout des fonctions _7ZipStartup et _7ZipShutdown, vous devrez probablement
mettre à jour les anciens codes qui utilisent les fonctions répétitives.
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: [UDF] 7-Zip avec Dll x32 et x64
Oui effectivement, merci de le souligner, je devrais faire des tests au préalable et utiliser %ProgramFiles% ou %programfiles(x86)%Tlem a écrit :C'est un contournement qui ne fonctionnera que sur les OS 32 bit !!!
J'aimerais bien avoir le message d'erreur SVP.
J'ai un peu du mal à retrouver le bout de code qui utilise une fonction répétitive, pouvez-vous m'éclairer ?Tlem a écrit :Edit : Pour le message d'erreur, vous avez oublié de lire ceci :** De part l'ajout des fonctions _7ZipStartup et _7ZipShutdown, vous devrez probablement
mettre à jour les anciens codes qui utilisent les fonctions répétitives.
Merci pour votre réponse.
- Tlem
- Site Admin
- Messages : 11776
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [UDF] 7-Zip avec Dll x32 et x64
_7ZipStartup et _7ZipShutdown permettent de charger ou décharger la dll. Donc, soit vous avez une seule commande à lancer et dans ce cas vous commencez par _7ZipStartup, puis votre commande de l'UDF 7Zip et vous finissez par _7ZipShutdown (sauf pour certaines commandes prévues pour fonctionner de manière autonome car elles chargent la dll si elle n'est pas déjà ouverte), soit votre script doit lancer plusieurs commandes de l'UDF 7zip et dans ce cas vous commencez votre script par _7ZipStartup puis votre code qui utilise les commandes 7zip de l'UDF et quand vous quittez votre script, utilisez _7ZipShutdown pour fermer la dll.
En espérant que cela soit plus clair.
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: [UDF] 7-Zip avec Dll x32 et x64
A oui merci, c'est vraiment plus clair, c'est bien pensé ce chargement optimal de la dll, je testerai demain, merci encore
Re: [UDF] 7-Zip avec Dll x32 et x64
Bonjour,
J'ai trouvé d'où venait l'erreur une fois le fichier compilé dans l'utilisation de _7ZipStartup(), dans mon cas j'ai mon .exe avec les dll 7zip dans le même dossier, et la fonction FileInstall me déplace ces dll dans le Temp, je les ai donc mis en lecture seule.
ça ne fonctionne toujours pas, en effet la copie des dll vers Temp via FileInstall ne prend pas en compte une latence système, la dll est bien copiée mais le Return SetError(3, 0, 0) est envoyé trop vite ou bien c'est autre chose. Peut-être le Or _
En modifiant légèrement le code de 7Zip.au3 dans le Else (donc quand on compile) ça fonctionne.
J'ai trouvé d'où venait l'erreur une fois le fichier compilé dans l'utilisation de _7ZipStartup(), dans mon cas j'ai mon .exe avec les dll 7zip dans le même dossier, et la fonction FileInstall me déplace ces dll dans le Temp, je les ai donc mis en lecture seule.
ça ne fonctionne toujours pas, en effet la copie des dll vers Temp via FileInstall ne prend pas en compte une latence système, la dll est bien copiée mais le Return SetError(3, 0, 0) est envoyé trop vite ou bien c'est autre chose. Peut-être le Or _
En modifiant légèrement le code de 7Zip.au3 dans le Else (donc quand on compile) ça fonctionne.
► Afficher le texte
Modifié en dernier par babiol le ven. 19 oct. 2012 15:38, modifié 1 fois.
- Tlem
- Site Admin
- Messages : 11776
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [UDF] 7-Zip avec Dll x32 et x64
Correction prise en compte (de manière plus simple) et mise à jour du premier message. De plus cette suggestion évitera de décompresser inutilement la dll de l'autre architecture (j'aurais dut y penser avant ... ).
Merci babiol.
Merci babiol.
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: [UDF] 7-Zip avec Dll x32 et x64
Je vous en prie, par contre j'ai laissé une petite erreur qui ne se voit pas en compilation mais qui se voit quand on Run le au3 (F5), il faut apparement toujours faire des retours à la ligne après les Then et Else, sinon on a des message d'erreur dans SciTE, j'ai corrigé dans le code ci-dessus.
- Tlem
- Site Admin
- Messages : 11776
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [UDF] 7-Zip avec Dll x32 et x64
Je n'ai pas utilisé votre correction. J'ai fait bien plus simple ...
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: [UDF] 7-Zip avec Dll x32 et x64
quelqu'un sait ce qui pourrait poser problème.
j'ai téléchargé le package fournit a la page 1, décompressé le fichier sur mon pc
ajouté le chemin vers le dossier décompressé dans SciTE config (dans la partie User Includes)
et quand je test le script d'exemple ca ne marche pas
dans Scite Si je commence a taper _7Zip... il ne me propose aucune des fonction inclus dans l'udf (du coup j'ai l'impression que le 7zip.au3 n'est pas prise en compte dans sciTE)
j'ai aussi essayé de copié le fichier 7zip.au3 (et les dll) dans le répertoire include mais pas mieux
j'ai téléchargé le package fournit a la page 1, décompressé le fichier sur mon pc
ajouté le chemin vers le dossier décompressé dans SciTE config (dans la partie User Includes)
et quand je test le script d'exemple ca ne marche pas
Code : Tout sélectionner
#include <7Zip.au3>
; Compression d'un répertoire avec ses sous répertoires.
$retResult = _7ZipAdd(0, "MonArchive.zip", "C:\test")
If @error Then
MsgBox(64, "_7ZipAdd", "Erreur lors de la création de l'archive")
Else
MsgBox(64, "_7ZipAdd", "L'archive à été crée avec succés" & @LF & $retResult)
EndIf
j'ai aussi essayé de copié le fichier 7zip.au3 (et les dll) dans le répertoire include mais pas mieux
Re: [UDF] 7-Zip avec Dll x32 et x64
Premièrement il ne faut pas confondre l'autocompletion dans Scite et l'ajout d'un include.
Ce qu'il faut faire c'est soit copier l'include et les dlls dans le dossier de votre script et l'inclure avec #include "7Zip.au3" soit dans le dossier autoit/includes et l'inclure avec #include <7Zip.au3>
Ensuite si vous avez une erreur il faut nous la donner pour qu'on puisse vous aider
Ce qu'il faut faire c'est soit copier l'include et les dlls dans le dossier de votre script et l'inclure avec #include "7Zip.au3" soit dans le dossier autoit/includes et l'inclure avec #include <7Zip.au3>
Ensuite si vous avez une erreur il faut nous la donner pour qu'on puisse vous aider
Re: [UDF] 7-Zip avec Dll x32 et x64
timmalos a écrit :Premièrement il ne faut pas confondre l'autocompletion dans Scite et l'ajout d'un include.
Ce qu'il faut faire c'est soit copier l'include et les dlls dans le dossier de votre script et l'inclure avec #include "7Zip.au3" soit dans le dossier autoit/includes et l'inclure avec #include <7Zip.au3>
Ensuite si vous avez une erreur il faut nous la donner pour qu'on puisse vous aider
ah mince je pensais que l'autocompletion pouvait être un moyen de vérifier si les udf était bien prise en compte.
du coup j'ai testé les deux méthodes (udf dans includes et a coté de mon script) mais c'est la même chose j'ai une erreur "Erreur lors de la création de l'archive" dans le script donné juste avant
est ce que j'ai moyen de voir si les udf sont bien prise en compte dans sciTE ?
Re: [UDF] 7-Zip avec Dll x32 et x64
Si vous n'avez pas d'erreur de compilation ce qui semble être le cas, l'UDF est bien ajouté.
Remplacez
Par
Et donnez nous le numero de l'erreur
Remplacez
Code : Tout sélectionner
MsgBox(64, "_7ZipAdd", "Erreur lors de la création de l'archive")
Code : Tout sélectionner
MsgBox(64, "_7ZipAdd", "Erreur lors de la création de l'archive"& @error)
Re: [UDF] 7-Zip avec Dll x32 et x64
j'ai: Erreur lors de la création de l'archive2
Re: [UDF] 7-Zip avec Dll x32 et x64
Il n'arrive pas à ouvrir la DLL.
Celle-ci doit etre dans le même repertoire que votre script.
Verifiez que c'est bien le cas.
Essayez egalement les exemples qui sont dans le zip pour tester.
Celle-ci doit etre dans le même repertoire que votre script.
Verifiez que c'est bien le cas.
Essayez egalement les exemples qui sont dans le zip pour tester.
Re: [UDF] 7-Zip avec Dll x32 et x64
j'ai testé les exemples fournis avec et idem j'ai une erreur "enable to start dll"
pourtant elles sont bien au même endroit que mon script.
pourtant elles sont bien au même endroit que mon script.
- Tlem
- Site Admin
- Messages : 11776
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [UDF] 7-Zip avec Dll x32 et x64
Fonctionne parfaitement sur XP et W7 x64 avec AutoIt v3.3.8.0.
Fonction testée : _7ZipAdd_Example.au3
Fonction testée : _7ZipAdd_Example.au3
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: [UDF] 7-Zip avec Dll x32 et x64
j'ai testé chez moi les mêmes manip et ca marche...
doit y avoir quelque chose qui bloque sur le poste du taf mais quoi ?
ya pas de prérequis ou autre a avoir sur le poste pour que ca fonctionne ?
doit y avoir quelque chose qui bloque sur le poste du taf mais quoi ?
ya pas de prérequis ou autre a avoir sur le poste pour que ca fonctionne ?