At my current workplace, on servers, programs are installed to the Program Files directory on the same disk as the operating system. So far, this hasn’t caused us any problems. In the future, I am now going to insist that there be a separate disk, purely for installing programs onto (example, install Exchange to D:\Program Files).
Why? I’ve gotten into trouble twice now by making assumptions about how particular software packages work. On my Exchange server, I have installed Exchange onto the C: drive alongside Windows. My mailbox databases and transaction logs reside on a separate disk, D:. What I didn’t know, until the C: drive filled up (damn all those space-hogging SxS assemblies!) was that Exchange maintains a transport server queue database in its Program Files folder. Furthermore, OWA utilizes IIS which by default is installed on the C: drive. IIS logs are thus, also stored on the C: drive. The other day, the IIS logs consumed the remainder of the free space and the transport server realized that it was going to run out of space for its queue database. The transport server component therefore shutdown. It should be noted that the transport server queue database can be moved.
However, and the reason this was a really good lesson: not all server plays ball like Exchange and allows you to move these things onto different disks. Case in point: System Center Configuration Manager 2007. When you send a package to a child site, the package is compressed to a file, temporarily, at the root of the disk where Configuration Manager is installed. Again, because I had Configuration Manager installed at C:\Program Files, and my C: disk is 40GB, I quickly ran out of space when I had to send a large package (Adobe Master Collection) to a child site. Configuration Manager, however, does not allow you to specify another location for this compression process. The solution was to either re-install Configuration Manager onto another disk, or resize the C: drive. I did the latter.
I’ll certainly be ensuring that I put applications on a separate, appropriately sized disk (other than the OS disk) in the future.