home *** CD-ROM | disk | FTP | other *** search
- // this function verifies disk space in kilobytes
- function verifyDiskSpace(dirPath, spaceRequired)
- {
- var spaceAvailable;
-
- // Get the available disk space on the given path
- spaceAvailable = fileGetDiskSpaceAvailable(dirPath);
-
- // Convert the available disk space into kilobytes
- spaceAvailable = parseInt(spaceAvailable / 1024);
-
- // do the verification
- if(spaceAvailable < spaceRequired)
- {
- logComment("Insufficient disk space: " + dirPath);
- logComment(" required : " + spaceRequired + " K");
- logComment(" available: " + spaceAvailable + " K");
- return(false);
- }
-
- return(true);
- }
-
- // this function deletes a file if it exists
- function deleteThisFile(dirKey, file)
- {
- var fFileToDelete;
-
- fFileToDelete = getFolder(dirKey, file);
- logComment("File to delete: " + fFileToDelete);
- if(File.isFile(fFileToDelete))
- {
- File.remove(fFileToDelete);
- return(true);
- }
- else
- return(false);
- }
-
- // this function deletes a folder if it exists
- function deleteThisFolder(dirKey, folder, recursiveDelete)
- {
- var fToDelete;
-
- if(typeof recursiveDelete == "undefined")
- recursiveDelete = true;
-
- fToDelete = getFolder(dirKey, folder);
- logComment("folder to delete: " + fToDelete);
- if(File.isDirectory(fToDelete))
- {
- File.dirRemove(fToDelete, recursiveDelete);
- return(true);
- }
- else
- return(false);
- }
-
- // OS type detection
- // which platform?
- function getPlatform()
- {
- var platformStr;
- var platformNode;
-
- if('platform' in Install)
- {
- platformStr = new String(Install.platform);
-
- if (!platformStr.search(/^Macintosh/))
- platformNode = 'mac';
- else if (!platformStr.search(/^Win/))
- platformNode = 'win';
- else
- platformNode = 'unix';
- }
- else
- {
- var fOSMac = getFolder("Mac System");
- var fOSWin = getFolder("Win System");
-
- logComment("fOSMac: " + fOSMac);
- logComment("fOSWin: " + fOSWin);
-
- if(fOSMac != null)
- platformNode = 'mac';
- else if(fOSWin != null)
- platformNode = 'win';
- else
- platformNode = 'unix';
- }
-
- return platformNode;
- }
-
-
- function upgradeCleanup()
- {
- // Obsolete files from Netscape 6.0 and Netscape 6.01 that
- // need to be cleaned up.
- deleteThisFile("Components", "DOMDataSource.shlb");
- deleteThisFile("Components", "PSMGlue.shlb");
- deleteThisFile("Components", "ucth.shlb");
- deleteThisFile("Program", "defaults/pref/config.js");
- deleteThisFile("Program", "defaults/pref/initpref.js");
- deleteThisFile("Program", "defaults/pref/macxprefs.js");
- deleteThisFile("Program", "defaults/wallet/URLFieldSchema.tbl");
- deleteThisFile("Program", "Essential Files/PSM.shlb");
- deleteThisFolder("Program", "psmdata");
- deleteThisFolder("Program", "res/samples");
- deleteThisFolder("Program", "res/throbber");
- }
-
- var srDest = 20805;
-
- var err = initInstall("Mozilla Navigator", "Browser", "1.1.0.2002082610");
- logComment("initInstall: " + err);
-
- var fProgram = getFolder("Program");
- logComment("fProgram: " + fProgram);
-
- if (verifyDiskSpace(fProgram, srDest))
- {
- // Call upgradeCleanup() before addDirectory() in case we accidentaly
- // delete files that we happen to be also installing. This way, if we do,
- // it will just get reinstalled. This is for safety measure.
- upgradeCleanup();
- err = addDirectory("Program",
- "1.1.0.2002082610",
- "viewer", // jar source folder
- fProgram, // target folder
- "", // target subdir
- true ); // force flag
-
- logComment("addDirectory() returned: " + err);
-
- var cf = getFolder("Chrome");
- registerChrome(CONTENT | DELAYED_CHROME, getFolder(cf,"toolkit.jar"),"content/global-platform/");
- registerChrome(CONTENT | DELAYED_CHROME, getFolder(cf,"comm.jar"),"content/communicator-platform/");
- registerChrome(CONTENT | DELAYED_CHROME, getFolder(cf,"comm.jar"),"content/navigator-platform/");
-
- registerChrome(CONTENT | DELAYED_CHROME, getFolder(cf,"toolkit.jar"),"content/global-region/");
- registerChrome(CONTENT | DELAYED_CHROME, getFolder(cf,"comm.jar"),"content/communicator-region/");
- registerChrome(CONTENT | DELAYED_CHROME, getFolder(cf,"comm.jar"),"content/editor-region/");
- registerChrome(CONTENT | DELAYED_CHROME, getFolder(cf,"comm.jar"),"content/navigator-region/");
-
- registerChrome(CONTENT | DELAYED_CHROME, getFolder(cf,"toolkit.jar"),"content/global/");
- registerChrome(CONTENT | DELAYED_CHROME, getFolder(cf,"comm.jar"),"content/autoconfig/");
- registerChrome(CONTENT | DELAYED_CHROME, getFolder(cf,"comm.jar"),"content/cookie/");
- registerChrome(CONTENT | DELAYED_CHROME, getFolder(cf,"comm.jar"),"content/wallet/");
- registerChrome(CONTENT | DELAYED_CHROME, getFolder(cf,"content-packs.jar"),"content/content-packs/");
- registerChrome(CONTENT | DELAYED_CHROME, getFolder(cf,"comm.jar"),"content/communicator/");
- registerChrome(CONTENT | DELAYED_CHROME, getFolder(cf,"comm.jar"),"content/editor/");
- registerChrome(CONTENT | DELAYED_CHROME, getFolder(cf,"comm.jar"),"content/navigator/");
- registerChrome(CONTENT | DELAYED_CHROME, getFolder(cf,"comm.jar"),"content/necko/");
- registerChrome(CONTENT | DELAYED_CHROME, getFolder(cf,"comm.jar"),"content/mozldap/");
- registerChrome(CONTENT | DELAYED_CHROME, getFolder(cf, "forms.jar"),"content/forms/");
- registerChrome(SKIN | DELAYED_CHROME, getFolder(cf, "forms.jar"),"skin/classic/forms/");
- registerChrome(SKIN | DELAYED_CHROME, getFolder(cf,"classic.jar"),"skin/classic/communicator/");
- registerChrome(SKIN | DELAYED_CHROME, getFolder(cf,"classic.jar"),"skin/classic/editor/");
- registerChrome(SKIN | DELAYED_CHROME, getFolder(cf,"classic.jar"),"skin/classic/global/");
- registerChrome(SKIN | DELAYED_CHROME, getFolder(cf,"classic.jar"),"skin/classic/messenger/");
- registerChrome(SKIN | DELAYED_CHROME, getFolder(cf,"classic.jar"),"skin/classic/navigator/");
- registerChrome(SKIN | DELAYED_CHROME, getFolder(cf,"modern.jar"),"skin/modern/communicator/");
- registerChrome(SKIN | DELAYED_CHROME, getFolder(cf,"modern.jar"),"skin/modern/editor/");
- registerChrome(SKIN | DELAYED_CHROME, getFolder(cf,"modern.jar"),"skin/modern/global/");
- registerChrome(SKIN | DELAYED_CHROME, getFolder(cf,"modern.jar"),"skin/modern/messenger/");
- registerChrome(SKIN | DELAYED_CHROME, getFolder(cf,"modern.jar"),"skin/modern/navigator/");
- registerChrome(CONTENT | DELAYED_CHROME, getFolder(cf,"help.jar"),"content/help/");
- registerChrome(CONTENT | DELAYED_CHROME, getFolder(cf,"pippki.jar"), "content/pippki/");
- registerChrome(CONTENT | DELAYED_CHROME, getFolder(cf,"pipnss.jar"), "content/pipnss/");
- registerChrome(CONTENT | DELAYED_CHROME, getFolder(cf,"comm.jar"),"content/xbl-marquee/");
-
- // make an alias to the browser on the desktop
- var desktopFolder = getFolder("Mac Desktop");
- var ignoreErr = fileMacAlias(fProgram, "Mozilla", // source
- desktopFolder, "Mozilla"); // target
- logComment("fileMacAlias() returned: " + ignoreErr);
-
- if (err==SUCCESS)
- {
- err = performInstall();
- logComment("performInstall() returned: " + err);
- if (! ('buildID' in Install))
- {
- logComment("Running Pre-Mozilla 0.9.1");
- initInstall("Post-install Cleanup Utility", "Browser/xpicleanup", "1.1.0.2002082610");
- fEssentialFiles = getFolder(fProgram, "Essential Files");
- cleanupUtility = getFolder(fEssentialFiles, "XPICleanup");
- err = File.execute(cleanupUtility);
- logComment("execute() returned: " + err);
- err = performInstall();
- }
- }
- else
- {
- cancelInstall(err);
- logComment("cancelInstall() due to error: " + err);
- }
- }
- else
- cancelInstall(INSUFFICIENT_DISK_SPACE);
-