home *** CD-ROM | disk | FTP | other *** search
/ Chip 2004 April / Chip_2004-04_cd1.bin / tema / mozilla / skin / ieskin-0.0.3-IE5.5-skinVersion1.5.xpi / install.js < prev    next >
Text File  |  2004-01-16  |  4KB  |  130 lines

  1. var fileName = "ieskin";
  2.  
  3. var themeName = "Internet Explorer 5.5 Skin";
  4.  
  5. var themeVersion = "0.0.3";
  6.  
  7. // this function verifies disk space in kilobytes
  8. function verifyDiskSpace(dirPath, spaceRequired)
  9. {
  10.   var spaceAvailable;
  11.  
  12.   // Get the available disk space on the given path
  13.   spaceAvailable = fileGetDiskSpaceAvailable(dirPath);
  14.  
  15.   // Convert the available disk space into kilobytes
  16.   spaceAvailable = parseInt(spaceAvailable / 1024);
  17.  
  18.   // do the verification
  19.   if(spaceAvailable < spaceRequired)
  20.   {
  21.     logComment("Insufficient disk space: " + dirPath);
  22.     logComment("  required : " + spaceRequired + " K");
  23.     logComment("  available: " + spaceAvailable + " K");
  24.     return(false);
  25.   }
  26.  
  27.   return(true);
  28. }
  29.  
  30. var srDest = 300;
  31. var err;
  32. var fChrome;
  33.  
  34. var chromeNode = themeName + "/" + themeVersion;
  35. // --- END LOCALIZABLE RESOURCES ---
  36. var regName    = "skins/mozilla/" + chromeNode;
  37. var chromeName = fileName + ".jar";
  38.  
  39. err = initInstall(themeName, regName, themeVersion); 
  40. logComment("initInstall: " + err);
  41.  
  42. var messages = loadResources("install.properties");
  43.  
  44. fChrome = getFolder("Chrome");
  45. logComment("fChrome: " + fChrome);
  46.  
  47. if (verifyDiskSpace(fChrome, srDest))
  48. {
  49.     var chromeType = SKIN;
  50.  
  51.     if (confirm(messages.install_opt_en))
  52.     {
  53.         logComment("attempting to install globally");
  54.         err = addFile(themeName, chromeName, fChrome, "");
  55.         logComment("addFile() returned: " + err);
  56.  
  57.         if (err != SUCCESS)
  58.         {
  59.             logComment("addFile() to " + fChrome + "failed!");
  60.  
  61.             // couldn't install globally, try installing to the profile
  62.  
  63.             resetError();
  64.             chromeType |= PROFILE_CHROME;
  65.             fChrome = getFolder(getFolder("Profile"),"chrome");
  66.             logComment("try installing to the user profile:" + fChrome);
  67.             err = addFile(themeName, chromeName, fChrome, "");
  68.         }
  69.     }
  70.     else
  71.     {
  72.         logComment("attempting to install locally");
  73.         chromeType |= PROFILE_CHROME;
  74.         fChrome = getFolder(getFolder("Profile"),"chrome");
  75.         err = addFile(themeName, chromeName, fChrome, "");
  76.  
  77.     }
  78.  
  79.     setPackageFolder(fChrome);
  80.  
  81.     // check return value
  82.     if ((err == SUCCESS) || (err == REBOOT_NEEDED))
  83.     {
  84.         var tellReboot = 0;
  85.         if (err == REBOOT_NEEDED) {
  86.            tellReboot = 1;
  87.            resetError();
  88.         }
  89.         // register chrome
  90.         var cf = getFolder(fChrome, chromeName);
  91.  
  92.         registerChrome(chromeType, cf, "");
  93.  
  94.         err = performInstall(); 
  95.         logComment("performInstall() returned: " + err);
  96.         if (err == REBOOT_NEEDED) {
  97.            tellReboot = 1;
  98.            resetError();
  99.         }
  100.         if (err == SUCCESS)
  101.         {
  102.            if (tellReboot == 1)
  103.            {
  104.                alert(themeName + " " + messages.success_reboot_en);
  105.            }
  106.            else
  107.            {
  108.                alert(themeName + " " +  messages.success_en);
  109.            }
  110.         }
  111.         else
  112.         {
  113.                alert(themeName + " " +  messages.fail_en + " " +  err);
  114.         }
  115.     }
  116.     else
  117.     {
  118.         cancelInstall(err);
  119.         logComment("cancelInstall due to error: " + err);
  120.         if (err == -202) {
  121.            alert(themeName + " " +  messages.cancel_202_en + " " +  err);
  122.         }
  123.         else {
  124.            alert(themeName + " " +  messages.cancel_en + " " +  err);
  125.         }
  126.     }
  127. }
  128. else
  129.     cancelInstall(INSUFFICIENT_DISK_SPACE);
  130.