Forums : Xul, Xbl, JS...

Aller à la discussion :  Plus récente Plus ancienne

# [Résolu] Pré-installer une Ext. pour XulRunner... mais pas dans /extensions/my_ext !

Envoyé par : Raphael

Date : 02/06/2008 18:48

Bonjour, j'aimerais pouvoir déployer une extension directement avec mon appli. XulRunner.

Je sais que ça marche bien en mettant le .xpi dans /extensions... mais ça ne me convient pas :

En effet, sous Linux, je package mon appli. en un beau petit .deb qui s'installe dans les répertoires systèmes classiques. Jusqu'ici tout va bien. Sauf que... et oui, il y a problème car à mon avis (pas testé, mais déjà eu des problèmes de ce genre avant), l'extension ne pourra pas s'installer (un simple dézippage à ce que j'ai vu ?) ni se mettre à jour car l'application ne sera pas lancé avec les droits suffisants pour écrire dans /extensions des fichiers systèmes !

Et oui, lorsque j'installe une extension a posteriori, aucun problème puisqu'elle s'installe dans le Profil utilisateur, un dossier caché du /home...

Mais lorsque je la pré-installe et qu'elle s'installe, elle se décompresse dans /extensions et pas dans /PROFIL/extensions, malheureusement...

Je ne sais donc pas trop comment m'y prendre :

  • Faire un Wizard lors du premier lancement de mon appli. installant mes .xpi dans mon profil ? D'ailleurs, puis-je faire appel à une fonction toute faite de XulRunner genre install("monextension.xpi") ou bien faut-il que je le fasse moi-même ? Est-ce qu'un dézippage suffit ou bien la procédure d'installation est-elle plus compliquée ? Genre ajout dans une base de registres de XR, un truc commme ça ?
  • Afficher une page Web qui fera installer les .xpi via des liens comme sur AMO ?
  • Autre méthode ? Genre spécifier que toutes les extensions doivent s'installer dans le Profil, même pour les pré-installées ?

Merci d'avance pour toute aide.

# Re: Pré-installer une Extension pour XulRunner... mais pas dans /extensions/my_ext !

Envoyé par : arno.

Date : 03/06/2008 19:16

Le plus simple, ce serait pas de faire un paquet (.deb) pour l'extension ?

# Re: Pré-installer une Extension pour XulRunner... mais pas dans /extensions/my_ext !

Envoyé par : Raphael

Date : 04/06/2008 07:01

Moui, mais en fait mon idéal serait de trouver une méthode de MAJ unique pour win/linux tout en gardant une installation simple.

Pour l'instant :

  • Win : .exe avec InnoSetup pour l'installation
  • Linux : .deb pour l'installation

Et pour les MAJ, je suis en train de porter totalement mon application sous forme d'extension pour pouvoir bénéficier des MAJ auto sous Win/Linux. J'ai fait quelques tests genre : Overlay d'une extension sur l'overlay d'une autre extension, et ça marche au poil.

Ainsi, j'aurai qu'à packager une MAJ d'extension pour MAJ toutes mes applis installées de part le monde. L'idée est de ne pas refaire un .deb pour Linux et un .exe (ou un .zip à DL puis décompresser) sous Windows.

De mon point de vue, l'utilisation d'un wizard au 1er démarrage me parait adapter, mais j'aimerais savoir si on peut utiliser des fonctions toutes faites pour l'installation de .xpi "manuellement" sans obliger l'utilisateur à passer par le gestionnaire de modules ?

# Re: Pré-installer une Extension pour XulRunner... mais pas dans /extensions/my_ext !

Envoyé par : Raphael

Date : 09/06/2008 20:59

J'y suis parvenu, j'ai trouvé une fonction bien sympathique qui me permet bien de préciser l'installation dans le Profil :

var file = Components.classes["@mozilla.org/file/directory_service;1"].getService(Components.interfaces.nsIProperties).get("CurProcD", Components.interfaces.nsILocalFile);
file.append("extension_test.xpi");
var em = Components.classes["@mozilla.org/extensions/manager;1"].getService(Components.interfaces.nsIExtensionManager);
em.installItemFromFile(file,"app-profile");

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.