How Mozilla finds its configuration files
Mozilla looks into the binary %USERPROFILE%\Application Data\Mozilla\registry.dat
file for its "registry", which contains, amongst other information, a pointer to the directory where the profile is stored (located at Common/Profiles/profileName/directory
. The value contained in this key is a litteral value, no variables (such as %USERPROFILE%/MozProfile
) allowed. We chose to point this to the user's home directory (H:\Mozilla
).
The configuration itself is stored in the specified directory, in a file named prefs.js
. This is a readable file of javascript commands. All other files in that directory are dynamically created by Mozilla on first start.
The of the binary registry file is described here.
You may use the following items:
- A program to convert
registry.dat
file into a readable (and editable) XML file. Usage:./readMozProfile.pl < registry.dat >registry.xml
- A program to convert the XML file back into the binary registry.dat file. Usage:
./writeMozProfile.pl < registry.xml >registry.dat
- A ready-to-use
registry.dat
file pointing toH:\Mozilla
- A
registry.xml
file pointing toH:\Mozilla
- An example of a
prefs.js
file (to put into the user'sH:\Mozilla
directory). If you use the userd system from the LLL project, you can generate this automatically with the user's personal values by using this template fileprefs.js.tmpl
N.B. Mozilla includes a profile manager, but unfortunately this always include a random part (salt) into the profile's filename, and thus cannot be used to point Mozilla to a profile of the our chosing.
N.B. The above scripts have been tested with perl-5.8.0, XML-Parser-2.34, XML-SAX-0.13 and XML-Simple-2.14. Different versions of perl, or of these modules may lead to bugs. If you have trouble gettings these scripts to work on your system, there is also an online version available.