I get called on frequently to do troubleshooting, so I figure I'd share some entries from my private bag of tricks. (And there are some remarks for programmers hidden here too.)
Problem 1. A folder like
C:\Program Files\LitWare opens each time you
Reason: Your system contains two sibling directories where one is a strict prefix of the second. For example,C:\Program Files\LitWare C:\Program Files\LitWare Deluxe
If you go to regedit, you will likely find underHKEY_LOCAL_MACHINE\Microsoft\Windows\CurrentVersion\Run
an entry that refers to a program in the longer directory, likeReminder=REG_SZ:C:\Program Files\LitWare Deluxe\reminder.exe
What's more, the reference such as the one above will not have quotation marks to protect the embedded spaces in the name.
What's going on is that LitWare Deluxe wants to run
C:\Program Files\LitWare Deluxe\reminder.exe, but due to the spaces, this first gets parsed asapp = C:\Program command line=Files\LitWare Deluxe\reminder.exe
This fails, so the system tries again withapp = C:\Program Files\LitWare command line=Deluxe\reminder.exe
and this succeeds because you have a folder called
C:\Program Files\LitWare. Edit the string and add the quotation marks.
Note to programmers: This is why it's important to quote your filenames if they contain spaces.
Problem 2. A desktop.ini file opens when you log on.
Reason: The System and Hidden attributes for the file
desktop.iniin the directoryC:\Documents and Settings\All Users\Start Menu\Startup
orC:\Documents and Settings\yourname\Start Menu\Startup
have been lost. Alternatively, you went to the advanced Folder Options and disabled "Hide protected operating system files (Recommended)".
If a file is marked with both the System and Hidden attributes, Explorer will not enumerate it, thereby hiding it from the user. If you disable "Hide protected operating system files", then this rule is suppressed.
When you log on, one of the things that Explorer does is enumerate the contents of your Startup folders and runs each file it finds. If the desktop.ini is not marked System+Hidden (or you disabled the rule that filters them out), then it will be opened.
What is this file for?
This file is used to support Windows XP's Multilingual User Interface, which allows you to change the language you use to interact with Windows, so for example you could say, "I want everything to be in French" and Windows will translate all its menus, shortcuts, dialog boxes, etc. into French. Specifically, this file instructs Windows how to translate the word "Startup" into French, German, Spanish, etc.
Programmatically, you use the
SHSetLocalizedNamefunction to set the multilingual name for a file or folder.