In this guide, you we will learn how to deploy Mozilla Firefox with System Center Configuration Manager (SCCM).  I will show you to install Firefox on the computers in your network with preconfigured settings and extensions, suppressing all unnecessary prompts and first-run pages.

With so many web browsers available for use today, Mozilla Firefox remains the top choice for many enterprise users because of its security, stability, and speed. In this article, I will be going over the steps for configuring, packaging, and deploying the latest version of Mozilla Firefox.

Step 1 – Download the latest version of Firefox. 

I recommend you use the Extended Support Release (ESR) package, as it is intended for large groups and organizations that need to mass deploy Firefox in a desktop environment. This version is also more stable and secure than the regular version of Firefox, which is intended for personal use.

Step 2 – Create a new folder to place the installer, scripts, and extensions. For this guide, I will be saving all the necessary files to the following location:

\\SCS-CFGMGR-MP\SWSTORE\Software\Installed\Mozilla Firefox\V45

Step 3 – Open Notepad and create a new text document called "override.ini." Copy and paste the information below. When you are done, save the file to the source folder you just created.


Step 4 – Open Notepad and create a second text document called "local-settings.js." Copy and paste the information below. When you are done, save the file to the source folder you just created.

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

Step 5 – Open Notepad and create a third text file called "mozilla.cfg." Copy and paste the information below.

Note the strings that may be used in this file can be found by opening Firefox on a reference computer and navigating to "about:config." You can choose to add or remove strings from this file as you wish. Be careful when doing this because Firefox will not launch if the mozilla.cfg file is corrupt or invalid. In addition, note that placing "lockPref" in front of a string will lock the settings from being changed by any user, while "pref" will simply make your custom setting the default setting when Firefox is launched. When you are done, save the file to the source folder you just created.

// WKS Mozilla Firefox Lockdown
// Disable updater
lockPref("app.update.enabled", false);
// Make absolutely sure it is really off
lockPref("", false);
lockPref("app.update.mode", 0);
lockPref("app.update.service.enabled", false);
// Disable Add-ons compatibility checking
// Don't show 'know your rights' on first run
pref("browser.rights.3.shown", true);
// Don't show WhatsNew on first run after every update
// Don't show Windows 10 splash screen on first run
pref("browser.usedOnWindows10", true);
// Set default homepage
// Disable the internal PDF viewer
lockPref("pdfjs.disabled", true);
// Disable the flash to javascript converter
lockPref("shumway.disabled", true);
// Don't ask to install the Flash plugin
pref("plugins.notifyMissingFlash", false);
// Disable plugin checking
lockPref("plugins.hide_infobar_for_outdated_plugin", true);
// Disable health reporter
lockPref("datareporting.healthreport.service.enabled", false);
// Disable all data upload (Telemetry and FHR)
lockPref("datareporting.policy.dataSubmissionEnabled", false);
// Disable crash reporter
lockPref("toolkit.crashreporter.enabled", false);
Components.classes[";1"].getService(Components.interfaces.nsICrashReporter).submitReports = false; 
// Disable default browser check
lockPref("", false);
// Delete history on exit
lockPref("browser.history_expire_days", 0);
lockPref("browser.history_expire_days.mirror", 0);
lockPref("browser.formfill.enable", false);
lockPref("", 0);
lockPref("network.cookie.cookieBehavior", 0);
lockPref("network.cookie.lifetimePolicy", 2);
// Disable password manager
lockPref("signon.rememberSignons", false);
lockPref("pref.privacy.disable_button.view_passwords", true);
// Disable themes
lockPref("config.lockdown.disable_themes", true);
// Enable Java Plugin
lockPref("security.enable_java", true);
// Automatically enable extensions
lockPref("extensions.autoDisableScopes", 0);

Step 6 – Create a new folder inside the source folder you created earlier called "~Extensions."

For this guide, I will be using OneNote Web Clipper 3.2.8 as the extension I want to include with my deployment. To obtain this extension, install and launch the OneNote Web Clipper add-on in Firefox on a reference computer. Navigate to C:\Users\%USERNAME%\AppData\Roaming\Mozilla\Firefox\Profiles\*.default\extensions\, and copy the extension file to the "~Extensions" folder you just created. This process may vary for some extensions.

Step 7 – Open Notepad and create a fourth text file called "Install.bat." Copy and paste the information below.

