Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Windows 7 is installed on my C drive, which is quite small. I am very tired of instructing new programs to put their files on my larger D drive during installation; I would like to change the default drive.

This article says that you can use a registry hack, but I am giving Microsoft the benefit of the doubt and naively assuming that a configuration option exists somewhere. It's 2010... do I really have to hack my registry to make a simple tweak like this?

Also, there's a ServerFault question that explains how to move the "Users" directory and create a symlink, which could also work. However, at the moment I have some apps in C:\Program Files, some apps in C:\Program Files (x86), and some apps in the corresponding folders on D:\, so it would be a hassle.

Also, my small OS boot drive is a 10k RPM WD Raptor, and I feel like that probably gives a speed boost to apps installed on it that need to read & write to their directories a bunch. I wonder if it actually matters.

share|improve this question
Please note that you should keep ProgFiles and ProgFiles(x86) seperate (so don't try and symlink them in to one place, for example) see "C:\Program Files" on Windows Vista+ (x64). Also, most programs do not write to thier own directories (or rather shouldn't), they should use ProgramData or Users\<un>\AppData instead. So you could install elsewhere and keep these on C for speed. –  DMA57361 Sep 7 '10 at 13:51
@DMA57361 - I'm actually strangely irked by the Users\<un>\AppData behavior; I feel like that should live on my bigger/slow drive, too. Some apps are disk space hogs, so I'd rather just not have to worry about whether one of them is sucking down space! Thanks for the warning on (x86). –  Max Cantor Sep 7 '10 at 20:34
no problem. If you want to go a little over-the-top, why not just symlink the "space hogging" subfolders and leave whichever other you wish to on C - just remember that Users\<un>\AppData will exist for each user, and ProgramData should be used for "shared" bits. How each program really works is another matter, of course. –  DMA57361 Sep 8 '10 at 7:19

2 Answers 2

up vote 5 down vote accepted

There is no way to set the default program installation folder in Windows other than that registry change. If you're on a 64-bit system, then you should follow the instructions given here.

After all, Microsoft does not support changing the location of the Program Files folder by modifying the ProgramFilesDir registry value.

Microsoft does not support changing the location of the Program Files folder by modifying the ProgramFilesDir registry value. If you change the location of the Program Files folder, you may experience problems with some Microsoft programs or with some software updates.

share|improve this answer

From Raymond Chen:

Why can't I move the Program Files directory via the unattend file?

The unattend file lets you change some Windows configuration settings that cannot be changed after Setup is complete. But one of the things you can't change is the location of the Program Files directory. Many people wish they could relocate their Program Files directory to another drive in order to relieve disk space pressure on the system partition. Why won't Windows let them do this?

Windows Setup takes advantage of hard links. A large percentage of the files installed by Windows are hard-linked to copies in the C:\Windows\WinSxS directory.

But one of the limitations of hard links is that they cannot span volumes. Some of the hard links out of the WinSxS directory point into places like C:\Program Files\Windows NT\Accessories\wordpad.exe, and this in turn requires that the Program Files directory be on the same volume as your Windows directory.

Sorry for the inconvenience.

tl;dr: Windows cannot run with Program Files on any other drive


share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.