Changing default directory structure
My machine has a SSD (fairly small) and a Hard disk (large). I want to have windows and a couple of programs on the SSD but I want to have the documents folders (such as my documents and my downloads) on the HD. I also want the default install directory pointing at the larger HD. Can anyone advise or point me to a relevent guide? Thanks.
If you install your programs on the HD, you will loose the random access advantage of the SSD though. Most of the commonly-used OS files (kernel and DLLs) should be in memory by the time you start the applications, so it is more useful to install programs on the SSD as well.
You can install individual programs on the HD by changing the installation directory during the setup process. If the program is already installed, you can move their directory to the HD while the program is not running and create a junction (NTFS 5 on Windows 2000 and above) or symbolic link (NTFS 6 on Vista and above) in the original place to point to the new location. A junction (or symbolic link) is like a shortcut, but works at a lower level. Link Shell Extension can help you create them (and move the files).
You can also move your entire Program Files folder to another partition and mount the latter as the "Program Files" folder. But this is rather risky and harder to maintain.
If you decide to forego the symbolic links path, and just want to move the bulk of your data to the hard drive, there is an easier way. For the following directories under your user, you can right click and change the location.
Contacts, Desktop, Downloads, Favorites, Links, My Documents, My Music, My Pictures, My Videos, Saved Games and Searches. This will move the bulk of your data in a very easy way (It will also ask you if you want to move your current data automatically when you change the location).
This second screenshot is actually my "My Documents" pointed at a network drive.
As far as changing the default install location, most programs use these variables to decide where to install (The following output is from doing a set
command at a command prompt), but for the life of me, I cannot find where these are set (it is not in the environmental variables, but I will post back if I can find it later).
ProgramData=C:\ProgramData
ProgramFiles=C:\Program Files
ProgramFiles(x86)=C:\Program Files (x86)
ProgramW6432=C:\Program Files