March 7th, 2012

Why do program files go into the Program Files directory?

Some of Microsoft’s software certification programs (such as the Windows Logo) require that applications set their default installation location to the Program Files directory. What is the reason for this? One technical reason is that this ensures that the directory receives an appropriate default security descriptor. But the Program Files directory was introduced in Windows 95, which didn’t have security descriptors, so that can’t be the entire reason. Rewind the clock to Windows 3.1. Microsoft didn’t provide guidance on where applications should install by default. As a result, they went everywhere. Some installed into the root of your C: drive. Some installed to a C:\LitWare directory. Some installed into the Windows directory. It was total chaos. Program Files was introduced in an attempt to bring order to chaos. Think of it as painting lines in a parking garage.

Bonus chatter: I recall an application compatibility investigation from the Windows 95 days. After you installed a particular program, it refused to run. This was clearly a serious problem, even more so when you realized that the program in question was a very popular commercial program. Eventually the source of the problem was identified: When you installed the program, you must accept the default installation location. If you tried to install the program somewhere else, it refused to run. The problem was not caused by Windows 95; you had the same problem if you installed the program on Windows 3.1 to a non-default directory.

Topics
Other

Author

Raymond has been involved in the evolution of Windows for more than 30 years. In 2003, he began a Web site known as The Old New Thing which has grown in popularity far beyond his wildest imagination, a development which still gives him the heebie-jeebies. The Web site spawned a book, coincidentally also titled The Old New Thing (Addison Wesley 2007). He occasionally appears on the Windows Dev Docs Twitter account to tell stories which convey no useful information.

0 comments

Discussion are closed.