If considering virtualizing Firefox 15 with App-V, first Aaron Parker's blog is a great resource: http://blog.stealthpuppy.com/virtualisation/sequencing-mozilla-firefox-8/. If wishing to add DoD CAC integration there are quite a few more considerations that can be accomplished outside of the virtual environment (to allow bookmarks to stay in place when Firefox is upgraded).
- ActivClient middleware needs to be configured since Firefox does not natively support this
- DoD root certificates need to be added
Strategizing on how to do this I chose to create a default Firefox profile that had these two elements preconfigured and created a script that would migrate Firefox bookmarks from any previous Firefox profiles. To setup the default Firefox profile, configure ActivClient and then use the DoD plug-in to add root certificates http://www.forge.mil/Resources-Firefox.html. Once completed, copy the Firefox profile to a safe place (to be used in the script). The following script can be used to save existing bookmarks and place the pre-configured Firefox profile. With this in place as a per-profile dependency, the virtualized Firefox application can sit nicely on top of it:
rem Copy Bookmarks to safe location
for /F "tokens=2 delims=/" %%i IN (%USERPROFILE%\AppData\Roaming\Mozilla\Firefox\profiles.ini) DO copy /Y %USERPROFILE%\AppData\Roaming\Mozilla\Firefox\Profiles\%%i\places.sqlite %USERPROFILE%\AppData\Roaming\Mozilla\places.sqlite
rem Copy CAC-enabled Firefox Profile which will set it to default
xcopy /E /C /H /R /Y "%~dp0Firefox Profile\*" "%USERPROFILE%\AppData\Roaming"
rem Restore Bookmarks
copy /Y %USERPROFILE%\AppData\Roaming\Mozilla\places.sqlite %USERPROFILE%\AppData\Roaming\Mozilla\Firefox\Profiles\default\places.sqlite
rem Remove the erroneous exit in the case the last statement fails if no bookmarks exists (new profile)
View inventory records anonymously contributed by opt-in users of the K1000 Systems Management Appliance.