My new local domain is about 90% up and running, one of the last things I had left to do (add my laptop to the domain) I did earlier today; I didn’t care about my user settings on my other machines but needed to preserve those settings on my laptop…I’m still amazed at what a total pain in the ass it is to copy a user profile. In my case, it entailed the following:
- Add the machine to the domain.
- Login with my domain user account to get a default profile.
- Backed up my Outlook address book/rules/etc (the Office “Save my settings” wizard works pretty well but gets the paths to .pst files all screwy, so I just do it all manually).
- Login with a domain utility account as neither the profile being copied from nor the profile being copied to can have any files in use or the process will fail (and the account needs to have local admin rights of course).
- Copy the old profile directory to the new one (6+ gigs in my case, took about an hour).
- Log back in with my new domain user account, and reconfigure application specific paths (such as paths to .pst files, Omea database, Trillian directories, etc).
- Delete the old local user account, and delete the domain utility account from the User Profile Settings page in the System control panel.
And that’s when I discovered that Firefox was in an unusable state…it just crashed over and over. One would think that moving <oldUserName>\Application Data\Mozilla to the new account folder should simply just work, but it doesn’t. If you look in the firefox directory in the mozilla folder, there’s a file called profiles.ini which simply acts as a pointer to the (seemingly random) name of the folder your profile is stored in (in my case it’s Path=Profiles/q1ghhcpe.default). So I deleted the Mozilla directory, reinstalled firefox to have it recreate a “default” profile for me, then copied back over all the files under the old q1ghhcpe.default directory (the cache, extensions, bookmarks, etc). Firefox no longer crashed at this point, but the GUI was completely hosed and unusable. So I started yanking files/directories one by one to find the culprit; in my case it ended up being the chrome directory…seeing as that stores the state of the GUI, no big surprise. Firefox started correctly at that point, but none of my extensions/themes were working properly (though they were reported as installed via their respective pages). Everything else was great…all my old cookies/autocomplete/history/bookmarks acted as expected. So then I thought I could just run the individual .jar files to reinstall each one by one, but attempting that generated corruption errors on all the .jar’s. So I ended up having to reinstall all of them individually…the good news is that any type of state/history information for extensions remained intact from the previous installation.
So really all you need to do to duplicate a Firefox installation is:
- Reinstall Firefox to generate a new random .default directory (for some reason the pointer in the profiles.ini simply doesn’t get picked up correctly, it needs to be generated by Firefox from what I can tell).
- Copy all files *except* the chrome directory to your new .default folder.
- Reinstall all of your extensions/themes (in my case, about 2 dozen that I had to track down one by one).
What a total pain in the ass man…that’s pretty bad design in this humble developer’s opinion. I’m surprised there is no extension for this type of scenario…would be great as I could simply write a utility script that updates all of my machines whenever I add a new extension/change some setting/etc, so I’d have a consistent Firefox installation across the LAN (I hate getting new Firefox installs up and running, and no 2 are alike on any of my machines). I wonder if setting up a roaming profile would solve it? Maybe that’s next on my list of things to do…well, after I get Exchange up and running.