// // BEGIN MOZILLA MPL // // Version: MPL 1.1/GPL 2.0/LGPL 2.1 // // The contents of this file are subject to the Mozilla Public License Version // 1.1 (the "License"); you may not use this file except in compliance with // the License. You may obtain a copy of the License at // http://www.mozilla.org/MPL/ // // Software distributed under the License is distributed on an "AS IS" basis, // WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License // for the specific language governing rights and limitations under the // License. // // The Original Code is Mozilla Browser code. // // The Initial Developer of the Original Code is // Mozilla Foundation // Portions created by the Initial Developer are Copyright (C) 2005 // the Initial Developer. All Rights Reserved. // // Contributor(s): // Flock Inc. // // Alternatively, the contents of this file may be used under the terms of // either of the GNU General Public License Version 2 or later (the "GPL"), // or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), // in which case the provisions of the GPL or the LGPL are applicable instead // of those above. If you wish to allow use of your version of this file only // under the terms of either the GPL or the LGPL, and not to allow others to // use your version of this file under the terms of the MPL, indicate your // decision by deleting the provisions above and replace them with the notice // and other provisions required by the GPL or the LGPL. If you do not delete // the provisions above, a recipient may use your version of this file under // the terms of any one of the MPL, the GPL or the LGPL. // // END MOZILLA MPL // function upgradeCleanup() { deleteThisFile("Program", "zlib.dll"); deleteThisFile("Program", "component.reg"); deleteThisFile("Components", "compreg.dat"); deleteThisFile("Components", "xpti.dat"); deleteThisFile("Components", "xptitemp.dat"); } // main var srDest; var err; var szUninstall; var fProgram; var fWindowsSystem; var fileComponentReg; var fileComponentRegStr; var fileMsvcrt; var fileMsvcirt; srDest = $SpaceRequired$:bin; err = initInstall("Mozilla XPCOM", "XPCOM", "$Version$"); logComment("initInstall: " + err); fProgram = getFolder("Program"); fWindowsSystem = getFolder("Win System"); logComment("fProgram: " + fProgram); // build the uninstall folder path szUninstall = fProgram + "Uninstall"; // Log component.reg file so it can be deleted by the uninstaller. // These two files are created after installation is done, thus // are normally not logged for uninstall. logComment("Installing: " + fProgram + "component.reg"); if(verifyDiskSpace(fProgram, srDest)) { setPackageFolder(fProgram); upgradeCleanup(); err = addDirectory("", "$Version$", "bin", // dir name in jar to extract fProgram, // Where to put this file (Returned from GetFolder) "", // subdir name to create relative to fProgram true); // Force Flag logComment("addDirectory() of Program returned: " + err); if( err == SUCCESS ) { // install msvcrt.dll *only* if it does not exist // we don't care if addFile() fails (if the file does not exist in the archive) // bacause it will still install fileMsvcrt = getFolder(fWindowsSystem, "msvcrt.dll"); rv = File.exists(fileMsvcrt); logComment("fileExists() returned: " + rv); if(rv == false) { logComment("File not found: " + fileMsvcrt); addFile("/Microsoft/Shared/msvcrt.dll", "$Version$", "msvcrt.dll", // dir name in jar to extract fWindowsSystem, // Where to put this file (Returned from getFolder) "", // subdir name to create relative to fProgram WIN_SHARED_FILE); logComment("addFile() of msvcrt.dll returned: " + err); } else { logComment("File found: " + fileMsvcrt); } // install msvcirt.dll *only* if it does not exist // we don't care if addFile() fails (if the file does not exist in the archive) // bacause it will still install fileMsvcirt = getFolder(fWindowsSystem, "msvcirt.dll"); rv = File.exists(fileMsvcirt); logComment("fileExists() returned: " + rv); if(rv == false) { logComment("File not found: " + fileMsvcirt); addFile("/Microsoft/Shared/msvcirt.dll", "$Version$", "msvcirt.dll", // dir name in jar to extract fWindowsSystem, // Where to put this file (Returned from getFolder) "", // subdir name to create relative to fProgram WIN_SHARED_FILE); logComment("addFile() of msvcirt.dll returned: " + err); } else { logComment("File found: " + fileMsvcirt); } } // check return value if( err == SUCCESS ) { err = performInstall(); logComment("performInstall() returned: " + err); } else cancelInstall(err); } else cancelInstall(INSUFFICIENT_DISK_SPACE); // end main