Forums : Extensions

Aller à la discussion :  Plus récente Plus ancienne

# lancement a partir d'un jar

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

# Re: lancement a partir d'un jar

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 )

# Re: lancement a partir d'un jar

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?

# Re: lancement a partir d'un jar

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.

# Re: lancement a partir d'un jar

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

# Re: lancement a partir d'un jar

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 :)

# Re: lancement a partir d'un jar

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.