home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Chip 2002 January
/
01_02.iso
/
software
/
netscape62win
/
browser.xpi
/
install.js
Wrap
Text File
|
2001-10-22
|
29KB
|
731 lines
// 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 updateWinReg4Ren8dot3()
{
var fProgram = getFolder("Program");
var fTemp = getFolder("Temporary");
//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 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 winreg = getWinRegistry() ;
if(winreg != null)
{
// Here, we get the current version.
winreg.setRootKey(winreg.HKEY_CURRENT_USER) ; // CURRENT_USER
subkey = "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\RunOnce" ;
winreg.createKey(subkey,"");
valname = "ren8dot3";
value = fProgram + "ren8dot3.exe " + fTemp + "ren8dot3.ini";
err = winreg.setValueString(subkey, valname, value);
}
}
function prepareRen8dot3(listLongFilePaths)
{
var fTemp = getFolder("Temporary");
var fProgram = getFolder("Program");
var fRen8dot3Ini = getWinProfile(fTemp, "ren8dot3.ini");
var bIniCreated = false;
var fLongFilePath;
var sShortFilePath;
if(fRen8dot3Ini != null)
{
for(i = 0; i < listLongFilePaths.length; i++)
{
fLongFilePath = getFolder(fProgram, listLongFilePaths[i]);
sShortFilePath = File.windowsGetShortName(fLongFilePath);
if(sShortFilePath)
{
fRen8dot3Ini.writeString("rename", sShortFilePath, fLongFilePath);
bIniCreated = true;
}
}
if(bIniCreated)
updateWinReg4Ren8dot3() ;
}
return(0);
}
function DeleteObsoleteShortcutsOnUpgrade()
{
var subkey;
var valname;
var szStartMenuPrograms;
var szFolderDesktop;
var winreg;
var is_winnt;
var versionThreshold;
var rv;
var keyVersion;
var fFileToCheck;
var fileFound;
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");
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");
szFolderDesktop = winreg.getValueString(subkey, "Common Desktop");
}
versionThreshold = "6.20.0.2001100100";
rv = InstallTrigger.compareVersion("Browser", versionThreshold);
keyVersion = InstallTrigger.getVersion("Browser");
fFileToCheck = getFolder("Program", "Netscp6.exe");
fileFound = File.isFile(fFileToCheck);
logComment("Folder Desktop : " + szFolderDesktop);
logComment("Folder StartMenuPrograms: " + szStartMenuPrograms);
logComment("versionThreshold : " + versionThreshold);
logComment("keyVersion : " + keyVersion);
logComment("compare result : " + rv);
logComment("file to check : " + fFileToCheck);
logComment("file to check found : " + fileFound);
}
if(fileFound && (rv < 0) && (keyVersion != null))
{
deleteThisFile("file:///", szFolderDesktop + "\\Netscape 6.lnk");
deleteThisFile("file:///", szStartMenuPrograms + "\\Netscape 6\\Netscape 6.lnk");
deleteThisFile("file:///", szStartMenuPrograms + "\\Netscape 6\\Profile Manager.lnk");
deleteThisFile("file:///", szStartMenuPrograms + "\\Netscape 6\\Free Aol & Unlimited Internet.url");
deleteThisFile("file:///", szStartMenuPrograms + "\\Netscape 6\\Profile Manager.lnk");
deleteThisFolder("file:///", szStartMenuPrograms + "\\Netscape 6", false);
}
}
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 6";
winreg.createKey(subkey,"");
valname = "CurrentVersion";
value = "6.2 (en)";
err = winreg.setValueString(subkey, valname, value);
subkey = "SOFTWARE\\Netscape\\Netscape 6\\6.2 (en)";
winreg.createKey(subkey,"");
subkey = "SOFTWARE\\Netscape\\Netscape 6\\6.2 (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 winreg;
var fWindows;
var fTemp;
var fProgram;
var fileExe;
var scExeDesc;
var scProfileDesc;
var scNSSmartUpdateDesc;
var scNSSmartUpdateDescParam;
var scProfileDescParam;
var scFolderName;
var szStartupFolder;
var fFolderDesktop;
var fFolderPath;
var fFolderPathStr;
var is_winnt;
var szCurrentVersion;
winreg = getWinRegistry();
fWindows = getFolder("Windows");
fProgram = getFolder("Program");
fTemp = fProgram + "Netscp6.exe";
fileExe = getFolder("file:///", fTemp);
scExeDesc = "Netscape 6.2";
scProfileDesc = "Profile Manager";
scNSSmartUpdateDesc = "Netscape SmartUpdate";
scNSSmartUpdateDescParam = "http://home.netscape.com/smartupdate/index.html?cp=start6_1";
scProfileDescParam = "-ProfileManager";
scFolderName = "Netscape 6.2";
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";
valname = "Programs";
szStartMenuPrograms = winreg.getValueString(subkey, valname);
valname = "Start Menu";
szStartMenu = winreg.getValueString(subkey, valname);
valname = "Desktop";
szFolderDesktop = winreg.getValueString(subkey, valname);
valname = "Startup";
szStartupFolder = winreg.getValueString(subkey, valname);
}
else
{
winreg.setRootKey(winreg.HKEY_LOCAL_MACHINE);
subkey = "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders";
valname = "Common Programs";
szStartMenuPrograms = winreg.getValueString(subkey, valname);
valname = "Common Start Menu";
szStartMenu = winreg.getValueString(subkey, valname);
valname = "Common Desktop";
szFolderDesktop = winreg.getValueString(subkey, valname);
valname = "Common Startup";
szStartupFolder = winreg.getValueString(subkey, valname);
}
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\\GrpConv\\MapGroups";
valname = "Quick Launch";
szFolderQuickLaunch = winreg.getValueString(subkey, valname);
subkey = "SOFTWARE\\Netscape\\Netscape 6\\6.2 (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 the path string to a path folder object */
fFolderDesktop = getFolder("file:///", szFolderDesktop);
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("scExeDesc : " + scExeDesc);
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);
/* create the shortcuts */
File.windowsShortcut(fileExe, fFolderDesktop, scExeDesc, fProgram, "", fileExe, 0);
File.windowsShortcut(fileExe, fFolderPath, scExeDesc, fProgram, "", fileExe, 0);
File.windowsShortcut(fileExe, fFolderPath, scProfileDesc, fProgram, scProfileDescParam, fileExe, 0);
File.windowsShortcut(fileExe, szStartMenu, scNSSmartUpdateDesc, fProgram, scNSSmartUpdateDescParam, fileExe, 0);
if(!restrictedAccess)
{
winreg.setRootKey(winreg.HKEY_LOCAL_MACHINE);
registerProgramFolderKey(winreg, fFolderPath);
}
winreg.setRootKey(winreg.HKEY_CURRENT_USER);
registerProgramFolderKey(winreg, fFolderPath);
/* remove turbo mode shortcut */
fFolderPath = getFolder("file:///", szStartupFolder);
/* remove shortcut from the startup folder */
basename = "Netscp6.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 6\\6.2 (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";
if ( turboarg == "Y" || turboarg == "y")
{
fTemp = fileExe;
fileExe = getFolder("file:///", fTemp);
newKey = fileExe + ' -turbo';
winreg.createKey(subkey,"");
winreg.setValueString(subkey, valname, newKey);
}
else
{
winreg.deleteValue(subkey, valname);
}
}
}
}
}
else
{
logComment("winreg is null");
}
}
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 6";
winreg.createKey(subkey,"");
valname = "CurrentVersion";
value = "6.2 (en)";
err = winreg.setValueString(subkey, valname, value);
subkey = "SOFTWARE\\Netscape\\Netscape 6\\6.2 (en)";
winreg.createKey(subkey,"");
subkey = "SOFTWARE\\Netscape\\Netscape 6\\6.2 (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 6 6.2";
winreg.createKey(subkey,"");
subkey = "SOFTWARE\\Mozilla\\Netscape 6 6.2\\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 6 6.2\\bin";
winreg.createKey(subkey,"");
valname = "PathToExe";
value = fProgram + "Netscp6.exe";
err = winreg.setValueString(subkey, valname, value);
subkey = "SOFTWARE\\Netscape\\Netscape 6\\6.2 (en)\\Main";
winreg.setValueString(subkey, valname, value);
}
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 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;
}
logComment("restrictedAccess value: " + restrictedAccess);
if(!restrictedAccess)
{
winreg.setRootKey(winreg.HKEY_LOCAL_MACHINE);
registerMainKeys(winreg);
// set the App Paths key here
subkey = "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\App Paths\\Netscp6.exe";
winreg.createKey(subkey,"");
valname = "";
value = fProgram + "Netscp6.exe";
err = winreg.setValueString(subkey, valname, value);
valname = "Path";
value = fProgram;
err = winreg.setValueString(subkey, valname, value);
}
winreg.setRootKey(winreg.HKEY_CURRENT_USER);
registerMainKeys(winreg);
}
}
function upgradeCleanup()
{
// Obsolete files from Netscape 6.0 and Netscape 6.01 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/wallet/URLFieldSchema.tbl");
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");
}
// main
var srDest;
var err;
var fProgram;
var fWindowsSystem;
var fileComponentRegStr;
var fileComponentReg;
var restrictedAccess;
// This list contains filenames that are long filenames ( > 8.3) critical during installation time.
// This list is automatically generated during the build process.
// The filenames should include paths relative to the Netscape 6 folder.
// '/' must be used as path delimiters regardless of platform.
var listLongFilePaths = ["chrome/content-packs.jar",
"chrome/net2phone.jar",
"components/accessibility.dll",
"components/activation.dll",
"components/embedcomponents.dll",
"components/gkcontent.dll",
"components/transformiix.dll",
"components/xmlextras.dll",
"ISimpleDOMDocumentMarshal.dll",
"ISimpleDOMNodeMarshal.dll",
"nsldap32v40.dll",
"systemSignature.jar",
"xpicleanup.exe"];
srDest = 17761;
err = initInstall("Netscape Navigator", "Browser", "6.20.0.2001102218");
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();
// Ren8dot3 process needs to be done before any files have been installed
// (this includes the temp files during the prepare phase)
prepareRen8dot3(listLongFilePaths);
err = addDirectory("",
"6.20.0.2001102218",
"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)
{
updateWinReg();
createShortcuts();
upgradeCleanup();
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(PACKAGE | DELAYED_CHROME, getFolder("Chrome","net2phone.jar"), "content/net2phone-region/");
registerChrome(CONTENT | DELAYED_CHROME, getFolder("Chrome","toolkit.jar"),"content/global/");
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(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 | SELECT_CHROME, getFolder("Chrome","modern.jar"),"skin/modern/aim/");
registerChrome(PACKAGE | DELAYED_CHROME, getFolder("Chrome","net2phone.jar"), "content/net2phone/");
registerChrome(CONTENT | DELAYED_CHROME, getFolder("Chrome","help.jar"),"content/help/");
/* 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\\all-locales.rdf");
logComment("Installing: " + fProgram + "chrome\\all-packages.rdf");
logComment("Installing: " + fProgram + "chrome\\all-skins.rdf");
logComment("Installing: " + fProgram + "chrome\\user-locales.rdf");
logComment("Installing: " + fProgram + "chrome\\user-skins.rdf");
logComment("Create Folder: " + fProgram + "chrome\\overlayinfo");
logComment("Create Folder: " + fProgram + "chrome\\overlayinfo\\communicator");
logComment("Create Folder: " + fProgram + "chrome\\overlayinfo\\editor");
logComment("Create Folder: " + fProgram + "chrome\\overlayinfo\\messenger");
logComment("Create Folder: " + fProgram + "chrome\\overlayinfo\\navigator");
logComment("Create Folder: " + fProgram + "chrome\\overlayinfo\\communicator\\content");
logComment("Installing: " + fProgram + "chrome\\overlayinfo\\communicator\\content\\overlays.rdf");
logComment("Create Folder: " + fProgram + "chrome\\overlayinfo\\editor\\content");
logComment("Installing: " + fProgram + "chrome\\overlayinfo\\editor\\content\\overlays.rdf");
logComment("Create Folder: " + fProgram + "chrome\\overlayinfo\\messenger\\content");
logComment("Installing: " + fProgram + "chrome\\overlayinfo\\messenger\\content\\overlays.rdf");
logComment("Create Folder: " + fProgram + "chrome\\overlayinfo\\navigator\\content");
logComment("Installing: " + fProgram + "chrome\\overlayinfo\\navigator\\content\\overlays.rdf");
// log comments for uninstalling the registry keys created by the browser for setting
// itself up in WinXP's Start menu
logComment("Create Registry Key: HKEY_LOCAL_MACHINE\\Software\\Clients\\StartMenuInternet\\Netscp6.exe []");
logComment("Store Registry Value: HKEY_LOCAL_MACHINE\\Software\\Clients\\StartMenuInternet\\Netscp6.exe []");
logComment("Create Registry Key: HKEY_LOCAL_MACHINE\\Software\\Clients\\StartMenuInternet\\Netscp6.exe\\DefaultIcon []");
logComment("Store Registry Value: HKEY_LOCAL_MACHINE\\Software\\Clients\\StartMenuInternet\\Netscp6.exe\\DefaultIcon []");
logComment("Create Registry Key: HKEY_LOCAL_MACHINE\\Software\\Clients\\StartMenuInternet\\Netscp6.exe\\shell []");
logComment("Create Registry Key: HKEY_LOCAL_MACHINE\\Software\\Clients\\StartMenuInternet\\Netscp6.exe\\shell\\open []");
logComment("Create Registry Key: HKEY_LOCAL_MACHINE\\Software\\Clients\\StartMenuInternet\\Netscp6.exe\\shell\\open\\command []");
logComment("Store Registry Value: HKEY_LOCAL_MACHINE\\Software\\Clients\\StartMenuInternet\\Netscp6.exe\\shell\\open\\command []");
err = getLastError();
if (err == SUCCESS)
{
performInstall();
if (! ('buildID' in Install))
{
logComment("Running Pre-Mozilla 0.9.1");
initInstall("Post-install Cleanup Utility", "xpicleanup", "6.20.0.2001102218");
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