Saturday, May 17, 2008

Better Desktop.ini support please!

I swear that 60% of the traffic coming to my blog comes in on a Google search for Desktop.ini information. I've written numerous articles on the subject and have often wished that Vista and Windows Explorer did a better job of supporting the new Desktop.ini behaviors (read Vista's support for multiple languages & Folder Redirection: Not to the user's home directory).

Well, I just saw this Windows 7 Explorer demo on Youtube. I'm shocked to see a demo of that OS so soon (if it's genuine). But it got me thinking that I need to be more vocal and clear about my desire to have Vista and Windows Explorer fixed.

Windows Explorer needs an option where we can turn off its interpretation of the Desktop.ini and just show folders as they really are. Currently, many of us are resorting to a CMD prompt to do this. Let's face it, it just makes sense. The whole reason the Desktop.ini exists is to handhold (read "fool") users by showing them a folder name the OS thinks they want to see rather than the real underlying one. Anything that prevents you from seeing the truth is going to be problematic. Microsoft knew this when they allowed us to see hidden files or see hidden extensions - so why not now that they are hiding whole folder names?

I've also come to realize that more than just Windows Explorer needs to be fixed. In my article Vista's support for multiple languages I mentioned how the Start Menu didn't do a very good job - now I've found more problems. Microsoft seems to have thought the Desktop.ini would be a clever way of dealing with their multilingual problems. They thought they could now give users the Windows experience in their mother tongue while letting the OS play behind the scenes in English. The Desktop.ini would just hide everything - but it doesn't.

Take the example of a French OS. Users expect to find their programs under a folder called C:\Programmes. In the Windows XP days the users saw that folder and the programs were actually stored in a folder by that name. With Vista, the user still sees the expected folder but the system is actually storing them in C:\Program Files instead. Vista figures that since it is able to show the users one thing and the programs another, it's job is done and it can go back to sleep. But they forgot one little problem. Vista never tells the programs what folder name the user is expecting to see.

I was running a version of Visual Studio's MSDN Library on a French Vista OS. It encountered an error:

I liked my French message , but did'nt expect the English folder path. I can't use that path. When I browsed using the Dossiers (folders) pane on the left I couldn't find the path specified (the Desktop.ini hides it from me). The only way I could get to the folder was to manually type it in the address bar at the top of the Windows Explorer.

I realized that the application had no way of giving me the path I need because Vista never tells it what I am expecting to see. Programs are used to asking the OS where directors are located by using variables like %ProgramFiles% - and Vista is happy to tell them. But I think we now need variables like %DesktopProgramFiles% or something which tells the program what path to show users in messages. The two paths could be very different. Perhaps an API where you feed it a real path and it goes looking for Desktop.ini files and returns a path with all the relevant substitutions.

You might think this wouldn't be such a big requirement if I could tell Windows Explorer to ignore the Desktop.ini and allow me to navigate to the real folders. Although I tend to agree, it probably is still a requirement. I'm sure Germans or Egyptians don't want to find the programs under a C:\Program Files folder.

Do you know someone at Microsoft? Care to pass on the message?

No comments: