title: Setting default firefox preferences
body: <p>Our continuous integration process uses Selenium, and twice in the last few months it has been knocked out of action thanks to firefox updating itself (either on developer machines or the CI server).  </p>
  
  <p>We have therefore installed the previous firefox version alongside the later one (this time in a directory called firefox-16), until Selenium catches up.  </p>
  
  <p>The problem is, the app.update.auto setting (in about:config) is set to true by default - meaning that sooner or later it will update itself to 17 and selenium will break.  We therefore installed an all-no-update.js file in the <code>/usr/lib/firefox-16/defaults/pref</code> folder containing </p>
  
  <pre><code>user_pref("app.update.auto", false);
  </code></pre>
  
  <p>which (<a href="https://developer.mozilla.org/en-US/docs/Mozilla/Preferences/A_brief_guide_to_Mozilla_preferences" rel="nofollow">according to MDN</a>) should override any other values.  Unfortunately it doesn't work - the about:config page still shows auto-update as <code>app.update.auto</code> as true.  <a href="https://developer.mozilla.org/en-US/docs/Code_snippets/Preferences#Default_preferences" rel="nofollow">This MDN page</a> says:</p>
  
  <blockquote>
    <p>All Mozilla-based applications read (application directory)/defaults/preferences/*.js</p>
  </blockquote>
  
  <p>but unfortunately that doesn't work either - the value stays unchanged.  </p>
  
  <p>I've trawled the Bugzilla database but can't find anything relevant (other than the fact that an all.js file gets deleted by an upgrade so be sure to use all-<em>*</em>.js file).  </p>
  
  <p>Does anyone know enough about the workings of Mozilla Firefox to tell me how to set this preference value? (please don't say "click on the about:config page" - it needs to be automatically to ensure the build is repeatable and stable).</p>
  
  <p>Thanks, James</p>
  
  <hr>
  
  <p>Edit:
   Sorry if the above isn't clear: I can create default preferences, for newly created profiles, just fine.  But as users already have a profile this won't have any effect.  I could possibly create a new profile on every machine, for every user, that has this setting disabled - but it is a lot of overhead.   Sysadmins all over the world must be using this functionality somehow, surely: a way to override a given preference with a centrally-set one?</p>