Ce qui est explicité ci-dessous n'est peut-être pas la meilleure manière de faire, mais elle fonctionne ! Le terme MonExt est a remplacer par le nom de votre extension.
Il semble d'usage de stocker tous les fichiers d'une application (.xul et .js entre autres, avec contents.rdf) sont stockés dans l'arborescence suivante :
MonExt/chrome/MonExt/content/
Dans le répertoire racine MonExt doit exister un fichier s'appelant application.ini, dont voici un exemple de contenu :
[App] Vendor=company Name=applicationName Version=0.1 BuildID=20050506 [Gecko] MinVersion=1.8 MaxVersion=1.8
La valeur de chaque champ doit bien sûr être adapté à votre situation.
Dans le répertoire MonExt/chrome/doit être placé un fichier s'appelant chrome.manifest. Dans le cas qui nous occupe, ce fichier doit avoir le contenu suivant :
content MonExt file:MonExt/content/
Dans le répertoire MonExt/defaults/preferences doit se trouver un fichier nommé prefs.js dont le contenu sera le suivant :
pref("toolkit.defaultChromeURI", "chrome://MonExt/content/main.xul");
où main.xul est le nom de la page initiale de l'extension.
Pour lancer l'extension, il suffit de lancer la commande xulrunner avec le fichier application.ini correctement localisé comme argument.
Pour déployer l'application, on place généralement l'ensemble des fichiers dans un fichier .jar. Ce fichier est simplement une archive .zip du contenu de MonExt/chrome/MonExt/ renommée en .jar. On se retrouvera donc avec un fichier MonExt.jar dans le répertoire MonExt/chrome/. Il faut également remplacer le contenu du fichier chrome.manifest par ceci :
content MonExt jar:MonExt.jar!/content/
Il s'agit là de mettre en place le composant XPCOM proprement dit.
Dans le cadre de la compilation du composant XPCOM (voir http://zeusw.org/epeios/other/gecko/xpcom/compiling), en plus du composant proprement dit, sous forme de DLL, un fichier d'extension xpt est génèré. Ces deux fichiers doivent être placés dans le répertoire components de xulrunner.
Pour que xulrunner prenne en compte le composant, il faut faire un touch .autoreg dans le répertoire racine de l'installation de xulrunner.