Archive for the ‘Firefox’ Category

Build a Custom Firefox Application for Mac OS X

Firefox is increasingly becoming the browser of choice among end-users. This poses a challenge for system administrators. Firefox does not use the standard plist preference system that is a part of Mac OS X. It uses its own proprietary method. This makes deploying and customizing Firefox in a managed setting different from most Mac OS X applications. Fortunately there are ways to make deploying Firefox easier. One way is to use tools to build a configured and locked-down version of Firefox ready for deployment in an enterprise setting.

Using freely available tools it is easy to build a customized version of Firefox for your organization. You can bundle settings customizations, certificates, extensions, and bookmarks into your custom Firefox build and pack it into a .dmg.

Before I get to the how-to, I want to briefly explain how this customization is actually working. What you are going to generate to customize your Firefox application is an extension file (.xpi). This extension file applies all of the settings of your choosing to Firefox when it is launched. This guide will walk you through generating the .xpi file, and then packaging Firefox with this custom .xpi into a .dmg that is ready to be deployed.

Tools you will need for this guide:

Firefox 3.6.x

CCK Wizard

Firefox Release Repackager

Install Firefox on your workstation then download and install the CCK Wizard Firefox plugin from here: https://addons.mozilla.org/en-US/firefox/addon/2553. Note: I wasn’t able to get this add-on to run on Firefox 3.6, I ran it on Firefox 3.5.7. This step only generates the .xpi  file we are going to use in our custom build, and generating it with the CCK tool in 3.5.7 will still allow us to use the .xpi to deploy/customize Firefox 3.6. Turns out this doesn’t work. Will have to wait for the CCK Wizard to be compatible with 3.6. So for now this guide will only work for 3.5.7. CCK Wizard has now been updated and is compatible with Firefox 3.6.x.

Run the extension by going to the Tools menu in Firefox and select CCK Wizard. Run through the setup steps to configure your customizations (these steps are fairly self-explanatory). You can add bookmarks, extensions, etc. Once you are done the .xpi will be generated for you.

Now download and install the Firefox Release Repackager from here: http://benjamin.smedbergs.us/release-repackager/. You also need the Mac OS X developer tools installed to run the application.

I wasn’t able to get the GUI for the application to successfully run on 10.6, but luckily the application can be run from the command line and works like a charm.

Assuming you installed the Firefox Release Repackager to your applications folder, open Terminal and run the following command:

Note: Despite how this appears below this should all be one line.

/Applications/ClientKitRepackage.app/Contents/MacOS/xulrunner 
--xpi=/Users/admin/Documents/cck.xpi --platforms=mac  
--source=/Users/admin/Downloads/ --dest=/Users/admin/Documents  
--disable-migration --silent

Here is a breakdown of the command:

--xpi=/Path/To/Your/xpifile.xpi
--platforms=mac (build the application for mac)
--source=/Path/To/Directory/With/OriginalFirefox.dmg
--dest=/Path/To/Where/You/Want/Your/NewFirefox.dmg

--disable-migration (Disable profile migration)
--silent (Don't open the GUI and build the custom build)

Run the command as root (or use sudo) and you will have a custom dmg with your custom Firefox application. Awesome!

Advertisements