Creare il file install.js

Autore: Omar De Donato
email: switch[at]gxware[dot]org
Versione documento: 1.0
Ultima modifica: 19 agosto 2004


In questa guida verrà spiegato come creare un file di installazione estensione (install.js). Questo può essere particolarmente utile per tutte quelle estensioni che non sono "fornite" di tale file e che quindi non possono essere installate su una versione di FireFox inferiore alla 0.9.x o su Mozilla Suite. Dopo aver creato un file vuoto, chiamato per l'occasione "install.js" occorrerà editarlo con un qualsiasi editor di testo, sia esso Blocco Note o EditPlus passando per UltraEdit.


Codice del file install.js

Il codice di un file di installazione js è abbastanza semplice da capire e completare, ovviamente vi proponiamo un codice pulito e che va totalmente riempito con i dati dell'estensione che volete ricompattare per poterla far partire su Mozilla Suite o FireFox < 0.9.x
Il file in questione conterrà queste stringhe:
	
/* ***************
Desc: Installation script For Mozilla Suite, Firefox prior to 0.9
Author: eXtenzilla.it (info@eXtenZilla.it)
****************** */
const author              = "Autore";
const contributor         = "Chi ha contribuito alla realizzazione";
const displayName         = "Nome esetnsione visualizzato";
const name                = "nomeestensone";
const version             = "versione";
var contentFlag           = CONTENT | PROFILE_CHROME;
var error                 = null;
var folder                = getFolder("Profile", "chrome");
var localeFlag            = LOCALE | PROFILE_CHROME;
var skinFlag              = SKIN | PROFILE_CHROME;
var jarName               = name + ".jar";
var existsInApplication   = File.exists(getFolder(getFolder("chrome"), jarName));
var existsInProfile       = File.exists(getFolder(folder, jarName));
const SUCCESS_MESSAGE     = " e' stato installato correttamente";

initInstall(displayName, name, version);

// If the extension exists in the application folder or it doesn't 
//exist in the profile folder and the user doesn't want it installed
//to the profile folder 

if(existsInApplication || (!existsInProfile && !confirm("Vuoi installare questa estensione nella cartella
del tuo profilo?\n(Premendo Cancel questa estensione verra' installata nella cartella principale del tuo
Browser)")))
{
    contentFlag = CONTENT | DELAYED_CHROME;
    folder      = getFolder("chrome");
    localeFlag  = LOCALE | DELAYED_CHROME;
    skinFlag    = SKIN | DELAYED_CHROME;
}

setPackageFolder(folder);
error = addFile(author, version, 'chrome/' + jarName, folder, null);
// If adding the JAR file succeeded
if(error == SUCCESS)
{
    folder = getFolder(folder, jarName);
    registerChrome(contentFlag, folder, "content/nomeestensione/");
    registerChrome(localeFlag, folder, "locale/en-US/nomeestensione/");
    registerChrome(localeFlag, folder, "locale/it-IT/nomeestensione/");   
    registerChrome(skinFlag, folder, "skin/classic/nomeestensione/");

    error = performInstall();

    // If the install failed
    if(error == SUCCESS || error == 999)
    {
      alert(displayName+" "+version+" e' stata installata con successo.\n");
    }else{
      alert("Installazione non riuscita. Codice errore:" + error);
      cancelInstall(error);
    }
}
else
{
   alert("L'installazione della estensione non e' riuscita.\n" + error + "\n Non sono riuscito a creare "
   +jarName+ " \n"+"Controlla di avere tutti i permessi per effettuare tale operazione");		   
cancelInstall(error);
}
  



Valid HTML 4.01!


Copyright e regole di pubblicazione

Creative Commons License

This work is licensed under a Creative Commons License.