Écrit par Neil Deakin
,
mise à jour par les contributeurs à MDC
.
Traduit par Alain B. (04/04/2007).
Page originale :
http://developer.mozilla.org/en/docs/XUL_Tutorial/Additional_Install_Features
Attention : Ce tutoriel est ancien et n'est pas mis à jour. Bien que beaucoup d'informations soient encore valables pour les dernières versions de gecko, beaucoup sont aussi obsolètes. Il est préférable d'aller consulter cette page sur la version française de ce tutoriel sur developer.mozilla.org.
NdT : Attention, cette section décrit le mécanisme XPInstall propre à la suite Mozilla et à des versions anciennes de Mozilla Firefox. Pour les versions récentes de Mozilla Firefox, ce mode d'installation n'est plus le même, mais il n'est pas encore décrit dans ce tutoriel. Voir comment faire des extensions pour firefox sur xulfr.org.
Cette section décrit quelques spécificités supplémentaires des programmes d'installation.
La section précédente décrivait un programme d'installation simple. Vous pouvez souhaiter réaliser quelques opérations plus élaborées pendant l'installation. Par exemple, vous voulez installer un paquetage seulement si certaines conditions sont réunies, comme d'avoir une librairie particulière installée.
En complément de l'objet Install
, l'objet File
est également disponible pendant le script d'installation. Il fournit
quelques fonctions qui peuvent être employées pour examiner
et modifier des fichiers sur le disque. Vous pouvez les utiliser pour déplacer,
copier ou effacer des fichiers avant ou après que les fichiers
du paquetage soient installés. Par exemple, vous voulez peut être
faire une sauvegarde de quelques fichiers d'abord.
Le code ci dessous fera une copie du fichier "/bin/grep" dans le répertoire "/main".
var binFolder=getFolder("file:///","bin");
var grep=getFolder(binFolder,"grep");
var mainFolder=getFolder("file:///","main");
File.copy(grep,mainFolder);
Des fonctions
existent également pour déplacer (move()
), renommer (rename()
) et
exécuter (execute()
) des fichiers. Ainsi, vous pouvez déplacer des
fichiers qui peuvent se trouver en conflit avec votre paquetage.
Vous voulez certainement intercepter d'éventuelles erreurs proprement. Elles peuvent se produire si un fichier ou un répertoire ne peut pas être trouvé, si la capacité du disque n'est pas suffisant ou pour toutes autres raisons.
Il vous suffit d'appeler la fonction getLastError()
pour
déterminer si une erreur a été rencontrée. Si
elle renvoie SUCCESS, aucune erreur ne s'est produite. Autrement,
elle renvoie un nombre qui indique le code d'erreur. Vous pouvez appeler
cette fonction en tout point de votre script d'installation pour déterminer
si une erreur est survenue lors de la dernière opération effectuée.
Si une erreur se produit, vous voulez sûrement interrompre l'installation. Vous pouvez également vouloir afficher un message d'erreur pour l'utilisateur. Par exemple, vous pourriez mettre le script suivant à la fin de votre script d'installation :
if (getLastError() == SUCCESS){
performInstall();
}
else {
cancelInstall();
}
Les codes d'erreurs susceptibles d'être renvoyés par la fonction
getLastError()
sont listés dans le fichier source
de Mozilla nsInstall.h.
Pendant l'installation, un suivi d'événements contenant les
opérations réalisées est créé. Il contiendra
également toutes les erreurs qui se sont produites. Ces événements
peuvent être trouvés dans le fichier install.log dans le
répertoire d'installation de Mozilla. Un bloc de texte sera ajouté
à ce fichier à chaque installation effectuée.
La fonction logComment()
peut être utilisée
pour écrire un texte dans ce fichier d'événements.
Elle nécessite un seul argument qui est le contenu du texte.
Le Tutoriel XUL est terminé.
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.