Virtualising Firefox? Don't forget to disable Updates

If you are virtualising Mozilla Firefox, you should probably consider disabling the update functionality within the browser, to ensure consistency of the virtual package. There are several items that need to be configured or removed:

  • The automatic updates functionality
  • Help / Check for Updates… menu item
  • The Firefox check-box in the Option / Advanced / Updates dialog box

Fortunately doing so is fairly straight-forward:

Disable Automatic Updates

Updates are disabled in the Options / Advanced / Updates dialog box (under Windows), which you can do when running Firefox during the sequencing/capture process - untick the Firefox check box and change When updates to Firefox are found to Ask me what to do.

Alternatively set and app.update.enabled to false in about:config or directly in %APPDATA%\Mozilla\Firefox\Profiles\<profile>.default\prefs.js.

Leave Add-ons and Search Engines enabled as these are stored within the user profile and can be updated when running under application virtualisation.

Disable the Updates UI

Disabling the user interface elements to these update preferences and launch points is also important. To hide UI elements in Firefox, create UserChrome.css in %APPDATA%\Mozilla\Firefox\Profiles\<profile>.default\chrome. This file does not exist by default, although you will find an example file in the chrome folder. Create the file and add the following lines to hide the updates menu item and the Firefox check-box in the Updates dialog box.

/\* remove the Check for Updates menu item \*/  
#updateSeparator, #checkForUpdates { display: none !important; }  
/\* remove the Updates / Firefox checkbox \*/  
#enableAppUpdate { display: none !important; }

If it is working correctly, you should see something like this (before and after):

Firefox options

This method is not completely fool-proof (the modified files all exist in the user profile and are thus writeable) but it should stop users from unwittingly attempting to update Firefox and allow you to control when updates are deployed.