(Sorry, no icon this time… – I couldn’t find one that’s appropriate…)
If you, like me, backup program settings once you got it configured the way you like it, you would have noticed one "thing" that is very wrong (or missing) from a lot of the programs out there – where the hell can I find all those settings to backup!?
Yes, I know this sounds obvious, but many application fails to document such basic things to a point where I have to bring this to light.
I mean, for instance, does anyone reading this knows where in the registry does Windows (XP) stores the Start Menu Pinned Items list? How about the taskbar icon order / toolbar settings? What about the "Customize Notifications" tray icon hide status settings? (Answers at the end of article)
Still needs more convincing application needs better documentation about where their settings are stored? Let’s look at BitComet.
BitComet stores its settings in 4 XML files (at least as far as I know…):
– BitComet.xml <– For general settings
– Downloads.xml <– For overall download progress
– [Torrentname].xml <– For tracking torrent specific download progress + info.
– lang_en_us.xml <– (Or whatever language you use BC in) This one is my favorite, how could you have guessed settings are stored in a file that seems to exist for a completely different reason… I only found out after realizing BC resets all my GUI settings such as column width after upgrade / reinstall…
And of course, none of this is documented (at least as far as I’m aware)… At least this is not as bad as where Windows / some of the other Microsoft software stores their settings…
And I’ve only talked about a few settings from explorer and BitComet, there are many more programs out there that has a similar problem.
I guess I could go on and on and on about what’s wrong with program x and program y, but instead, I’m going to list 2 very simple and easy to implement recommendations to developers below:
• Please provide clear documentation as to where your program’s settings are stored.
• Please also provide settings backup and restore procedures.
You know, I’d love to see a backup "standard" that everyone would adhere to. For example, such standard might include things like:
• Application settings must be stored in xml format whenever possible. <– Or whatever universal / most suitable format…
• Application should support the universal "/dumpsettings" switch. <– To enable automated backups.
• Application should support the universal "/restoresettings" switch. <– To enable automated restoration of backups.
So for example, I can simply include the command in my backup batch file like:
C:program.exe /dumpsettings "D:Backupdirprogram settings.xml"
I guess one thing I’m hitting onto is the lack of standards in some area of the IT industry (did I hear "Blu-ray vs. HD-DVD"?) and, I guess complete standardization is probably never going to happen (and there are probably reasons why this is good – but I don’t know enough to say exactly what they are…).
Oh yeah, the answer… As far as I can tell…
Start Menu Pinned Items list is stored in:
HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerStartPage : Favorites
The task bar icon / toolbar settings:
HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerStreamsDesktop : TaskbarWinXP
The "Customize Notifications" (tray icon hide status) settings (MS article link):
HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerTrayNotify : IconStreams
HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerTrayNotify : PastIconsStream
And if you do a search on microsoft.com for the answers above, only the last item turns out any relevant articles…