Envoyé par : jdar
Date : 25/06/2007 17:10
salut, j'ai une extension qui lance un logiciel si je donne le lien absolu.
const path = "c:\\windows\\....\\test\\test.exe"; var file = Components.classes["@mozilla.org/file/local;1"] .createInstance(Components.interfaces.nsILocalFile); file.initWithPath(path); file.launch();
ce que je veux faire c'est lancer le fichier test.exe contenu dans chrome/content/test.jar
mais ca marche pas pour l'instant, j'ai essayé avec nsIJARURI mais je ne vois pas comment faire.
voici l'arborescence :
chrome.manifest
install.rdf
chrome/content/overlay.xul
chrome/content/test.jar (qui contient test.exe)
Merci d'avance
Envoyé par : Paul Rouget
Date : 25/06/2007 18:02
Tu ne peux pas avoir directement un fichier via un contenu jar, mais juste un stream. Donc tu dois l'extraire dans le tmp:
void extract ( char* zipEntry , nsIFile outFile )
Envoyé par : jdar
Date : 26/06/2007 15:32
Merci, j'ai essayé de faire ceci a l'aide de cet exemple : lien
sauf que dans mon cas je connais deja le fichier a extraire et sa destination (traitement automatique), donc pas besoin de nsIFilePicker.
j'ai donc changé le code comme ceci
function lireZip(){ const path = "C:\\...."; var file = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile) file.initWithPath(path); zipFile = file; var zip = Components.classes["@mozilla.org/libjar/zip-reader;1"].createInstance( Components.interfaces.nsIZipReader ); ... }
mais ca marche pas. des explication?
Envoyé par : thefab
Date : 26/06/2007 15:44
Qu'est-ce qui ne marche pas ? Des messages d'erreurs ?
Utilise des try/catch + dump() comme ça tu peux voir à chaque étape ce qui plante et nous fournir le message d'erreur car sans ça c'est difficile de t'aider.
Envoyé par : jdar
Date : 26/06/2007 16:16
finalement ca marche , je ne sais pas pourquoi ça plantait FF gardait ptetre certaine chose en memoire.
maintenant j'ai d"couvert un problème : l'arborescence n'est pas parcourue.
les sous dossiers ne sont pas dezippés, en fait rien n'est dezippé meme les fichier racines du .zip
une fois j'enleve les sous repertoires ca fonctionne, mais dés que je les remets j'ai un dossier destination vide.
pourtant dans l'exemple c'est dit que ca a été implementé.
qqn y voit qqch??
Merci
Envoyé par : Paul Rouget
Date : 26/06/2007 19:01
Tu as bien mis les try/catch comme le dit thefab ?
Sinon, c'est normal, il faut les créer toi même les répertoires, ils ne sont pas zippés :)
Envoyé par : jdar
Date : 28/06/2007 11:47
nickel, ca marche.
Merci
Il n'est plus possible de poster des messages dans ce forum.
Copyright © 2003-2013 association xulfr, 2013-2016 Laurent Jouanneau - Informations légales.
Mozilla® est une marque déposée de la fondation Mozilla.
Mozilla.org™, Firefox™, Thunderbird™, Mozilla Suite™ et XUL™
sont des marques de la fondation Mozilla.