Firefox 22 Silent Add-ons/Plugins/Extensions Installation
We're finally upgrading from Firefox 3.6, and I 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 disappaers after a few seconds, but this worries me that it *might* complain about a plugin a user installed.
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 registrry (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 either specific add-ons, or add-ons within a specific location?
I then ran the install on a machine that did have an older version of Firefox and found ... To be tested when the above is fixed.
Deployment Script & Process
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\"
MaintenanceService=false
// Disable Firefox Sync
#sync-setup, #sync-status-button, #BrowserPreferences radio[label="Sync"] {display:none!important;}
#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;}
pref("general.config.obscure_value", 0); pref("general.config.filename", "mozilla.cfg");
[XRE] EnableProfileMigrator=False EnableExtensionManager=True [Crash Reporter] Enabled=False
// 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("browser.search.update", false); // Do not perform system default browser check on startup defaultPref("browser.shell.checkDefaultBrowser", 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","");
Answers (2)
I think I can help you with the first point. There are two possible solutions:
1. You could set extensions.lastAppVersion
in about:config to the current Firefox Version (for example 24.0) so that Firefox thinks it alsways had this Version
2. You could set extensions.showMismatchUI
to false, then the Dialog gets suppressed
Both could be made in the mozilla.cfg:
pref("extensions.lastAppVersion","24.0"); pref("extensions.showMismatchUI",false);
Thanks for the reply EbrithilBowser. While I haven't tested your proposed solution, I'm fairly certain it'll work. Since this post, I've redone the configuration files and Mozilla has released newer versions. Between the two, the original problem of add in checks has been resolved
I also discovered a the solution to a thorn in my side which, as I suspected, was a misunderstanding on my part: defaultPref("plugin.scan.plid.all",false);
That should've been set to true, or eliminated from the config altogether.
With this gone, the process works wonderfully.
If I remember to do so, I'll update this post.
Edit: Here's my other post https://support.mozilla.org/en-US/questions/966143 - haxin 11 years ago