home *** CD-ROM | disk | FTP | other *** search
/ PC Professionell 2005 August / PCpro_2005_08.ISO / files / firefox / flashgot-0.5.9.6-fxmztb.xpi / install.js < prev    next >
Encoding:
Text File  |  2005-06-09  |  3.1 KB  |  86 lines

  1. const APP_DISPLAY_NAME = "FlashGot";
  2. const APP_NAME = "flashgot";
  3. const APP_PACKAGE = "/informaction/flashgot";
  4. const APP_VERSION = "0.5.9.6";
  5.  
  6. const APP_PREFS_FILE="defaults/preferences/flashgot.js";
  7. const APP_XPCOM_SERVICE="components/flashgotService.js";
  8. const APP_JAR_FILE = "flashgot.jar";
  9. const APP_CONTENT_FOLDER = "content/flashgot/";
  10. const APP_LOCALES = [
  11.   "it-IT","th-TH","de-DE","nl-NL", 
  12.   "ru-RU","es-ES","es-AR",
  13.   "hu-HU", "sv-SE","fr-FR",
  14.   "he-IL","tr-TR","sr-YU",
  15.   "zh-TW","zh-CN","el-GR",
  16.   "lt-LT","ja-JP","pl-PL",
  17.   "id-ID","cs-CZ","ko-KR",
  18.   "nb-NO","ro-RO","sk-SK",
  19.   "fa-IR","sl-SI","ar-JO",
  20.   "bg-BG","da-DK","pt-BR",
  21.   "pt-PT","sq-AL","en-US"
  22.   ];
  23.  
  24. const APP_SUCCESS_MESSAGE = APP_DISPLAY_NAME+" should now be available on the context menu when you restart Mozilla.";
  25.  
  26. const INST_TO_PROFILE = "Do you wish to install "+APP_DISPLAY_NAME+" to your profile?\nThis will mean it does not need reinstalling when you update Mozilla.\n(Click Cancel if you want "+APP_DISPLAY_NAME+" installing to the Mozilla directory.)";
  27.  
  28.  
  29. var err;
  30. initInstall(APP_NAME, APP_PACKAGE, APP_VERSION);
  31.  
  32. // profile installs only work since 2003-03-06
  33. var instToProfile = (buildID>2003030600 && confirm(INST_TO_PROFILE));
  34.  
  35. var chromef = instToProfile ? getFolder("Profile", "chrome") : getFolder("chrome");
  36. err = addFile(APP_PACKAGE, APP_VERSION, "chrome/" + APP_JAR_FILE, chromef, null);
  37.  
  38.  
  39. if(err == SUCCESS) {
  40.   const prefDirs=[
  41.     getFolder(getFolder("Profile"),"pref"),
  42.     getFolder(getFolder(getFolder("Program"),"defaults"),"pref")
  43.     ];
  44.   for(var j=prefDirs.length; j-->0;) {
  45.     var prefDir=prefDirs[j];
  46.     if(!File.exists(prefDir)) {
  47.       File.dirCreate(prefDir);
  48.     }
  49.     err = addFile(APP_PACKAGE, APP_VERSION,  APP_PREFS_FILE, prefDir, null, true);
  50.     logComment("Adding "+APP_PREFS_FILE+" in "+prefDir+": exit code = "+err);
  51.   }
  52. }
  53.  
  54. if(err == SUCCESS) {
  55.     var jar = getFolder(chromef, APP_JAR_FILE);
  56.     const chromeFlag=instToProfile?PROFILE_CHROME:DELAYED_CHROME;
  57.  
  58.   registerChrome(CONTENT | chromeFlag, jar, APP_CONTENT_FOLDER);
  59.   var localesCount=APP_LOCALES.length;
  60.   if(localesCount>0) {
  61.     registerChrome(LOCALE | chromeFlag, jar, "content/flashgot/"+APP_LOCALES[--localesCount]+"/");
  62.     while(localesCount-- >0) {
  63.       registerChrome(LOCALE  | chromeFlag, jar, "locale/"+APP_LOCALES[localesCount]+"/flashgot/");
  64.     }
  65.   }
  66.   registerChrome(SKIN | chromeFlag, jar, "skin/classic/flashgot/");
  67.   
  68.   var componentsDir = getFolder("Components");
  69.   
  70.   addFile(APP_PACKAGE,APP_VERSION,APP_XPCOM_SERVICE,componentsDir,null,true);
  71.   addFile(APP_NAME, "components/.autoreg", getFolder("Program"), "");
  72.   
  73.   err = performInstall();
  74.   if(err == SUCCESS || err == 999) {
  75.     alert(APP_DISPLAY_NAME+" "+APP_VERSION+" has been succesfully installed.\n"+APP_SUCCESS_MESSAGE);
  76.   } else {
  77.     alert("Install failed!!! Error code:" + err);
  78.     cancelInstall(err);
  79.   }
  80.   } else {
  81.   alert("Failed to create " +APP_JAR_FILE +"\n"
  82.     +"You probably don't have appropriate permissions \n"
  83.     +"(write access to your profile or chrome directory). \n"
  84.     +"_____________________________\nError code:" + err);
  85.   cancelInstall(err);
  86.   }