Citrix Configuration of Firefox using Mozilla.cfg
We're publishing Firefox through Citrix which works correctly. We want to set a few settings that are locked and some that are set as initial preferences. When creating the mozilla.cfg with minimal settings that are locked, everything works correctly. When using additional settings that are not locked we get the "Failed to read the configuration file" error. We've tried to remove some of the settings to make is as basic as possible and still get the message.
Working cfg
# Mozilla Global Preferences /* This file is to set and lock default preferences. * * Locate the settings in the prefs.js you want to make global and * copy them here. To lock the setting change the user_Pref to * lockPref. */ // lockPref("browser.startup.homepage", "http://intranet.domain.com"); lockPref("network.automatic-ntlm-auth.trusted-uris", "proxy,domain"); lockPref("network.negotiate-auth.delegation-uris", "proxy"); lockPref("network.negotiate-auth.trusted-uris", "proxy");
Desired cfg
# Mozilla Global Preferences /* This file is to set and lock default preferences. * * Locate the settings in the prefs.js you want to make global and * copy them here. To lock the setting change the user_Pref to * lockPref. */ // user_Pref("accessibility.typeaheadfind.flashBar", 0); lockPref("app.update.auto", false); //disable automatic update lockPref("app.update.enabled", false); //disable updating Firefox lockPref("browser.bookmarks.restore_default_bookmarks", false); user_Pref("browser.cache.disk.capacity", 1048576); user_Pref("browser.cache.disk.smart_size.first_run", false); user_Pref("browser.cache.disk.smart_size_cached_value", 1048576); user_Pref("browser.download.useDownloadDir", false); lockPref("browser.feeds.showFirstRunUI", false); //disable initial RSS intro lockPref("browser.fullscreen.autohide", false); //always show URL and tab bar lockPref("browser.history_expire_days", 30); //clear history after 30 days lockPref("browser.history_expire_days_min", 30); //minimum 30 days to keep history user_Pref("browser.places.importBookmarksHTML", false); user_Pref("browser.places.importDefaults", false); lockPref("browser.rights.3.shown", true); user_Pref("browser.search.suggest.enabled", true); //disable search suggestions lockPref("browser.shell.checkDefaultBrowser", false); //disable default browser check user_Pref("browser.startup.page", 1); lockPref("browser.startup.homepage", "http://intranet.domain.com"); user_Pref("browser.tabs.autoHide", false); //always show tab bar user_Pref("browser.tabs.insertRelatedAfterCurrent", false); //load new tabs last user_Pref("browser.tabs.loadBookmarksInBackground", true); //new tabs in backg. user_Pref("browser.tabs.warnOnOpen", false); //don't warn on opening mult. tabs lockPref("browser.taskbar.previews.enable", true); user_Pref("browser.urlbar.autoFill", true); //enable URL autocomplete lockPref("general.smoothScroll", true); lockPref("general.warnOnAboutConfig", true); //display warning prompt user_Pref("mozilla.widget.raise-on-setfocus"); //disable focus stealing user_Pref("mozilla.widget.raise-on-setfocus", false); //don't focus new tabs lockPref("network.automatic-ntlm-auth.trusted-uris", "proxy,domain"); lockPref("network.cookie.lifetimePolicy", 2); lockPref("network.cookie.prefsMigrated", true); lockPref("network.negotiate-auth.delegation-uris", "proxy"); lockPref("network.negotiate-auth.trusted-uris", "proxy"); user_Pref("network.http.max-connections-per-server", 32); user_Pref("network.http.pipelining", true); //enable HTTP pipelining user_Pref("network.http.pipelining.maxrequests", 7); user_Pref("network.http.pipelining.ssl", true); //always enable HTTPS pipelining user_Pref("network.http.proxy.pipelining", true); //enable HTTP pipelining lockPref("network.proxy.type", 4); user_Pref("privacy.donottrackheader.enabled", true); lockPref("privacy.item.formdata", true); //clear saved form data lockPref("privacy.item.offlineApps", true); //clear offline apps data user_Pref("privacy.sanitize.migrateFx3Prefs", true); user_Pref("security.warn_viewing_mixed", true); user_Pref("security.warn_entering_secure", false); user_Pref("security.warn_leaving_secure", true); user_Pref("security.warn_submit_insecure", true); lockPref("signon.rememberSignons", false); lockPref("toolkit.telemetry.prompted", false); user_Pref("view_source.wrap_long_lines", true); //enable line wrapping
Modified
Chosen solution
The defaultPref() function applies if there isn't a user setting (it only changes the current default value), but doesn't have effect if the user already has changed the default. The pref function is always issued if you start a new session, but the user can override that for the current session only and changes are lost. Prefs that are locked via lockPref() can't be changed at all.
Read this answer in context 👍 1All Replies (13)
You can't use user_Pref (should actually be user_pref) in mozilla.cfg
You can use these functions in mozilla.cfg:
defaultPref(); // set new default value pref(); // set pref, but allow changes in current session lockPref(); // lock pref, disallow changes
Thanks. I knew something was wrong. So what is the difference in using pref vs defaultPref in this instance. Won't setting prefs set the default settings a user will get as well?
We want to lock a few settings down but set a default for others while still allowing the user to change as desired.
Chosen Solution
The defaultPref() function applies if there isn't a user setting (it only changes the current default value), but doesn't have effect if the user already has changed the default. The pref function is always issued if you start a new session, but the user can override that for the current session only and changes are lost. Prefs that are locked via lockPref() can't be changed at all.
Aha. Thanks you so much for explaining the defaultPref cs Pref. That helped immensely.
I now have this as my config but get an error
# Mozilla Global Preferences /* This file is to set and lock default preferences. * * Locate the settings in the prefs.js you want to make global and * copy them here. To lock the setting change the Pref to * lockPref. */ // lockPref("accessibility.browsewithcaret", false); //dont' use cursor keys to navigate within pages defaultPref("accessibility.typeaheadfind", true); //Search for text when I start typing defaultPref("accessibility.typeaheadfind.flashBar", 0); //don’t flash toolbar when text is found lockPref("general.autoScroll", false); //don't use autoscrolling lockPref("app.update.auto", false); //disable automatic update lockPref("app.update.enabled", false); //disable updating Firefox lockPref("browser.bookmarks.restore_default_bookmarks", false); //restore default firefox bookmarks defaultPref("browser.cache.disk.capacity", 1048576); //cached settings defaultPref("browser.cache.disk.smart_size.first_run", false); //cached settings defaultPref("browser.cache.disk.smart_size_cached_value", 1048576); //cached settings lockPref("browser.download.useDownloadDir", false); //don't use download directory-always ask defaultPref("browser.download.manager.retention", 0); //remember downloads lockPref("browser.feeds.showFirstRunUI", false); //disable initial RSS intro defaultPref("browser.formfill.enable", true); //don't remember forms and search bar lockPref("browser.fullscreen.autohide", false); //always show URL and tab bar lockPref("browser.history_expire_days", 30); //clear history after 30 days lockPref("browser.history_expire_days_min", 30); //minimum 30 days to keep history lockPref("browser.link.open_external", 1); // open pages in new tab lockPref("browser.link.open_newwindow", 1); // open pages in new tab lockPref("browser.places.importBookmarksHTML", false); //don't import bookmarks lockPref("browser.places.importDefaults", false); //don't import other default settings lockPref("browser.rights.3.shown", true); //don't show copyright notice defaultPref("browser.search.suggest.enabled", true); //disable search suggestions lockPref("browser.shell.checkDefaultBrowser", false); //disable default browser check lockPref("browser.startup.page", 1); //show homepage at startup lockPref("browser.startup.homepage", "http://intranet.domain.com"); //home page URL pref("browser.tabs.autoHide", false); //always show tab bar defaultPref("browser.tabs.insertRelatedAfterCurrent", false); //load new tabs last defaultPref("browser.tabs.loadBookmarksInBackground", true); //new tabs in background defaultPref("browser.tabs.warnOnClose", false); //Warn when closing multiple tabs defaultPref("browser.tabs.warnOnOpen", false); //don't warn on opening mult. tabs lockPref("browser.taskbar.previews.enable", true); //enable taskbar previews defaultPref("browser.urlbar.autoFill", true); //enable URL autocomplete lockPref("config.lockdown.disable_themes", true); //disable themes lockPref("general.smoothScroll", true); //Use smooth scrolling lockPref("general.warnOnAboutConfig", true); //display warning prompt defaultPref("layout.spellcheckDefault", 1); //Check my spelling as I type lockPref("mozilla.widget.raise-on-setfocus"); //disable focus stealing defaultPref("mozilla.widget.raise-on-setfocus", false); //don't focus new tabs lockPref("network.automatic-ntlm-auth.trusted-uris", "proxy,domain"); //sites are allowed to automatically authenticate via NTLM lockPref("network.cookie.lifetimePolicy", 2); //keep cookies until I close Firefox lockPref("network.cookie.prefsMigrated", true); //don't prompt to migrate cookies lockPref("network.negotiate-auth.delegation-uris", "proxy"); lockPref("network.negotiate-auth.trusted-uris", "proxy"); //sites that are permitted to engage in SPNEGO authentication with the browser defaultPref("network.http.max-connections-per-server", 32); //sites for which the browser may delegate user authorization to the server defaultPref("network.http.pipelining", true); //enable HTTP pipelining defaultPref("network.http.pipelining.maxrequests", 7); //max http requests defaultPref("network.http.pipelining.ssl", true); //always enable HTTPS pipelining defaultPref("network.http.proxy.pipelining", true); //enable HTTP pipelining pref("network.proxy.type", 4); //auto-detect proxy settings lockPref("pref.privacy.disable_button.view_passwords", true); //Disable the "Show Passwords" Button lockPref("privacy.donottrackheader.enabled", true); //no targeted ads lockPref("privacy.item.formdata", true); //clear saved form data lockPref("privacy.item.offlineApps", true); //clear offline apps data lockPref("security.enable_ssl3", true); //Use SSL 3.0 lockPref("security.enable_tls", true); //Use TLS 1.0 defaultPref("security.warn_entering_weak", false); //warn when about to view a page that uses low-grade encryption defaultPref("security.warn_viewing_mixed", true); //warn when about to view an encrypted page that contains some unencrypted information defaultPref("security.warn_entering_secure", false); //warn when about to view an encrypted page defaultPref("security.warn_leaving_secure", true); //warn when leave an encrypted page for one that isn't defaultPref("security.warn_submit_insecure", true); //warn when submit information that's not encrypted lockPref("signon.rememberSignons", false); //don't remember passwords lockPref("toolkit.telemetry.prompted", false); //don't show send info to mozilla prompt defaultPref("view_source.wrap_long_lines", true); //enable line wrapping lockPref("xpinstall.whitelist.required", true); //Warn when sites try to install add-ons
Modified
Does it help if you remove the comment lines at the start and have the line with // as the first line?
Does it work with the starting like // and only a few lockPPref lines?
Just a few remarks about some of the prefs.
Prefs like these are no longer used in Firefox 4+
lockPref("browser.history_expire_days", 30); //clear history after 30 days lockPref("browser.history_expire_days_min", 30); //minimum 30 days to keep history
lockPref("browser.link.open_external", 1); // open pages in new tab
I'm not sure why you want to enable http pipelining by default. Not all servers may support that feature and if not you may encounter problems like missing or wrong images showing.
A value of 1 opens a link in the current tab, to open in a new tab you need to use 3
lockPref("browser.link.open_newwindow", 1); // open pages in new tab
Is there an equivalent setting for the history? We need to ensure we keep the history for 30days.
As for pipe-lining, I pulled the settings off my browser which I've tweaked a bit. It's good you mentioned it, I'll pull them out for the corporate version.
Thanks for catching the newwindow setting.
You're welcome
There is no time limit in Firefox 4+ versions for the history.
Firefox determines automatically how many pages can be kept without affecting the performance.
You can see the current value via the reads-only pref places.history.expiration.transient_max_pages on the about:config page.
See:
Thanks. So I got rid of the pipelining, history and corrected the open tab settings and I still get the error. Here is the current config.
# Mozilla Global Preferences /* This file is to set and lock default preferences. * * Locate the settings in the prefs.js you want to make global and * copy them here. To lock the setting change the Pref to * lockPref. */ // lockPref("accessibility.browsewithcaret", false); //dont' use cursor keys to navigate within pages defaultPref("accessibility.typeaheadfind", true); //Search for text when I start typing defaultPref("accessibility.typeaheadfind.flashBar", 0); //don’t flash toolbar when text is found lockPref("general.autoScroll", false); //don't use autoscrolling lockPref("app.update.auto", false); //disable automatic update lockPref("app.update.enabled", false); //disable updating Firefox lockPref("browser.bookmarks.restore_default_bookmarks", false); //restore default firefox bookmarks defaultPref("browser.cache.disk.capacity", 1048576); //cached settings defaultPref("browser.cache.disk.smart_size.first_run", false); //cached settings defaultPref("browser.cache.disk.smart_size_cached_value", 1048576); //cached settings lockPref("browser.download.useDownloadDir", false); //don't use download directory-always ask defaultPref("browser.download.manager.retention", 0); //remember downloads lockPref("browser.feeds.showFirstRunUI", false); //disable initial RSS intro defaultPref("browser.formfill.enable", true); //don't remember forms and search bar lockPref("browser.fullscreen.autohide", false); //always show URL and tab bar lockPref("browser.link.open_external", 3); // open pages in new tab lockPref("browser.link.open_newwindow", 3); // open pages in new tab lockPref("browser.places.importBookmarksHTML", false); //don't import bookmarks lockPref("browser.places.importDefaults", false); //don't import other default settings lockPref("browser.rights.3.shown", true); //don't show copyright notice defaultPref("browser.search.suggest.enabled", true); //disable search suggestions lockPref("browser.shell.checkDefaultBrowser", false); //disable default browser check lockPref("browser.startup.page", 1); //show homepage at startup lockPref("browser.startup.homepage", "http://intranet.domain.com"); //home page URL pref("browser.tabs.autoHide", false); //always show tab bar defaultPref("browser.tabs.insertRelatedAfterCurrent", false); //load new tabs last defaultPref("browser.tabs.loadBookmarksInBackground", true); //new tabs in background defaultPref("browser.tabs.warnOnClose", false); //Warn when closing multiple tabs defaultPref("browser.tabs.warnOnOpen", false); //don't warn on opening multiple tabs lockPref("browser.taskbar.previews.enable", true); //enable taskbar previews defaultPref("browser.urlbar.autoFill", true); //enable URL autocomplete lockPref("config.lockdown.disable_themes", true); //disable themes lockPref("general.smoothScroll", true); //Use smooth scrolling lockPref("general.warnOnAboutConfig", true); //display warning prompt defaultPref("layout.spellcheckDefault", 1); //Check my spelling as I type lockPref("mozilla.widget.raise-on-setfocus"); //disable focus stealing defaultPref("mozilla.widget.raise-on-setfocus", false); //don't focus new tabs lockPref("network.automatic-ntlm-auth.trusted-uris", "proxy,domain"); //sites that are allowed to automatically authenticate via NTLM lockPref("network.cookie.lifetimePolicy", 2); //keep cookies until I close Firefox lockPref("network.cookie.prefsMigrated", true); //don't prompt to migrate cookies lockPref("network.negotiate-auth.delegation-uris", "proxy"); lockPref("network.negotiate-auth.trusted-uris", "proxy"); //sites that are permitted to engage in SPNEGO authentication with the browser defaultPref("network.http.max-connections-per-server", 32); //sites for which the browser may delegate user authorization to the server pref("network.proxy.type", 4); //auto-detect proxy settings lockPref("pref.privacy.disable_button.view_passwords", true); //Disable the Show Passwords Button lockPref("privacy.donottrackheader.enabled", true); //no targeted ads lockPref("privacy.item.formdata", true); //clear saved form data lockPref("privacy.item.offlineApps", true); //clear offline apps data lockPref("security.enable_ssl3", true); //Use SSL 3.0 lockPref("security.enable_tls", true); //Use TLS 1.0 defaultPref("security.warn_entering_weak", false); //warn when about to view a page that uses low-grade encryption defaultPref("security.warn_viewing_mixed", true); //warn when about to view an encrypted page that contains some unencrypted information defaultPref("security.warn_entering_secure", false); //warn when about to view an encrypted page defaultPref("security.warn_leaving_secure", true); //warn when leave an encrypted page for one that isn't defaultPref("security.warn_submit_insecure", true); //warn when submit information that's not encrypted lockPref("signon.rememberSignons", false); //don't remember passwords lockPref("toolkit.telemetry.prompted", false); //don't show send info to mozilla prompt defaultPref("view_source.wrap_long_lines", true); //enable line wrapping lockPref("xpinstall.whitelist.required", true); //Warn when sites try to install add-ons
Modified
The error refers to a lockPref on line 109 but I don't have that many lines. So it's down to theses settings:
lockPref("accessibility.browsewithcaret", false); //dont' use cursor keys to navigate within pages lockPref("app.update.auto", false); //disable automatic update lockPref("app.update.enabled", false); //disable updating Firefox lockPref("browser.bookmarks.restore_default_bookmarks", false); //restore default firefox bookmarks lockPref("browser.download.useDownloadDir", false); //don't use download directory-always ask lockPref("browser.feeds.showFirstRunUI", false); //disable initial RSS intro lockPref("browser.fullscreen.autohide", false); //always show URL and tab bar lockPref("browser.link.open_external", 3); // open pages in new tab lockPref("browser.link.open_newwindow", 3); // open pages in new tab lockPref("browser.places.importBookmarksHTML", false); //don't import bookmarks lockPref("browser.places.importDefaults", false); //don't import other default settings lockPref("browser.rights.3.shown", true); //don't show copyright notice lockPref("browser.shell.checkDefaultBrowser", false); //disable default browser check lockPref("browser.startup.homepage", "http://intranet.domain.com"); //home page URL lockPref("browser.startup.page", 1); //show homepage at startup lockPref("browser.taskbar.previews.enable", true); //enable taskbar previews lockPref("config.lockdown.disable_themes", true); //disable themes lockPref("general.autoScroll", false); //don't use autoscrolling lockPref("general.smoothScroll", true); //Use smooth scrolling lockPref("general.warnOnAboutConfig", true); //display warning prompt lockPref("mozilla.widget.raise-on-setfocus"); //disable focus stealing lockPref("network.automatic-ntlm-auth.trusted-uris", "proxyserver1,proxyserver2,domain.com"); //sites that are allowed to automatically authenticate via NTLM lockPref("network.cookie.lifetimePolicy", 2); //keep cookies until I close Firefox lockPref("network.cookie.prefsMigrated", true); //don't prompt to migrate cookies lockPref("network.negotiate-auth.delegation-uris", "proxyserver1,proxyserver2"); //sites that browser may delegate user authorization to the server lockPref("network.negotiate-auth.trusted-uris", "proxyserver1,proxyserver2"); //sites that are permitted to engage in SPNEGO authentication with the browser lockPref("pref.privacy.disable_button.view_passwords", true); //Disable the Show Passwords Button lockPref("privacy.donottrackheader.enabled", true); //no targeted ads lockPref("privacy.item.formdata", true); //clear saved form data lockPref("privacy.item.offlineApps", true); //clear offline apps data lockPref("security.enable_ssl3", true); //Use SSL 3.0 lockPref("security.enable_tls", true); //Use TLS 1.0 lockPref("signon.rememberSignons", false); //don't remember passwords lockPref("toolkit.telemetry.prompted", true); //don't show send info to mozilla prompt lockPref("xpinstall.whitelist.required", true); //Warn when sites try to install add-ons
Modified
The problem seems to be this line:
lockPref("mozilla.widget.raise-on-setfocus"); //disable focus stealing
If I comment it out then it works.
Don't you just love end users. I posted before I started commenting out the settings to check. You were more correct than you know. Somehow I had lockPref("mozilla.widget.raise-on-setfocus"); //disable focus stealing defaultPref("mozilla.widget.raise-on-setfocus", false); //don't focus new tabs duplicating the setting one of which (you pointed out) had incorrect parameters.
All is working now. Thanks for all of your help. You are wiser than Jor-el. I'd call you Brainiac 5.
You're welcome