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;
- }
-
- //This function does some registry cleanup specific to WinXP
- // Return value of true means that we are upgrading over a NS6.x installation.
- function xpCleanupRegistry(winreg)
- {
- var fFileToVerify;
- var fFromRegistry;
- var szN6ExePath;
- var sfpToExe;
- var sfpFromRegistry;
- var regkey;
- var subkey;
- var str1;
- var str2;
-
- fFileToVerify = getFolder("Program", "Netscp6.exe");
- if(File.isFile(fFileToVerify))
- {
- logComment("Found " + fFileToVerify + " so this is an upgrade over NS6.x");
-
- // We've got to turn 1) the path to the file which we found and
- // 2) the path in the registry into strings which can be compared,
- // taking into account the fact that either could be a shortened path.
- regkey = "SOFTWARE\\Clients\\StartMenuInternet\\NETSCP6.EXE";
- subkey = regkey + "\\shell\\open\\command";
- szFromRegistry = winreg.getValueString(subkey, "");
- fFromRegistry = getFolder("file:///", szFromRegistry);
- sfpToExe = File.windowsGetShortName(fFileToVerify);
- sfpFromRegistry = File.windowsGetShortName(fFromRegistry);
- str1 = new String(sfpToExe);
- str2 = new String(sfpFromRegistry);
- logComment("Comparing " + str1.toUpperCase() + " to " + str2.toUpperCase());
-
- if(str1.toUpperCase() == str2.toUpperCase())
- {
- winreg.deleteKey(regkey + "\\DefaultIcon");
- winreg.deleteKey(regkey + "\\shell\\open\\command");
- winreg.deleteKey(regkey + "\\shell\\open");
- winreg.deleteKey(regkey + "\\shell\\properties\\command");
- winreg.deleteKey(regkey + "\\shell\\properties");
- winreg.deleteKey(regkey + "\\shell");
- winreg.deleteKey(regkey);
- subkey = "SOFTWARE\\Clients\\StartMenuInternet";
- szFromRegistry = winreg.getValueString(subkey, "");
- str1 = new String(szFromRegistry);
- if(str1.toUpperCase() == "NETSCP6.EXE")
- err = winreg.setValueString(subkey, "", "Netscp.exe");
- }
-
- return(true);
- }
- else
- {
- logComment("Did not find file " + fFileToVerify + " so this is not an upgrade over NS6.x");
- return(false);
- }
- }
-
- function DeleteObsoleteShortcutsOnUpgrade()
- {
- var subkey;
- var szStartMenuPrograms;
- var szStartMenu;
- var szFolderDesktop;
- var winreg;
- var is_winnt;
- var keyVersion;
- var fFileToCheck;
- var fileFound;
- var t = InstallTrigger;
- var is6;
- var is62;
- var verNum;
-
- winreg = getWinRegistry();
- if(winreg != null)
- {
- /* determine if the script is running under NT or not */
- winreg.setRootKey(winreg.HKEY_LOCAL_MACHINE);
- subkey = "SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion";
- szCurrentVersion = winreg.getValueString(subkey, "CurrentVersion");
- logComment("szCurrentVersion: " + szCurrentVersion);
- if((szCurrentVersion == "") || (szCurrentVersion == null))
- {
- is_winnt = false;
- }
- else
- {
- is_winnt = true;
- }
-
- logComment("is_winnt value: " + is_winnt);
- if(!is_winnt || restrictedAccess)
- {
- winreg.setRootKey(winreg.HKEY_CURRENT_USER);
- subkey = "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders";
- szStartMenuPrograms = winreg.getValueString(subkey, "Programs");
- szStartMenu = winreg.getValueString(subkey, "Start Menu");
- szFolderDesktop = winreg.getValueString(subkey, "Desktop");
- }
- else
- {
- winreg.setRootKey(winreg.HKEY_LOCAL_MACHINE);
- subkey = "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders";
- szStartMenuPrograms = winreg.getValueString(subkey, "Common Programs");
- szStartMenu = winreg.getValueString(subkey, "Common Start Menu");
- szFolderDesktop = winreg.getValueString(subkey, "Common Desktop");
- }
-
- is6 = Math.abs(t.compareVersion("Browser","6.0")) < t.MINOR_DIFF ||
- Math.abs(t.compareVersion("Browser","6.10")) < t.MINOR_DIFF;
-
- is62 = Math.abs(t.compareVersion("Browser","6.2")) < t.MINOR_DIFF ||
- Math.abs(t.compareVersion("Browser","6.20")) < t.MINOR_DIFF;
-
- keyVersion = t.getVersion("Browser");
- logComment("Folder Desktop : " + szFolderDesktop);
- logComment("Folder StartMenuPrograms: " + szStartMenuPrograms);
- logComment("Folder StartMenu : " + szStartMenu);
- logComment("keyVersion : " + keyVersion);
- logComment("file to check : " + fFileToCheck);
- logComment("file to check found : " + fileFound);
- if(keyVersion != null)
- {
- verNum = "";
- if(is62)
- verNum = "6.2";
- else if(is6)
- verNum = "6";
- else
- return;
-
- logComment("Upgrading from " + verNum);
- deleteThisFile("file:///", szFolderDesktop + "\\Netscape " + verNum + ".lnk");
- deleteThisFile("file:///", szStartMenu + "\\Netscape SmartUpdate.lnk");
- deleteThisFile("file:///", szStartMenuPrograms + "\\Netscape " + verNum + "\\Netscape " + verNum + ".lnk");
- deleteThisFile("file:///", szStartMenuPrograms + "\\Netscape " + verNum + "\\Profile Manager.lnk");
- deleteThisFile("file:///", szStartMenuPrograms + "\\Netscape " + verNum + "\\Free Aol & Unlimited Internet.url");
- deleteThisFile("file:///", szStartMenuPrograms + "\\Netscape " + verNum + "\\Mail.lnk");
- deleteThisFolder("file:///", szStartMenuPrograms + "\\Netscape " + verNum, false);
- }
- }
- }
-
- function registerNetscape6Path(winreg, fFolderPath)
- {
- var subkey;
- var valname;
- var value;
- var err;
-
- subkey = "SOFTWARE\\Netscape";
- winreg.createKey(subkey,"");
-
- valname = "CurrentVersion";
- value = "7.02 (en)";
- subkey = "SOFTWARE\\Netscape\\Netscape 6";
- winreg.createKey(subkey,"");
- err = winreg.setValueString(subkey, valname, value);
-
- subkey = "SOFTWARE\\Netscape\\Netscape 6\\7.02 (en)";
- winreg.createKey(subkey,"");
-
- subkey = "SOFTWARE\\Netscape\\Netscape 6\\7.02 (en)\\Main";
- winreg.createKey(subkey,"");
-
- valname = "Program Folder Path";
- value = fFolderPath;
- err = winreg.setValueString(subkey, valname, value);
-
- valname = "Install Directory";
- value = fProgram;
- err = winreg.setValueString(subkey, valname, value);
-
- valname = "PathToExe";
- value = fProgram + "Netscp.exe";
- err = winreg.setValueString(subkey, valname, value);
- }
-
- function registerProgramFolderKey(winreg, fFolderPath)
- {
- var subkey;
- var valname;
- var value;
- var err;
-
- /* set the Program Folder Path in the Mozilla key in the Windows Registry */
- subkey = "SOFTWARE\\Netscape";
- winreg.createKey(subkey,"");
-
- valname = "CurrentVersion";
- subkey = "SOFTWARE\\Netscape\\Netscape";
- winreg.createKey(subkey,"");
-
- valname = "CurrentVersion";
- value = "7.02 (en)";
- err = winreg.setValueString(subkey, valname, value);
-
- subkey = "SOFTWARE\\Netscape\\Netscape\\7.02 (en)";
- winreg.createKey(subkey,"");
-
- subkey = "SOFTWARE\\Netscape\\Netscape\\7.02 (en)\\Main";
- winreg.createKey(subkey,"");
-
- valname = "Program Folder Path";
- value = fFolderPath;
- err = winreg.setValueString(subkey, valname, value);
- }
-
- function createShortcuts()
- {
- var subkey;
- var valname;
- var szStartMenuPrograms;
- var szStartMenu;
- var szFolderDesktop;
- var szFolderQuickLaunch;
- var szFolderSendTo;
- var szFolderAppData;
- var winreg;
- var fWindows;
- var fTemp;
- var fProgram;
- var fDefShortcuts;
- var fileExe;
- var fileProfileIcon;
- var fileComposerIcon;
- var fileHelpIcon;
- var scExeDesc;
- var scNavigatorDesc;
- var scProfileDesc;
- var scProfileParam;
- var scAddrBookDesc;
- var scAddrBookParam;
- var scComposerDesc;
- var scComposerParam;
- var scHelpDesc;
- var scHelpParam;
- var scFolderName;
- var szStartupFolder;
- var fFolderStartMenu;
- var fFolderDesktop;
- var fFolderPath;
- var fFolderPathStr;
- var fFolderQuickLaunch;
- var is_winnt;
- var szCurrentVersion;
- var folderQuickLaunchExists;
-
- winreg = getWinRegistry();
- fWindows = getFolder("Windows");
- fProgram = getFolder("Program");
- fDefShortcuts = getFolder("Program","defaults/shortcuts");
- fileExe = getFolder("Program", "Netscp.exe");
- fileProfileIcon = getFolder("Chrome", "icons/default/profileWindow.ico");
- fileAddrBookIcon = getFolder("Chrome", "icons/default/addressbookWindow.ico");
- fileComposerIcon = getFolder("Chrome", "icons/default/editorWindow.ico");
- fileHelpIcon = getFolder("Chrome", "icons/default/help.ico");
- scExeDesc = "Netscape 7.0";
- scNavigatorDesc = "Navigator";
- scProfileDesc = "Profile Manager";
- scProfileParam = "-ProfileManager";
- scAddrBookDesc = "Address Book";
- scAddrBookParam = "-addressbook";
- scComposerDesc = "Composer";
- scComposerParam = "-edit";
- scHelpDesc = "Help & Support";
- scHelpParam = "-chrome chrome://help/content";
- scFolderName = "Netscape 7.0";
- if(winreg != null)
- {
- /* determine if the script is running under NT or not */
- winreg.setRootKey(winreg.HKEY_LOCAL_MACHINE);
- subkey = "SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion";
- valname = "CurrentVersion";
- szCurrentVersion = winreg.getValueString(subkey, valname);
- logComment("szCurrentVersion: " + szCurrentVersion);
- if((szCurrentVersion == "") || (szCurrentVersion == null))
- {
- is_winnt = false;
- }
- else
- {
- is_winnt = true;
- }
-
- logComment("is_winnt value: " + is_winnt);
- if(!is_winnt || restrictedAccess)
- {
- winreg.setRootKey(winreg.HKEY_CURRENT_USER);
- subkey = "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders";
- szStartMenuPrograms = winreg.getValueString(subkey, "Programs");
- szStartMenu = winreg.getValueString(subkey, "Start Menu");
- szFolderDesktop = winreg.getValueString(subkey, "Desktop");
- szStartupFolder = winreg.getValueString(subkey, "Startup");
- }
- else
- {
- winreg.setRootKey(winreg.HKEY_LOCAL_MACHINE);
- subkey = "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders";
- szStartMenuPrograms = winreg.getValueString(subkey, "Common Programs");
- szStartMenu = winreg.getValueString(subkey, "Common Start Menu");
- szFolderDesktop = winreg.getValueString(subkey, "Common Desktop");
- szStartupFolder = winreg.getValueString(subkey, "Common Startup");
- }
-
- winreg.setRootKey(winreg.HKEY_CURRENT_USER);
- subkey = "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders";
- valname = "SendTo";
- szFolderSendTo = winreg.getValueString(subkey, valname);
-
- subkey = "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders";
- valname = "AppData";
- szFolderAppData = winreg.getValueString(subkey, valname);
-
- // locate the Quick Launch folder
- szFolderQuickLaunch = szFolderAppData + "\\Microsoft\\Internet Explorer\\Quick Launch";
- fFolderQuickLaunch = getFolder("file:///", szFolderQuickLaunch);
- folderQuickLaunchExists = File.isDirectory(fFolderQuickLaunch);
- if(!folderQuickLaunchExists)
- {
- subkey = "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\GrpConv\\MapGroups";
- valname = "Quick Launch";
- szFolderQuickLaunch = winreg.getValueString(subkey, valname);
- folderQuickLaunchExists = File.isDirectory(fFolderPath);
- if(folderQuickLaunchExists)
- fFolderQuickLaunch = getFolder("file:///", szFolderQuickLaunch);
- }
- logComment("folderQuickLaunchExists: " + folderQuickLaunchExists);
-
- subkey = "SOFTWARE\\Netscape\\Netscape\\7.02 (en)\\Main";
- valname = "Program Folder Path";
- fFolderPathStr = winreg.getValueString(subkey, valname);
- if((fFolderPathStr == "") || (fFolderPathStr == null))
- {
- fTemp = szStartMenuPrograms + "\\" + scFolderName;
- fFolderPath = getFolder("file:///", fTemp);
- }
- else
- {
- /* convert the path string to a path folder object */
- fFolderPath = getFolder("file:///", fFolderPathStr);
- }
-
- /* Convert path strings to a path folder objects */
- fFolderDesktop = getFolder("file:///", szFolderDesktop);
- fFolderStartMenu = getFolder("file:///", szStartMenu);
-
- logComment("Folder StartMenuPrograms: " + szStartMenuPrograms);
- logComment("Folder StartMenu : " + szStartMenu);
- logComment("Folder FolderDesktop : " + szFolderDesktop);
- logComment("Folder FolderSendTo : " + szFolderSendTo);
- logComment("Folder FolderQuickLaunch: " + szFolderQuickLaunch);
- logComment("fileExe : " + fileExe);
- logComment("fFolderPath : " + fFolderPath);
- logComment("fProgram : " + fProgram);
-
- /* explicitly create the fFolderPath even though the windowsShortcut function creates the folder.
- * This is so that the folder creation gets logged for uninstall to remove it. */
- if(!File.exists(fFolderPath))
- File.dirCreate(fFolderPath);
- if(!File.exists(fDefShortcuts))
- File.dirCreate(fDefShortcuts);
-
- /* create the shortcuts */
- File.windowsShortcut(fileExe, fFolderStartMenu, scExeDesc, fProgram, "", fileExe, 0);
- File.windowsShortcut(fileExe, fFolderDesktop, scExeDesc, fProgram, "", fileExe, 0);
- File.windowsShortcut(fileExe, fDefShortcuts, scExeDesc, fProgram, "", fileExe, 0);
- File.windowsShortcut(fileExe, fFolderPath, scNavigatorDesc,fProgram, "", fileExe, 0);
- File.windowsShortcut(fileExe, fFolderPath, scProfileDesc, fProgram, scProfileParam, fileProfileIcon, 0);
- File.windowsShortcut(fileExe, fFolderPath, scAddrBookDesc, fProgram, scAddrBookParam, fileAddrBookIcon, 0);
- File.windowsShortcut(fileExe, fFolderPath, scComposerDesc, fProgram, scComposerParam, fileComposerIcon, 0);
- File.windowsShortcut(fileExe, fFolderPath, scHelpDesc, fProgram, scHelpParam, fileHelpIcon, 0);
-
- // create shortcut in the Quick Launch folder
- if(folderQuickLaunchExists)
- File.windowsShortcut(fileExe, fFolderQuickLaunch, scExeDesc, fProgram, "", fileExe, 0);
-
- if(!restrictedAccess)
- {
- winreg.setRootKey(winreg.HKEY_LOCAL_MACHINE);
- registerProgramFolderKey(winreg, fFolderPath);
- registerNetscape6Path(winreg, fFolderPath);
- }
-
- winreg.setRootKey(winreg.HKEY_CURRENT_USER);
- registerProgramFolderKey(winreg, fFolderPath);
- registerNetscape6Path(winreg, fFolderPath);
-
- /* remove turbo mode shortcut */
-
- fFolderPath = getFolder("file:///", szStartupFolder);
-
- /* remove shortcut from the startup folder */
-
- basename = "Netscp.exe"
- fTemp = fFolderPath + basename + ".lnk";
- fFolderPath = getFolder("file:///", fTemp);
- if (File.exists(fFolderPath))
- {
- logComment("Removing Quick Launch shortcut from Windows startup folder\n");
- fileDelete(fFolderPath);
- }
-
- subkey = "SOFTWARE\\Netscape\\Netscape\\7.02 (en)\\Setup";
- valname = "browserargs";
- regvalue = winreg.getValueString(subkey, valname);
-
- /* log this so if the user turns on turbo mode in the browser the uninstaller will undo it */
- logComment( "store registry value string: HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Run [Mozilla Quick Launch]");
- if (regvalue && regvalue != undefined && regvalue.length != 0)
- {
- var value = new String(regvalue);
- var index = value.indexOf("turbo");
- if (index != -1)
- {
- var index2 = value.indexOf("=", index);
- if (index2 != -1)
- {
- turboarg = value.slice(index2 + 1, index2 + 2);
- winreg.setRootKey(winreg.HKEY_CURRENT_USER);
- subkey = "Software\\Microsoft\\Windows\\CurrentVersion\\Run";
- valname = "Mozilla Quick Launch";
-
- //Is aim set already?
- szSubKeyVal = winreg.getValueString(subkey, valname);
- value = new String(szSubKeyVal);
- index = value.indexOf("-aim");
- if(index == -1)
- bAimSet = false;
- else
- bAimSet = true;
-
- fTemp = fileExe;
- fileExe = getFolder("file:///", fTemp);
- if ( turboarg == "Y" || turboarg == "y")
- {
- newKey = '"' + fileExe + '"' + ' -turbo';
- if(bAimSet)
- newKey = newKey + ' -aim';
- else
- winreg.createKey(subkey,"");
- winreg.setValueString(subkey, valname, newKey);
- }
- else
- {
- if (bAimSet)
- {
- newKey = '"' + fileExe + '"' + ' -aim';
- winreg.setValueString(subkey, valname, newKey);
- }
- else
- winreg.deleteValue(subkey, valname);
- }
- }
- }
- }
- }
- else
- {
- logComment("winreg is null");
- }
- }
-
- function IsWinnt()
- {
- /* Determines if the script is running under NT or not.
- *
- */
- var winreg = getWinRegistry();
- var subkey;
- var valname;
- var szCurrentVersion;
-
- winreg.setRootKey(winreg.HKEY_LOCAL_MACHINE);
- subkey = "SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion";
- valname = "CurrentVersion";
- szCurrentVersion = winreg.getValueString(subkey, valname);
- logComment("szCurrentVersion: " + szCurrentVersion);
- if((szCurrentVersion == "") || (szCurrentVersion == null))
- {
- return false;
- }
- else
- {
- return true;
- }
- }
-
- function registerMainKeys(winreg)
- {
- var subkey; //the name of the subkey you are poking around in
- var valname; //the name of the value you want to look at
- var value; //the data in the value you want to look at.
- var err;
-
- subkey = "SOFTWARE\\Netscape";
- winreg.createKey(subkey,"");
-
- subkey = "SOFTWARE\\Netscape\\Netscape";
- winreg.createKey(subkey,"");
-
- valname = "CurrentVersion";
- value = "7.02 (en)";
- err = winreg.setValueString(subkey, valname, value);
-
- subkey = "SOFTWARE\\Netscape\\Netscape\\7.02 (en)";
- winreg.createKey(subkey,"");
-
- subkey = "SOFTWARE\\Netscape\\Netscape\\7.02 (en)\\Main";
- winreg.createKey(subkey,"");
-
- valname = "Install Directory";
- value = fProgram;
- err = winreg.setValueString(subkey, valname, value);
-
- // The following keys are required to be created to supply information
- // about the location of the Gecko Embedded Client to 3rd party apps.
- // "SOFTWARE\\Mozilla" must not be localized!
- subkey = "SOFTWARE\\Mozilla\\Netscape 7.02";
- winreg.createKey(subkey,"");
- err = winreg.setValueString(subkey, "GeckoVer", "1.0.1");
-
- subkey = "SOFTWARE\\Mozilla\\Netscape 7.02\\Extensions";
- winreg.createKey(subkey,"");
-
- valname = "Components";
- value = fProgram + "Components";
- err = winreg.setValueString(subkey, valname, value);
-
- valname = "Plugins";
- value = fProgram + "Plugins";
- err = winreg.setValueString(subkey, valname, value);
-
- subkey = "SOFTWARE\\Mozilla\\Netscape 7.02\\bin";
- winreg.createKey(subkey,"");
-
- valname = "PathToExe";
- value = fProgram + "Netscp.exe";
- err = winreg.setValueString(subkey, valname, value);
-
- subkey = "SOFTWARE\\Netscape\\Netscape\\7.02 (en)\\Main";
- winreg.setValueString(subkey, valname, value);
-
- // Register as a windows XP internet browser
- if( IsWinnt() )
- {
- winreg.setRootKey(winreg.HKEY_LOCAL_MACHINE);
-
- winreg.createKey("Software\\Clients\\StartMenuInternet\\Netscp.exe","");
- winreg.createKey("Software\\Clients\\StartMenuInternet\\Netscp.exe\\InstallInfo","");
-
- subkey = "Software\\Clients\\StartMenuInternet\\Netscp.exe\\InstallInfo";
- valname = "HideIconsCommand";
- data = "\"" + fProgram + "uninstall\\NSUninst.exe\" /ms /ua \"7.02 (en)\" /hs browser";
- winreg.setValueString(subkey, valname, data);
-
- subkey = "Software\\Clients\\StartMenuInternet\\Netscp.exe\\InstallInfo";
- valname = "IconsVisible";
- winreg.setValueNumber(subkey, valname, 1);
-
- subkey = "Software\\Clients\\StartMenuInternet\\Netscp.exe\\InstallInfo";
- valname = "ReinstallCommand";
- data = "\"" + fProgram + "Netscp.exe\" -silent -nosplash -setDefaultBrowser ";
- winreg.setValueString(subkey, valname, data);
-
- subkey = "Software\\Clients\\StartMenuInternet\\Netscp.exe\\InstallInfo";
- valname = "ShowIconsCommand";
- data = "\"" + fProgram + "uninstall\\NSUninst.exe\" /ms /ua \"7.02 (en)\" /ss browser";
- winreg.setValueString(subkey, valname, data);
- }
-
- }
-
- function updateWinReg()
- {
- //Notes:
- // can't use a double backslash before subkey - Windows already puts it in.
- // subkeys have to exist before values can be put in.
- var winreg = getWinRegistry();
- var subkey; //the name of the subkey you are poking around in
- var subkey2; //the name of the other subkey you are poking around in
- var valname; //the name of the value you want to look at
- var value; //the data in the value you want to look at.
- var err;
- var ikwDefined;
-
- if(winreg != null)
- {
- /* This will check to see if the user has restricted access or not.
- * It checks to see if HKEY_LOCALMACHINE\SOFTWARE is writable. If
- * it is, then access is not restricted. This is only used to
- * determine which Desktop, Programs, and Start Menu folders
- * are to used: common or per user
- */
- restrictedAccess = false;
- ikwDefined = typeof(winreg.isKeyWritable);
- logComment("winreg.isKeyWritable(): " + ikwDefined);
- if(ikwDefined == "function")
- {
- winreg.setRootKey(winreg.HKEY_LOCAL_MACHINE);
- if(!winreg.isKeyWritable("SOFTWARE"))
- restrictedAccess = true;
- }
-
- // set the App Paths key here
- // Keep the old App Paths key around in case legacy software is using it to find us
- subkey = "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\App Paths\\Netscp.exe";
- subkey2 = "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\App Paths\\Netscp6.exe";
- winreg.createKey(subkey,"");
- winreg.createKey(subkey2,"");
-
- valname = "";
- value = fProgram + "Netscp.exe";
- err = winreg.setValueString(subkey, valname, value);
- err = winreg.setValueString(subkey2, valname, value);
-
- valname = "Path";
- value = fProgram;
- err = winreg.setValueString(subkey, valname, value);
- err = winreg.setValueString(subkey2, valname, value);
-
- logComment("restrictedAccess value: " + restrictedAccess);
- if(!restrictedAccess)
- {
- winreg.setRootKey(winreg.HKEY_LOCAL_MACHINE);
- registerMainKeys(winreg); // this call may change winreg root key, so need to reset it
- winreg.setRootKey(winreg.HKEY_LOCAL_MACHINE);
- xpCleanupRegistry(winreg);
- }
-
- winreg.setRootKey(winreg.HKEY_CURRENT_USER);
- registerMainKeys(winreg); // this call may change winreg root key, so need to reset it
- winreg.setRootKey(winreg.HKEY_CURRENT_USER);
- xpCleanupRegistry(winreg);
- }
- }
-
- function upgradeCleanup()
- {
- // Obsolete files from previous Netscape installation that
- // need to be cleaned up.
- deleteThisFile("Program", "oji.dll");
- deleteThisFile("Program", "jsdom.dll");
- deleteThisFile("Program", "img3250.dll");
- deleteThisFile("Program", "gkgfxwin.dll");
- deleteThisFile("Program", "gkwidget.dll");
- deleteThisFile("Program", "defaults/pref/psm-glue.js");
- deleteThisFile("Program", "defaults/pref/config-ns.js");
- deleteThisFile("Program", "defaults/pref/editor-ns.js");
- deleteThisFile("Program", "defaults/wallet/URLFieldSchema.tbl");
- deleteThisFile("Program", "res/acceptlanguage.properties");
- deleteThisFile("Program", "res/broken-image.gif");
- deleteThisFile("Program", "res/nssifail.txt");
- deleteThisFile("Program", "nsldap32v40.dll");
- deleteThisFile("Program", "Netscp6.exe");
- deleteThisFile("Program", "uninstall/N6Uninst.exe");
- deleteThisFile("Components", "alchrdet.dll");
- deleteThisFile("Components", "gkhtml.dll");
- deleteThisFile("Components", "mozucth.dll");
- deleteThisFile("Components", "nsgif.dll");
- deleteThisFile("Components", "nsjpg.dll");
- deleteThisFile("Components", "nsmng.dll");
- deleteThisFile("Components", "nspng.dll");
- deleteThisFile("Components", "smime.dll");
- deleteThisFile("Components", "AcctIdl.dll");
- deleteThisFile("Components", "chardetc.dll");
- deleteThisFile("Components", "evntloop.dll");
- deleteThisFile("Components", "nativapp.dll");
- deleteThisFile("Components", "universalchardet.dll");
- deleteThisFile("Components", "n2p.dll");
- deleteThisFile("Chrome", "chrome.rdf");
- deleteThisFile("Chrome", "net2phone.jar");
- deleteThisFolder("Chrome", "overlayinfo");
- }
-
- // main
- var srDest;
- var err;
- var fProgram;
- var fWindowsSystem;
- var fileComponentRegStr;
- var fileComponentReg;
- var restrictedAccess;
-
- srDest = 20609;
- err = initInstall("Netscape Navigator", "Browser", "7.0.2.2003020809");
- logComment("initInstall: " + err);
-
- fProgram = getFolder("Program");
- fWindowsSystem = getFolder("Win System");
- logComment("fProgram: " + fProgram);
-
- if(verifyDiskSpace(fProgram, srDest))
- {
- setPackageFolder(fProgram);
-
- /* delete the obsolete shortcuts on upgrade */
- DeleteObsoleteShortcutsOnUpgrade();
-
- upgradeCleanup();
- err = addDirectory("",
- "7.0.2.2003020809",
- "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);
-
- // check return value
- if(err == SUCCESS)
- {
- fileToRegister = getFolder(fProgram, "ISimpleDOMNodeMarshal.dll");
- err2 = File.windowsRegisterServer(fileToRegister);
- logComment("windowsRegisterServer() returned: " + err2);
- fileToRegister = getFolder(fProgram, "ISimpleDOMDocumentMarshal.dll");
- err2 = File.windowsRegisterServer(fileToRegister);
- logComment("windowsRegisterServer() returned: " + err2);
-
- updateWinReg();
- createShortcuts();
- resetError();
-
- // register chrome
- registerChrome(CONTENT | DELAYED_CHROME, getFolder("Chrome","toolkit.jar"),"content/global-platform/");
- registerChrome(CONTENT | DELAYED_CHROME, getFolder("Chrome","comm.jar"),"content/communicator-platform/");
- registerChrome(CONTENT | DELAYED_CHROME, getFolder("Chrome","comm.jar"),"content/navigator-platform/");
-
- registerChrome(CONTENT | DELAYED_CHROME, getFolder("Chrome","toolkit.jar"),"content/global-region/");
- registerChrome(CONTENT | DELAYED_CHROME, getFolder("Chrome","comm.jar"),"content/communicator-region/");
- registerChrome(CONTENT | DELAYED_CHROME, getFolder("Chrome","comm.jar"),"content/editor-region/");
- registerChrome(CONTENT | DELAYED_CHROME, getFolder("Chrome","comm.jar"),"content/navigator-region/");
-
- registerChrome(CONTENT | DELAYED_CHROME, getFolder("Chrome","toolkit.jar"),"content/global/");
- registerChrome(CONTENT | DELAYED_CHROME, getFolder("Chrome","comm.jar"),"content/autoconfig/");
- registerChrome(CONTENT | DELAYED_CHROME, getFolder("Chrome","comm.jar"),"content/cookie/");
- registerChrome(CONTENT | DELAYED_CHROME, getFolder("Chrome","comm.jar"),"content/wallet/");
- registerChrome(CONTENT | DELAYED_CHROME, getFolder("Chrome","content-packs.jar"),"content/content-packs/");
- registerChrome(CONTENT | DELAYED_CHROME, getFolder("Chrome","comm.jar"),"content/communicator/");
- registerChrome(CONTENT | DELAYED_CHROME, getFolder("Chrome","comm.jar"),"content/editor/");
- registerChrome(CONTENT | DELAYED_CHROME, getFolder("Chrome","comm.jar"),"content/navigator/");
- registerChrome(CONTENT | DELAYED_CHROME, getFolder("Chrome","comm.jar"),"content/mozldap/");
- registerChrome(CONTENT | DELAYED_CHROME, getFolder("Chrome","comm.jar"),"content/necko/");
- registerChrome(CONTENT | DELAYED_CHROME, getFolder("Chrome","forms.jar"),"content/forms/");
- registerChrome(SKIN | DELAYED_CHROME, getFolder("Chrome","modern.jar"),"skin/modern/communicator/");
- registerChrome(SKIN | DELAYED_CHROME, getFolder("Chrome","modern.jar"),"skin/modern/editor/");
- registerChrome(SKIN | DELAYED_CHROME, getFolder("Chrome","modern.jar"),"skin/modern/global/");
- registerChrome(SKIN | DELAYED_CHROME, getFolder("Chrome","modern.jar"),"skin/modern/messenger/");
- registerChrome(SKIN | DELAYED_CHROME, getFolder("Chrome","modern.jar"),"skin/modern/navigator/");
- registerChrome(SKIN | DELAYED_CHROME, getFolder("Chrome","modern.jar"),"skin/modern/aim/");
- registerChrome(SKIN | DELAYED_CHROME, getFolder("Chrome","forms.jar"), "skin/classic/forms/");
- registerChrome(CONTENT | DELAYED_CHROME, getFolder("Chrome","help.jar"),"content/help/");
- registerChrome(CONTENT | DELAYED_CHROME, getFolder("Chrome","comm.jar"),"content/p3p/");
- registerChrome(CONTENT | DELAYED_CHROME, getFolder("Chrome","comm.jar"),"content/xbl-marquee/");
-
- /* Log files that are created after the installer is done, so they can be uninstalled */
- logComment("Installing: " + fProgram + "Xpcs Registry.dat");
- logComment("Installing: " + fProgram + "xpcom.log");
- logComment("Create Folder: " + fProgram + "components");
- logComment("Installing: " + fProgram + "components\\xpti.dat");
- logComment("Installing: " + fProgram + "components\\xptitemp.dat");
- logComment("Create Folder: " + fProgram + "chrome");
- logComment("Installing: " + fProgram + "chrome\\installed-chrome.txt");
- logComment("Installing: " + fProgram + "chrome\\chrome.rdf");
- logComment("Create Folder: " + fProgram + "chrome\\overlayinfo");
- logComment("Create Folder: " + fProgram + "chrome\\overlayinfo\\communicator");
- logComment("Create Folder: " + fProgram + "chrome\\overlayinfo\\communicator\\content");
- logComment("Installing: " + fProgram + "chrome\\overlayinfo\\communicator\\content\\overlays.rdf");
- logComment("Create Folder: " + fProgram + "chrome\\overlayinfo\\editor");
- logComment("Create Folder: " + fProgram + "chrome\\overlayinfo\\editor\\content");
- logComment("Installing: " + fProgram + "chrome\\overlayinfo\\editor\\content\\overlays.rdf");
- logComment("Create Folder: " + fProgram + "chrome\\overlayinfo\\messenger");
- logComment("Create Folder: " + fProgram + "chrome\\overlayinfo\\messenger\\content");
- logComment("Installing: " + fProgram + "chrome\\overlayinfo\\messenger\\content\\overlays.rdf");
- logComment("Create Folder: " + fProgram + "chrome\\overlayinfo\\navigator");
- logComment("Create Folder: " + fProgram + "chrome\\overlayinfo\\navigator\\content");
- logComment("Installing: " + fProgram + "chrome\\overlayinfo\\navigator\\content\\overlays.rdf");
- logComment("Create Folder: " + fProgram + "chrome\\overlayinfo\\navigator\\skin");
- logComment("Installing: " + fProgram + "chrome\\overlayinfo\\navigator\\skin\\stylesheets.rdf");
-
- err = getLastError();
- if (err == SUCCESS)
- {
- performInstall();
- if (! ('buildID' in Install))
- {
- logComment("Running Pre-Mozilla 0.9.1");
- initInstall("Post-install Cleanup Utility", "Browser/xpicleanup", "7.0.2.2003020809");
- cleanupUtility = getFolder(fProgram, "xpicleanup.exe");
- err = File.execute(cleanupUtility);
- logComment("execute() returned: " + err);
- err = performInstall();
- }
- }
- else
- cancelInstall(err);
- }
- else
- cancelInstall(err);
- }
- else
- cancelInstall(INSUFFICIENT_DISK_SPACE);
-
- // end main
-