posted by Phylum 4 years ago
Firefox 22 Silent Add-ons/Plugins/Extensions Installation

We're a Windows 7 x86 shop and we're finally upgrading from Firefox 3.6. I just need a little help finalizing the customizations for our Firefox 22 install.

Our requests don't differ greatly from others (no automatic updates, no plugin checks, set default home page, no Firefox sync etc.) and all that seems to be working so far. I ran the install on a machine that did not have a previous version of Firefox and found it largely behaving the way I expected it to.

However two things stand out:

On initial launch I'm seeing a 'checking compatibility of addons' screen. It doesn't ask me to do anything and disappears after a few seconds, but this worries me that it *might* complain about a plugin a user installed when we go through the upgrade process.

 - Can this 'check' be avoided?
 - Is it really doing anything? (eg: checking for blacklisted addons/extensions? etc)
 - What's the worst that could happen here?

In the registry (HKLM\Software\Mozilla\Firefox\Extensions) I have two entries created by 2 other applications on the workstation each of which pointing to their respective extension/addon/plugin directory (e.g.: C:\Program Files\Application\some_directory). When properly installed, one is listed as an Extension, the other a Plugin. On the first launch after installation, I see two 'Install Add-on' tabs prompting me to approve each the installation. Seeing as these extensions are allowed/trusted and required, I want Firefox to accept them without prompting the user. Now, I'm aware of two key elements that largely govern this (and their subtle differences) but I can't seem to get this to work right: extensions.autoDisableScopes extensions.enabledScopes With the former set to 0 and the latter 15 I relaunch FF and while I don't get the tabs, when I go to test them, it doesn't work. Furthermore, the Plugin is listed under Extensions which probably shoud not be.

 - What am I doing wrong?
 - How can I allow/trust/whitelist or otherwise automatically approve the installation of either specific add-ons, or add-ons within a specific location? 

