Mozilla Firefox

    General discussion


    • Application Name: Mozilla Firefox
    • Application Version: 3.6.2
    • Company Name: Mozilaa
    • Sequencer Version:  4.6
    • App-V Client Version tested on:  4.6
    • Operating System sequenced on:      Windows XP SP3 x86
    • Pre-requisites: Copy any preference setting files to sequencer machine
    • Client Operating Systems successfully deployed to:  Windows XP x86 / Windows 7 x64
    • *Posted by non-Microsoft Employee: Jeffrey Crawford, Indiana University

    • Steps to sequence the application:

    (Steps 1-2 are optional and performing them will exclude the users Mozilla profile from being included in the bubble)

    1. Navigate to directory:
      C:\Program Files\Microsoft Application Virtualization Sequencer
    2.  Modify the existing default.spjr using notepad so that you add the following:
      1. <EXCLUSION Pattern="%CSIDL_APPDATA%\Mozilla" Context="VFS_EXC" Type="PSR_DataSystem"/>
    3. Open up internet explorer or your browser choice.  Navigate to the web page:
    4. Click Download Firefox -Free
    5. Click on the option save
    6. Save file to desktop
    7. Start the Microsoft Application Virtualization Sequencer and create a package
    8. Fill in Package Name as you wish
    9. Click Begin Monitoring create a directory in which the app-v package will be generated and stored.  IE: R:\Firefox.000
    10. Double click on Firefox Setup and click run if a security box is presented
    11. Click Next
    12. Select Custom
    13. Select Browse
    14. Change path to the directory you created in step 10.  Root level:  IE.  R:\Firefox.000
    15. Click Next
    16. Check or de-check all options of your personal choice
    17. Click next
    18. Click Next
    19. Check or uncheck Use firefox as my default web browser  
      (Note:  If checked file association type’s will be created for firefox if not then they will not be)
    20. Click Install
    21. Un-check Launch Firefox now or leave it checked
    22. Click Finish

      (Steps 23 - 33 are optional and can be skipped)

    23. Navigate to the directory you created in step 10.  IE. R:\Firefox.000
    24. Copy or create Mozilla.cfg  file  (File name could be different but result is used to configure
      firefox to use settings that you desire.  These setting changes cannot be reverted by user.
      IE: //
      try {
      lockPref("app.update.enabled", false);
      lockPref("app.update.autoUpdateEnabled", false);
      lockPref("extensions.update.enabled", false);
      lockPref("extensions.update.autoUpdateEnabled", false);
      lockPref("", false);
      } catch(e) {
      displayError("lockedPref", e);
    25. Change directory to greprefs
    26. Open up file all.js
    27. Find line: pref("general.config.obscure_value", 13); // for MCD .cfg files
    28. Change to:
      pref("general.config.obscure_value", 0); // for MCD .cfg files
      pref("general.config.filename", "mozilla.cfg");
      (This sets firefox to use the configuration file from above)
    29. Save changes.
    30. Go back to the root directory IE: R:\Firefox.000
    31. Change directory to: Defaults\Profile
    32. Open up Prefs.js and configure the file to your liking
      IE: user_pref("browser.startup.homepage", "");
      Note:  This file is only used for first time users once a profile has been created it will not refer to this file again.
    33. Save changes.
    34. Click Stop monitoring
    35. Click Next
    36. Click Next
    37. (Optional Step: Launch Firefox.  My personal preference is to not launch chrome on the sequencer box at any point)
    38. Click next
    39. Select Finish
    40. Click on Virtual Registry
    41. Check for the existence of MozillaPlugins key under:

      If key exist ensure it is set to Merge with Local Key
    42.  Check for the existence of MozillaPlugins key under:

      If key exist ensure it is set to Merge with Local Key
    43. Save the package and run on end client machine.


    • Known Issues/limitations: None with this edition. 
    • Approximate sequencing time: 10 minutes


    • Edited by Manita Sharma Thursday, April 8, 2010 6:35 PM Added the name and company name of the contributor
    • Changed type Aaron.ParkerModerator Thursday, August 11, 2011 8:06 PM
    Tuesday, March 30, 2010 6:17 PM

All replies

  • I have a question while not with app-v we are still working on customizing firefox 3.6.3 and i have customized all the settings I want. I cannot get firefox to read the mozilla.cfg file whether it be plaintext with all.js using the 0 setting or with byte shift 13 and obscure value set to 13 in all.js.

    Ric Nagy
    Wednesday, June 23, 2010 9:05 PM
  • After testing this, I would add the following to the recipe, mostly by way of explanation of some steps.

    (Steps 1 - 2 are optional if you want to distribute without including *any* pre-set options that would still be user-configurable after the program is distributed. Otherwise, do not do this and instead configure such items as homepage and network proxy settings - that you want to allow the user to later change - during the monitoring phase. This will set those options for all users that do not already have those set in their profile. Using AppV to capture the settings changed is a much easier approach than digging through the docs on distributing Firefox and how to pre-set options using the various *.js and *.cfg files, at least in my opinion.)

    Step 1 and 2 - with version 4.6 of AppV, I did not find a "default.spjr" file to modify. Instead, I used the menu in the AppV software when first launched, clicking on "Tools" -> "Options", then clicked the "Exclusion Items". Then click "New" and fill in the "Exclude Path" with %CSIDL_APPDATA%\Mozilla and select the VFS "Mapping Type". Note: I have since learned how to create the default.spjr, at least in version 4.6. Open up the sequencer, use Tools->Options, click "Exclusion Items" tab, click "Save as default" button. That creates the file and the sequencer references it for defaults from that point on.

    (Steps 23 - 29 are optional, and are useful if you wish to distribute "locked" preferences that users cannot change. For a listing of options that can be set, use Firefox to navigate to the 'about:config' page.)

    (Steps 30 - 33 are optional, and are useful if you wish to manually pre-set options in Firefox that users can later change. This is more easily done by using AppV to capture setting changes during the monitoring phase, in my opinion. Those settings that are changed during monitoring will be merged with users' settings - this achieves the desired result of pre-setting some options for all users. It can also be set to overide users' settings if the 'override' option is selected for the appropriate subtree in the VFS tree, if that is needed.)

    (Steps 40 - 42 are used to make sure that user-installed plugins are not removed. I think this would only make sense if the package was including plugins as part of the package instead of being packaged separately. In my case, no plugins are made as part of the Firefox package, and the mentioned keys did not exist.)

     Also - for additional plugins managed as separate virtual apps, revert the vm to clean, and then perform a local install of firefox. at that point, launch the sequencer to capture the plugin install. when done, use the DSC tool to edit the packages, making firefox primary and the plugins secondary.

     AN UPDATE AFTER TESTING: DO NOT ATTEMPT TO ALLOW USERS TO USE VIRTUALIZED FIREFOX AS THEIR DEFAULT BROWSER!! Anyone, please correct me if I am wrong. I have attempted this and wound up with a mess. Clearing and deleting the apps out of the local machine's appv client's admin console cleared it up, and maybe I just did something wrong - but I could NOT get this to work correctly.

    The users can "set as default" all day long in Firefox, which does nothing in the OS. Trying to register the virtual application as the default browser may be doable, but I haven't found a good way of allowing non-admin users a simple way of choosing to set Firefox as the default. Truth is, I never could get it working 100% even as admin user. SO... firefox virtualized is fine, UNLESS your environment requires allowing users to choose it as a default browser.


    • Edited by twgage Thursday, October 14, 2010 9:39 PM
    Monday, September 20, 2010 3:19 PM
  • I used a different method for removing the update option.


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


    You place that in a file called userChrome.css in the folder Q:\<path>\defaults\profile\chrome

    That removes their ability to click on Help -> Check For Updates. Also has the effect of disabling updates altogether.

    Note: I place it in that location because I do NOT capture the profile. If you capture the profile then obviously it needs to go into the appdata folder under the profile you captured.

    Wednesday, September 22, 2010 8:20 PM
  • Is there any known problems with sequencing the plugins like shockwave/flash with the Firefox installation?  I've done it and it seems to work, but I'm not sure if it's the best practice.  I also sequenced with smartcard software so it's able to pick up the device under security devices.   I tried everything to attempt to have firefox read the local installation of the smartcard software, but it just wasn't working.
    Wednesday, October 6, 2010 2:41 PM
  • Beyond normal integration issues I do not believe so. I seem to have better luck NOT capturing a users profile for just this reason though. Some things have stuttered trying to install if I capture the profile. Downside is, not capturing it is one more thing on the system...but that isn't so bad IMO for a profile, would hate to torch it along with the app everytime the client had a problem.
    Friday, November 12, 2010 7:42 PM