Building off of the previous successful article, Make a .msi from Firefox 3 setup.exe for Enterprise Deployment, I have come up with an even better way to deploy Mozilla Firefox 3 via Group Policy and .msi installation. This article will provide a step-by-step guide to accomplish this, tested and proven working with Firefox 3.0.4.
Whereas the previous article allowed Firefox to be deployed as an .MSI through capturing the installation with WinINSTALL LE 2003, this article will be using the original installation package and using command line switches to direct the installation process. This means you will get the same results as doing an installation on one thousand machines that you would when downloading from Mozilla and installing on one machine by clicking through the install process. This now occurs without any tricky captures or chances for files to be manipulated.
Highlighted in and enabling this improved Firefox deployment method is the program Windows Installer Wrapper Wizard. Essentially what WIWW allows you to do is take a setup executable and wrap it inside of an .msi file. By doing this you can deploy the original setup.exe much faster than you can by making a capture and ensuring that it is perfect.
Update: Direct download available at bottom of article
In order to use Windows Installer Wizard, the setup.exe must accept command line switches (e.g. setup.exe /silent, /s, or /install). This requirement means that there is still a place for capturing the install, for those applications that are tricky or don’t have silent install capabilities.
Firefox 3, however, has those command line switches and we will use them to wrap the setup.exe file into a .msi so that we can deploy the software through the Group Policy with no ill side-effects.
To start, you’ll need to download two products:
Mozilla Firefox 3.0.4 (or current version)
Next install the products:
Install the Windows Installer Wrapper Wizard on your computer. It can be treated as a standard application and doesn’t need any other reservations like the previous capturing method. Also install Firefox from the setup that you just downloaded.
I recommend renaming the Firefox setup executable to something much easier to work with than ‘Firefox Setup 3.0.4.exe’. Instead, rename it to something like ff304.exe and then copy/move it to your distribution folder, or where you store your .msi files to deploy through group policy.
Now run through the Windows Installer Wrapper Wizard:
Launch the Windows Installer Wrapper Wizard. You’ll find it under the Start Menu, All Programs as WIWW 0.2.0.
Click Next to get past the introductory window.
The next window will prompt you to create a new Windows Installer msi file. With that radio button selected, hit the browse button. This is essentially asking where you want to save your MSI file. I would recommend that you save it at the same location you just copied the Firefox setup executable, your distribution folder or where you normally store .msi files to deploy through group policy. (This location is rather important because the permissions on the folder need to be such that all of your users and computers will be able to access the folder. If the permissions are wrong, your Group Policy install assignment will fail.)
Name your .msi file something similarly easy as the setup file, like ff3.msi, and hit Save to return to the original window. Then click Next to go onto the next window.
This next window is where you will specify the commands to install the program. Click the Add button for a new window to pop-up. Browse to the Firefox setup.exe copy in your deployment directory along with that, you should add the command line parameter ‘/S’. Your Program to Run window should look like the screenshot below. With those settings configured, hit Ok. Leave ‘Reboot the system at the end of installation.’ unchecked as it is not needed for installing Firefox. Click next to proceed to the uninstall commands window.
The next window after the install commands contains the instructions for the uninstallation of the program. This is important because if you use the options for deployed software to automatically uninstall itself if you delete the policy, it can actually uninstall the software.
Click the Add button so we can add the uninstall commands. Firefox uses a separate executable to uninstall itself. Some programs use the same executable to uninstall themselves as they used to install, but with a different switch like /U. For other programs, you’ll have to figure out this information.For Firefox, change the drop-down to say [ProgramFilesFolder].
WIWW uses variables to reference the folders in case it is different from one machine to the next. Whereas with the install, we checked the box for ‘Use [SourceDir]‘, this meant it would find the executable in the same directory that the MSI is running from. The uninstall executable for a Windows XP/Server 2003 machine will come from C:Program FilesMozilla Firefoxuninstallhelper.exe. So choosing [ProgramFilesFolder] takes care of the C:Program Files part.
Now hit the browse button and select the C:Program FilesMozilla Firefoxuninstallhelper.exe application. You’ll notice that after you select it, what gets entered in the text box is just the Mozilla Firefoxuninstallhelper.exe part. This part gets combined with the [ProgramFilesFolder] selected above to complete the entire location. We’ll need to specify another switch to make sure the uninstall completes in its silent mode, without need for user interaction. In order to do that, put a /S in the box for program parameters. Your setup should match the screenshot below.
Click next to move onto the Product Appearances and Requirements page. Here you can configure what options are available in the Control Panel, Add/Remove Programs component. For Firefox, the ‘Disable the Change button’ and ‘Disable the Repair button’ should be checked as Firefox’s setup does not utilize these functions. You can also prevent it from even being listed so that users cannot remove the application.
You can also set the minimum requirements for the application, like Windows XP SP3 or Windows 2000 SP4.
Hit the Next button to proceed to the Package Meta Data and Language options. This will be the name listed in the Add/Remove Programs control panel component. I would recommend:
Product name: Mozilla Firefox 3
Product version: 3.0.4 (or current version numbering. Yes, 3.0.5 just came out while I was writing this…)
After you are satisfied, hit Next to proceed to the summary page. This will provide a summary of all the options we just selected. If you are content with them, hit Next to generate the .msi or hit Back to make any changes. After the .msi is generated in the location you provided, it will confirm this and tell you the location when it successfully completes. Hit Finish and you’re almost all done.
The final steps are to make the Group Policy for deployment. Add a new standard package and choose the .msi you just created through the Group Policy Management Console. The only other option you might choose is to ‘Uninstall This Application When It Falls out of the Scope of Management’. This would allow you to control the software more through the group policy. If you delete the group policy or remove a computer from a group that has this policy affecting it, the software would be uninstalled. This can be particularly useful for new versions. When Firefox 4 comes out, you could just delete this policy and make a new one to install Firefox 4. This would serve the dual purpose of uninstalling the older version and installing the newer version.
Any questions, just use the comments below.
I believe you can customize the default Firefox settings before it is deployed. Open up the Firefox setup.exe downloaded from Mozilla with 7-zip or a comparable zip/extraction program.
After you have opened the archive, drill down to localizeddefaultsprofile and you will see where you can change the default bookmarks deployed. If you go up one directory to the ‘defaults’ folder, you will also see all the entries for the default search providers.
I have to imagine you could edit these files or provide your own alternatives to change the default deployment to people that have not yet setup a Firefox profile.
Can anyone confirm or explain how one would include extensions into the defaults?
Update: You can download the following .msi file from my site here. It includes the above methods. You’ll also need to download the latest Firefox install from Mozilla: Mozilla Firefox 3.0.6.
Step 1: Download my firefox3.msi (way out of date now, discontinued)
Step 2: Download the latest version of Mozilla Firefox 3
Step 3: Put the firefox3.msi and the setup file downloaded from Mozilla in the same deployment directory.
Step 4: Rename the Mozilla setup file to firefox3.exe
Step 5: Configure your Group Policy deployment using my firefox3.msi file.