Please, correct me if I'm doing something wrong, or if there's a better way (e.g.: GPO's) to apply global settings for all users. I'm hoping to avoid a solution that requires installing a third-party plug-in Any advice is greatly appreciated.

Install/upgrade process consists these key files:

Firefox Setup 22.0.exe - The installer install.cmd - Script that runs the installer and does other things:

runs installer with the following switches: /INI=custom.ini creates "%ProgramFiles%\Mozilla Firefox\browser\defaults\profile\chrome" (if missing) copies userChrome.css into the above directory creates "%ProgramFiles%\Mozilla Firefox\browser\defaults\preferences" (if missing) copies local-settings.js into the above directory copies Mozilla.cfg into "%ProgramFiles%\Mozilla Firefox\" copies override.ini into "%ProgramFiles%\Mozilla Firefox\browser\" custom.ini : MaintenanceService=false

userChrome.css :

// Disable Firefox Sync
  1. sync-setup, #sync-status-button, #BrowserPreferences radio[label="Sync"] {display:none!important;}
  2. sync-setup-appmenu,#sync-syncnowitem-appmenu, #sync-setup, #sync-status-button, #BrowserPreferences radio[label="Sync"] {display:none!important;}

menu[label="Tools"] menuitem[label="Sync Now"], #sync-button, #sync-setup-appmenu, #sync-syncnowitem-appmenu, #sync-setup, #sync-status-button, #BrowserPreferences radio[label="Sync"] {display:none!important;}

local-settings.js :

pref("general.config.obscure_value", 0);

pref("general.config.filename", "mozilla.cfg");

Override.ini : [XRE] EnableProfileMigrator=False EnableExtensionManager=True

[Crash Reporter] Enabled=False

Mozilla.cfg :

// This preference allows to suppress all UI update prompting.

defaultPref("app.update.silent", true);

// This preference disables the background service that installs updates defaultPref("app.update.service.enabled", false);

// This preference indicates that the rights notification has already been shown. defaultPref("browser.rights.3.shown", true); defaultPref("browser.rights.override", true);

// Disable automatic check for updates to search plugins defaultPref("", false);

// Do not perform system default browser check on startup defaultPref("", false);

// Sets URL of homepage or pope (|) separated list of URL's to open in tabs defaultPref("browser.startup.homepage", "http://our-intranet/"); // Was suggested to use this instead of the above - don't understand why //defaultPref("browser.startup.homepage", "data:text/plain,browser.startup.homepage=http://our-intranet/");

// The last browser version (milestone) this profile was loaded with. If it differs from the current version, pref is changed to current version. defaultPref("browser.startup.homepage_override.mstone", "ignore");

// Disable check extension for browser compatibility on upgrade/install. defaultPref("extensions.checkCompatibility", false);

// Disable checks that extensions provide secure updates. defaultPref("extensions.checkUpdateSecurity", false);

// The last version of the browser to successfully load extensions. Used to determine whether or not to disable extensions due to possible incompatibilities. defaultPref("extensions.lastAppVersion", "100.0.0");

// Not sure if this still applies today defaultPref("extensions.lastPlatformVersion", "100.0.0");

// An Attempt at Disabling Firefox sync defaultPref("services.sync.autoconnect", false); defaultPref("services.sync.clients.lastSync", "0"); defaultPref("services.sync.clients.lastSyncLocal", "0"); defaultPref("services.sync.engine.addons", false); defaultPref("services.sync.engine.apps", false); defaultPref("services.sync.engine.bookmarks", false); defaultPref("services.sync.engine.history", false); defaultPref("services.sync.engine.passwords", false); defaultPref("services.sync.engine.prefs", false); defaultPref("services.sync.engine.prefs.modified", false); defaultPref("services.sync.engine.tabs", false); defaultPref("services.sync.globalScore", 0); defaultPref("services.sync.migrated", true); defaultPref("services.sync.nextSync", 0); defaultPref("services.sync.tabs.lastSync", "0"); defaultPref("services.sync.tabs.lastSyncLocal", "0");

// Disabled Add-on manager pop-up window post addon/extension installation defaultPref("extensions.newAddons", false);

// Disable automatic download and installation of available updates defaultPref("extensions.update.autoUpdate", false);

// Diable automatic checking of updates at the specified interval defaultPref("extensions.update.autoUpdateEnabled", false);

// Disable checking for extension updates defaultPref("extensions.update.enabled", false);

// Determines how often to check the update URL for updates. defaultPref("extensions.update.interval", 1273520281);

// Disable addon control wizard defaultPref("extensions.shownSelectionUI", true);

// A comma-and-space-delimited list of URIs with which to automatically authenticate via NTLM (Windows domain logon). defaultPref("network.automatic-ntlm-auth.trusted-uris", "a,bunch,of,servers,urls,and,unc,paths");

// Indicates whether some cookie preferences — previously stored in deprecated preferences — have been migrated to current preferences. defaultPref("network.cookie.prefsMigrated", true);

// A comma-and-space-delimited list of sites that are permitted to engage in SPNEGO authentication with the browser. defaultPref("network.negotiate-auth.trusted-uris", "a,bunch,of,servers,urls,and,unc,paths");

// Not sure if this still applies today defaultPref("privacy.sanitize.migrateFx3Prefs", true);

// Disable telemetry (usage statistics) to Mozilla HQ defaultPref("toolkit.telemetry.prompted", 2); defaultPref("toolkit.telemetry.rejected", true); defaultPref("toolkit.telemetry.enabled", false);

// A comma-separated list of sites to automatically add to the extensions whitelist. defaultPref("xpinstall.whitelist.add", "");

// Not sure what these are but are baked into installation defaultPref("xpinstall.whitelist.add.180", ""); defaultPref("xpinstall.whitelist.add.36", "");

// Allow access to specific network locations defaultPref("capability.policy.policynames", "policy1, policy2, ..., policyX"); defaultPref("capability.policy.policy1.checkloaduri.enabled", "allAccess"); defaultPref("capability.policy.policy1.sites","http://site1 http://site1/site http://site2"); defaultPref("capability.policy.policy2.checkloaduri.enabled", "allAccess"); defaultPref("capability.policy.policy2.sites","\\unc\path"); ... defaultPref("capability.policy.policyX.checkloaduri.enabled", "allAccess"); defaultPref("capability.policy.policyX.sites","whatever");

// Disables built in PDF viewer defaultPref("pdfjs.disabled",true);

// Disables Health Report Uploads defaultPref("datareporting.healthreport.uploadEnabled",false);

// Disables Health Reporting Completely defaultPref("datareporting.healthreport.service.enabled",false);

// Disabled Plugin Check defaultPref("plugin.scan.plid.all",false); defaultPref("plugins.update.url","");

↓ Show more ↑ Show less
  • All posts
  • Helpful Solutions
  • post
  • post
  • owner
  • post
  • owner
  • post
  • helpful
  • helpful