X
Business

Beware of hard-coding issues in Vista user folders

Microsoft has added the ability to move user folders such as the Desktop, Favorites, Contacts, and other user-specific data in Windows Vista with simple drag-and-drop operations.
Written by George Ou, Contributor

Microsoft has added the ability to move user folders such as the Desktop, Favorites, Contacts, and other user-specific data in Windows Vista with simple drag-and-drop operations.  While this is certainly an improvement over Windows XP where you could relocate "My Documents" (Note that Microsoft has wised up and dropped My from the naming conventions) to a different physical or logical hard drive partition, it still doesn't address the fundamental issue Microsoft's bad decision to put user data in the same volume as the operating system.

I spoke out about this last summer when I wrote "Why Microsoft should put user data in a separate volume" and actually had a long conversation with the now-retired Jim Allchin and even longer conversations with his team of engineers.  A lot of technology writers and readers praised for speaking out on that issue and wanted to know where Microsoft stood on this issue and I'm sad to inform you that their answer was NO because the PC Makers and OEMs didn't want to confuse users with an additional partition.  It's clear that Microsoft acknowledges the need to put data in its own partition because they've added new features to make it easier to relocate user folders, but it's obviously not a clean or complete solution.  Take a look at the screen capture below:

vista-user-files.png

As you can see, everything except the AppData folder was moved but you also notice something weird about a duplicate Contacts folder.  It turns out that this isn't the only time you'll see duplicate folders and it's possible to see this on other folders like Saved Games as well.  If I delete the Contacts folder in the C: Users folder, it recreates itself as soon as I open Windows Live Messenger.  It's apparent that Live Messenger has something hard-coded to put data in that folder and even go as far as creating a folder if it doesn't find one there.  What it's suppose to do is use a symbolic link to the current user's contacts folder and put it where ever I dragged that folder which in this case is D: George (Note that backslashes are suppressed by this blog site so I've omitted it).  So it's clear if Microsoft will make this kind of hard-coding mistake, others will probably do the same thing so clearly this isn't a clean solution.

This isn't the only problem if you choose to relocate your user folders, fellow blogger Justin James pointed out to me that search indexing is another problem.  Take the following screen capture for instance:

searchindexing.png

Look at the Users folder and look under George.  What happened to all my user folders like Documents, Contacts, Links, Pictures, etc?  It appears that Indexing also uses hard-coding rather than the logical structure that picks up my user-specific folders on my D drive or where ever I move it.  I correct this by adding volume D to my indexing options but again that's a step that I shouldn't have to take.

Oh and what about that obscure AppData folder which is the place that applications like to dump all sorts of critical data like your Outlook data files and addresses?  I've personally been bitten where I forgot to copy that and lost my entire outlook folder and I know too many other people who did the same thing and lost all their Outlook or Outlook Express data.  I've since avoided that mistake by relocating my Outlook data to a folder called "Outlook" under the Documents folder.  Now why doesn't Microsoft do this by default?  I asked them and it turns out that since Microsoft uses roaming profiles internally, they don't want to have to replicate the entire Outlook folder over to the server that stores all the roaming profiles.  It would seem to me that Microsoft could simply code in an exception on roaming to exclude Outlook PST files.  But even after I manually relocated the PST files to my old Outlook data (which was no easy task since Outlook 2007 won't let you delete the file), there's still a bunch of other user-specific AppData stuff that I'd rather not have on the C drive.

So is there a way to move the entire C: Users folder to another drive?  Sure, only if you go through some obscure unattended Windows Vista installation procedure and it can't be done after the OS is installed.  I pleaded with Microsoft to at least let users change the default location during the installation of Vista or at least come up with a User folder relocator that moves the entire data for all current and future users, but I didn't have much luck and I was told that there will be easy drag-and-drop ways of moving things though that has to be done manually on a per-user basis.  But as you can see by the quirks above, reality isn't so simple is it and it's just another fine mess.  As the old saying goes, I told you so Microsoft.

[poll id=16]

.

Editorial standards