Hey Everyone! Welcome back to another Firefox deployment post (up to number 4 now). As it was only released in the last few days, I have actually tested this with version 23 and version 24 without any issues.
Previously, I have used manual edits to the Firefox application bundle, all of which need to be repeated on each update of the application.
This blog will use the excellent CCK Wizard from the amazing Mike Kaply to construct a lock-down extension that can be easily and quickly transported between updated versions a lot easier.
While the author has taken care to provide our readers with accurate information, please use your discretion before acting upon information based on the blog post. Amsys will not compensate you in any way whatsoever if you ever happen to suffer a loss/inconvenience/damage because of/while making use of information in this blog.
Right, lets get to it.
Firefox Version: 24.0.0
This blog post is split into three main sections:
- Obtaining and installing the CCK Wizard.
- Configuring a CCK lock-down profile.
- Installing the profile into your Firefox bundle.
I suggest you use a new user account that hasn’t launched Firefox, of any version, to build your deployment copy.
Phase 1: Obtaining and installing the CCK Wizard
- Navigate to the Firefox website and download the latest copy of Firefox.
- Drag your new copy of Firefox to the desktop so you can work on it.
- Launch Firefox and dismiss all of the first launch popups and messages.
- Once you have got your copy of Firefox fully open, launch the Add-on manager by going to the “Tools” menu item, then “Add-ons”.
- In the “Search all add-ons” box, type in “cck” and hit return.
- This should show the CCK Wizard add-on installer. Click “Install” and once complete, click “Restart Now”.
- Once Firefox has restarted, you should see the following screen. This means that the CCK Wizard add-on is installed. This completes Phase 1.
- With your newly relaunched Firefox, go back to the “Tools” menu bar item and select “CCK Wizard”.
- This will launch the CCK Wizard editor. Click “OK” for the splash / intro page.
- Click the “Save configuration automatically on exit” and click “New”.
- Give your configuration a new name and select a location to store the files it outputs. Click “OK”.
- Once you’ve got the new profile in the drop down box, hit the “Continue” button.
- Next you’ll get the “Customize Extension” screen. This is the main configuration for the profile it’s self. These are as follows:
- For this example, I have only set the following options:
- The next page allows you to customise the browser:
- The next page allows you to customize the window title text and the Animated Logo. Generally speaking, these are not required for our typical deployment and so I have neither used, nor tested this functionality. Click “Continue”.
- The next page is the third Browser configuration page. This allows you to set a number of items relating to the help menu and user interface elements. Again, these are not required for our typical deployment and so I have neither used, nor tested this functionality. The exception is that I have ticked the “Display the Bookmarks Toolbar” option. Click “Continue”.
- Next is the last page for customising the browser. This allows you to allow or block sites. These are not required for our typical deployment and so I have neither used, nor tested this functionality. Click “Continue”.
- The next section allows you to add browser plugins into your Firefox bundle. As with some of the advice features above, I have not tested or tried this section. Click “Continue”.
- The next page allows you to customise the search engines. I have used the drop down box to add “Google” as the default search engine. Click “Continue”.
- The next screen allows you to add custom Extensions or Themes to your Firefox bundle. This is something I haven’t tested or used so I’m leaving this as default. Click “Continue”.
- The next four screens (“Customize the Bookmarks Toolbar” parts 1 and 2 and “Customize Bookmarks” parts 1 and 2) allow you to preload the bookmarks into the bookmarks menu and toolbar. Again, as these have not been required I have not tested or used these screens. Click “Continue” on these four screens.
- The next page allows you to load in the customer preferences into the Firefox bundle. These are the same options available in the about:config menu and also very similar to those we’ve added in my previous Firefox deployment blogs.
- To add a preference, click the “New” option.
- In the “Preference Name” box, start typing the preference you want to set. The CCK will try and offer the preferences you are looking for. Once you find the one you want, click it.
- In the lower box, select the value you want, and if you need the preference to be locked, select the tick box. Click “OK”.
- Once you’ve clicked “OK” you will be taken back to the previous page and shown the preference you have set. Below, I have detailed all of the settings from my previous blogs that work in version 24 of Firefox. Once you have them all set, click “Continue”.
- The next two pages allow you to add items to the Windows Registry and to add certificates into Firefox. Again, as these were not required I did not test these, or use them and so I left these at their defaults. Click “Continue” on these two screens.
- The next screen allows you to set the Proxy settings for Firefox. Set your desired proxy configuration and click “Continue”. For this example, I have selected “Use system proxy settings”.
- And finally, you’ll reach the Conclusion page. Click “Done” and “Save”. This completes the profile configuration.
- 31. The next steps involve getting the new profile into the current Firefox user, and then into the Firefox bundle itself. Navigate to the location you saved your final file in. This should end with the extension.xpi.
- Use “Open With…” on the file and open this in the Firefox copy you are using to build with. You may need to change the “Enable” drop down box to show “All Applications”.
- Once Firefox launches, you will see a warning in Firefox. Click “Install Now”, then “Restart Now”.
- Once Firefox has restarted, fully quit the application. Open a new Finder window and navigate to your Application Support folder (“~/Library/Application Support/” not the top level Application Support Folder) and open the “Firefox” > “Profiles” > “[string of text].default” > “Extensions” directory.
- Leave this window open and to one side. Go back to your build version of Firefox, right click and select “Show Package Contents”.
- Navigate to the “Contents” > “MacOS” folder within this bundle. This area will be familiar to those who’ve followed my previous posts about Firefox deployment configuration.
- Inside the “MacOS” folder, create a new folder called “distribution”, with another folder inside called “bundles”.
- Into this new bundles folder, drag your extension from the folder we navigated to in step 34. In this example, mine is called “firstname.lastname@example.org”. Your final Firefox bundles folder should look like this:
- Firefox should now have its tweaks complete and stored within its application bundle. When a new user launches Firefox, it will silently store the lock-down profile and apply the settings. To test I would recommend copying the final product into the Applications folder, then creating and using a new User account, verifying the behaviour is as expected. Also remember, to ‘reset’ a user to continually test the use of Firefox as a new user, just remove these two directories:
For future usage, the actual CCK Wizard add-on will only be needed for editing the lock-down profile.
Phase 2: Configuring a CCK lock-down profile
a. Unique ID – This is the universal name for this extension.
b. Name – This is the name of the extension as it shows up.
c. Version – This is for your own version system.
d. Firefox Version – Minimum and Maximum – These are the minimum and maximum versions of Firefox that are supported by this add-on. An asterisk (*) can be used as a wildcard.
e. Description – A brief description of the Extension / profile you are creating.
f. Creator – The name of the person or company who created the profile.
g. Homepage URL – The URL of the person or company who created the profile.
h. Update URL – (Not tested) The URL that can be used to update the extension
i. Update Public Key – (Not tested) The public key used to verify the update is genuine.
j. Icon – (Not tested) The icon to use for the profile.
k. Filename – The name given to the resulting profile file.
l. Do not show this extension in the extension manager – Tick this to hid the profile from Firefox add-ons.
m. Do not allow access to about:config – Tick this to block access to the advanced configuration available through about:config.
n. Remove access to private browsing – Tick this to block access to the private browsing functionality.
o. Turn off Firefox Sync – Tick this to disable Firefox Sync
p. Prevent Discovering Add-ons in the Add-ons Manager – Tick this to disable the discovering section of the Add-ons.
q. Make sure Firefox is the default browser at startup – (Not tested) Tick this to enable Firefox as the default browser.
d. 17 and *
e. Example lock down for Firefox
f. Darren Wallace
l, m, n, o, p. Ticked
r. click “continue”
a. Enter a company string of text. This is shown in the help and about windows.
i. I have used “Amsys_Plc”
b. Home Page. This is the default webpage when Firefox is launched.
i. I have used “http://www.google.co.uk”
c. Welcome Page. This is used to set the initial profile page. You can also use the tick box to disable this.
i. I have used Google as a safety net, but I have ticked the “Do not display…” tick box.
d. Upgrade Page. This is used to set the page to be shown after Firefox is updated. You can also use the tick box to disable this.
i. I have used Google as a safety net, but I have ticked the “Do not display…” tick box.
e. Click “Continue” once complete.
Phase 3: Installing the profile into your Firefox bundle
~/Library/Application Support/Mozilla ~/Library/Application Support/Firefox
There you have it, a nice and long post! Hopefully that will help some of you with a better method, or even just an alternative method of configuring Firefox for your deployments.
As always, if you have any questions, queries or comments, let us know below and I’ll try to respond to and delve into as many as I can.