Note that the fifth line, which copies the extension, uses the name that is specific to the extension used in this example. You will need to change this text to match the extension that you’d like to include with your installation.

"%~dp0setup.exe" -ms
if exist "C:\Program Files\Mozilla Firefox\" copy /Y "%~dp0override.ini" "C:\Program Files\Mozilla Firefox\browser\"
if exist "C:\Program Files\Mozilla Firefox\" copy /Y "%~dp0mozilla.cfg" "C:\Program Files\Mozilla Firefox\"
if exist "C:\Program Files\Mozilla Firefox\" copy /Y "%~dp0local-settings.js" "C:\Program Files\Mozilla Firefox\defaults\pref"
if exist "C:\Program Files\Mozilla Firefox\" copy /Y "%~dp0~Extensions\" "C:\Program Files\Mozilla Firefox\browser\extensions"

When you are done, save the file to the source folder you just created. We are now ready to deploy the application with SCCM.

Step 8 – Open the System Center Configuration Manager console. Click on the "Software Library" tab to expand Application Management and click on the "Applications" applet.

Find and open the "Create Application Wizard" in the Ribbon above. When the wizard launches, choose "Manually specify the application information," and click Next. Enter any information you think is necessary, and click Next again.

Create Application Wizard

Create Application Wizard

Configure application information

Step 9 – When asked to specify settings for this deployment type, choose "Script Installer," and click Next. Enter a name for the deployment type (I usually use "Install"), and choose a language; I will select English (United States).

Specify deployment type

Specify deployment type

Click Next. On the next screen, specify the content location, installation program, and uninstall program (optional). I will not be specifying an uninstall program, as this application should not be uninstalled in my environment and will be advertised to workstations as a required advertisement. Note that I selected "install.bat" instead of "setup.exe" for the installation program.

Specify content delivery

Specify content delivery

On the next page, we are going to specify how the Configuration Manager will detect whether the workstation needs Mozilla Firefox installed. Click "Add Clause," and leave the default settings. Configure the other settings as follows:

Type: Folder

Path:  C:\Program Files\

File or Folder Name: Mozilla Firefox

Click OK, and click Next.

Create application deployment rule

Create application deployment rule

Step 10 – Now we are going to specify the user experience settings for this application—essentially how the application will install on the computer. Configure the settings as follows:

Installation behavior: Install for System

Logon requirement:  Whether or not a user is logged on

Installation program visibility: Hidden

You can leave the defaults for maximum allowed run time and estimated installation time, if you wish. However, I am going to set the maximum allowed time to run at 15 minutes and the estimated installation time to 15 minutes. There’s no reason this application should take longer than 15 minutes to install. Since I am not going to specify any requirements and Mozilla Firefox has no dependencies, I am going to click Next for the last few screens. At the end, I will be shown a summary of my configuration. Click Next to finish creating the application and exit the Create Application Wizard.

Summary page

Summary page

Step 11 – Now it’s time to distribute and deploy Mozilla Firefox. Right-click on the Mozilla Firefox application, and select "Deploy."

Deploy application

Deploy application

Choose the Device Collection to which you’d like to deploy the application, and click Next.

Push to collection

Push to collection

Step 12 – Specify the Distribution Point(s) or Distribution Point Group to which you’d like to distribute the application, and click Next.

Step 13 – Specify the type of deployment you’d like to advertise, and click Next. In this example, we will set the deployment type to be a Required advertisement.

Specify type of advertisement

Specify type of advertisement

Step 14 – Leave the scheduled deployment deadline as-is, and click Next.

Step 15 – Specify the user experience by determining whether you’d like the end-user to be notified that the application has been made available. In this example, I am going to opt to hide notifications in Software Center.

Leave the option under handling Windows Embedded devices as-is, and click Next.

Hide in Software Center

Hide in Software Center

Step 16– For now, I am going to leave the alert settings alone. Click Next.

On the confirmation page, click Next one more time to finish and close the Deployment Wizard.

Step 17 – Wait a few minutes, and logon to one of the workstations in the Device Collection to which you deployed Firefox earlier.

Mozilla Firefox should now be installed. When you launch it for the first time, it will launch without any unnecessary prompts or welcome pages, and will automatically enable the OneNote Web Clipper extension.

Subscribe to 4sysops newsletter!

Firefox is installed and configured

Firefox is installed and configured