gecko-dev/xpinstall/packager/unix/regus.jst
tao%netscape.com b5df3256fb 95944: XPI packages not working on Linux 0.9.3. (r=ssu,sr=dveditz).
failover to profile directory when the global location isn't writable.
2001-09-19 00:21:21 +00:00

62 lines
1.9 KiB
Plaintext

var srDest = $SpaceRequired$;
var err;
var fProgram;
// --- LOCALIZATION NOTE: translate only these ---
var prettyName = "US Regional Pack";
var chromeNode = "US";
// --- END LOCALIZABLE RESOURCES ---
var regName = "locales/mozilla/" + chromeNode;
var chromeName = chromeNode + ".jar";
var localeName = "locale/" + chromeNode + "/";
err = initInstall(prettyName, regName, "$Version$");
logComment("initInstall: " + err);
fProgram = getFolder("Program");
logComment("fProgram: " + fProgram);
if (verifyDiskSpace(fProgram, srDest))
{
var chromeType = LOCALE;
err = addDirectory("",
"bin",
fProgram,
"");
logComment("addDirectory() returned: " + err);
if (err != SUCCESS)
{
logComment("addDirectory() to " + fProgram + "failed!");
// couldn't install globally, try installing to the profile
resetError();
chromeType |= PROFILE_CHROME;
fProgram = getFolder("Profile");
logComment("try installing to the profile: " + fProgram);
err = addDirectory("","bin/chrome",fProgram,"chrome");
}
setPackageFolder(fProgram);
if (err == SUCCESS)
{
// register chrome
var cf = getFolder(fProgram, "chrome/"+ chromeName);
registerChrome(chromeType, cf, localeName + "global-region/");
registerChrome(chromeType, cf, localeName + "communicator-region/");
registerChrome(chromeType, cf, localeName + "editor-region/");
registerChrome(chromeType, cf, localeName + "messenger-region/");
registerChrome(chromeType, cf, localeName + "navigator-region/");
err = performInstall();
logComment("performInstall() returned: " + err);
}
else
{
cancelInstall(err);
logComment("cancelInstall due to error: " + err);
}
}
else
cancelInstall(INSUFFICIENT_DISK_SPACE);