mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-14 15:37:55 +00:00
b5df3256fb
failover to profile directory when the global location isn't writable.
62 lines
1.9 KiB
Plaintext
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);
|