Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I've recently purchased a new SSD, on which I've installed Windows 7 (64-bit).

I have already moved my 'Users' directory off the SSD, and onto a 1 TB HDD (which will be where the majority of my programs and resources will lie) using this as a guide.

I was hoping to move my Program Files + Program Files (x86) directories onto the 1 TB drive, and attaching junctions to allow it to keep working, with only a couple of programs (Firefox, Visual Studio) remaining on the SSD. However, I am unaware if doing so will cause any unintended side-effects (ie, badly coded installers freaking out, running out of space on the SSD from other locations, etc).

So the question boils down to:

  • Will moving my Program Files directories onto another hard drive cause any problems, either immediately, or in the future?
  • Are there any more obvious folders I should be moving off the main SSD?
share|improve this question
1  
My solution is to install the majority programs to the HDD, rather than moving them there after installing to the SSD. – sblair Jul 26 '11 at 11:19
up vote 1 down vote accepted

For the most part, no. With a junction, few programs will know the difference. While there are API calls to check if a file/folder is a hardlink, few programs explicitly call it. I use to do this in the early days of Vista, since I use so many poorly written software that I got tired of the UAC prompts and just moved those applications out of Program Files.

But, personally, I haven't done it myself, although I've heard of others doing so with much success. Visual Studios is the only one I would keep an eye on because who knows what those crazy software developers in Microsoft's DevDiv are capable of :)

In general though, an application won't know the difference between a symlink/hardlink/junction unless they explicitly check it with said API calls. Those APIs calls are mainly for programs that recursively scan a folder tree, to keep them from falling into an infinity loop due to linking to a folder's parent.

share|improve this answer

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .