Change Default Installation Directory In Windows 7 & Vista
Posted October 19, 2008 – 5:09 pm in: Registry tweaks, Vista Tweaks, Windows 7, XP Tweaks[ad#ad-1]
By default Windows installs all the programs in C:\Program Files directory, you might want to change it if your C drive is running out of free space. Moreover, if you like to install any antivirus program like Kaspersky or Norton you need to use this tweak as they won’t give an option to change the default installation directory during product installation.
To start with this guide, make sure you have enough free space in your new directory which you are going to make as default one.You need to do a small registry change in order to change your default installation directory as follows:
1. Type “regedit” in Vista start menu search box or in Run dialog box (for XP) and hit enter to continue.
2. Navigate to the following registry key in the Registry Editor:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion

3. Locate the value named “ProgramFilesDir” and change the default value “C:\Program Files” to your new directory path(address).

4. Close the registry editor and reboot your system to apply the change.
5. Good luck!
PS: This tweak should work fine with Windows XP,2000 and upcoming Windows 7.
Tags: Windows 7, Windows 7 how to
- 14 Excellent Windows 7 themes
- How to make bootable USB
- 27 Beautiful Vista logon screens
- How to install Windows 7 from USB
- Remove Watermark from Windows 7 desktop


32 Comments
Good,thanks.
One problem. Doing this (at least in Windows 7) breaks Windows’ directory awareness of programs that are already installed (errors with WMP and others)
Thanks for the update. I will look into to the issue and update here.
True I just did the mod in win7 and WMP didn’t work any longer.
Also if you make the changes in regedit it only modifies the 64 registry. Therefore anything installed in the x86 program files still default to original c: program files…
Unless you also change the 32bit registry.
But like mentioned by JC it breaks other things therefore not really worth it. Hopefully there is a way around it.
Not realy a usefull instruction. Has changed the register entry (ProgramFilesDir) in my a new installation directory. Still when i’m installing Ultra ISO and Crysis, the setup will automatically pick the c:\program files directory. Also tried to change the program files (x86) entry but then IE wont work, and as stated above probally WMP wont work either.
Is there a other solution for this?
Sorry for the inconvenience, Polly. At the same time I am not aware of any other workarounds for this.
Changed it, rebooted, new installs still go to c:
I got this working on Windows 7 64 bit. Here’s what I did:
In addition to the registry keys in HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion you also need to change the ones in HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion.
Then, you need to copy all the files in c:\Program files (x86) and c:\program files to where ever your new locations are. Then don’t delete the original directories, since not all programs are smart enough to make the switch.
Obviously, this works best on a fresh install where the program file directories are only a few hundred megabytes.
Any (well, most) new programs you install will figure out that your new location is the default program files directory.
Thank you Jay, this is exactly what I was looking for!
Thank you Jay, your advise’s worked perfectly.
I want to install programs I ad to my computer later, in a different map. And I want them to separated from the standard program files. How can I accomplish that?
Thanks!
Anyone try to create a Symbolic Link
@Jay Lemmon
Works perfectly! Thanks a bunch!
Hi Jay,
regarding the win 7 registry change, what if i want to delete the programs from there, so that i have more space in the C drive. I mean what is the point of moving them to another location while they are still in one location. Doesn’t it take more space?? or should i uninstall the programs after i do that reg change and then re install it so that it installs in the prefered location
@Jay, Thanks, I’ve Been Looking For That For A Long Time, Your The Best
THIS IS AWESOME…JESUS! I’ve spent months looking for this.
The 64bit version of Win7 has two versions of regedit. Make this change as well:
1.) Enter into Start>Run: %systemroot%\syswow64\regedit
2.) Go to: HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion
3.) Change the Path in DWORDs ProgramFilesDir, ProgramFilesDir (x86) to the new path, probably just changing the drive letter.
This is the correct fix !
You shouldn’t have to make the changes to the normal regedit, just the %systemroot%\syswow64\regedit.
As stated above you will need to change both the ProgramFilesDir & ProgramFilesDir (x86).
Caution! If you changed the regular regedit ( found by typing regedit in search box on start menu) by making changes to the path in regedit, some programs that you have installed on your OS drive (SSD) will not start. You can correct that problem by right clicking the shortcut in the start menu under all programs….right click, properties, and change target path. However, the only program I couldn’t change to correct target was Windows Media Player and as a result WMP would not function….I could fix that by going through windows explorer and finding the shortcut and pinned that to both start menu and taskbar. WMP would now function, UNTIL I tried using it in internet explorer then an error screen came up stating connection problems…..
Basically….. If you’ve changed the regular regedit ProgramFilesDir and ProgramFilesDir (x86), change it back and make the changes to the %systemroot%…….
@ Jay: Nice 1! I was on my last strand of hair untill I saw this.
I redirected the installation path for my Program Files from C:\ to P:\ following the directions
from all the posts shown in the topic at http://www.intowindows.com/change-default-installation-directory-in-windows-7-vista
I have Windows 7 Home Premium 64-bit so I followed the suggestions for my system using the following
information:
The end result was I did not use the regular REGEDIT but the one suggested by typing in Run:
%systemroot%\syswow64\regedit. Then HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion.
I changed the four things suggested: dir; dir (86); ProgramFilesPath; and ProgramW64 to P:\.
There are several things going on since I did this to make me question some of the changes I made.
First, was it really necessary or an advantage in any way to use %systemroot%\syswow64\regedit
instead of the regular Regedit? Were there any disadvantages by using this version of Regedit?
I understood that I now was to have a P:\Program Files and a P:\Program Files (x86).
What I ended up with is:
P:\Program Files; P:\Program Files
P:\Program Files (86); P:\Program Files (86)
P:\Program Files (x86); P:\Program Files (x86)
I believe I figured out that I have two folders in each category because I made a folder in the new P:\
drive to copy everything from C:\ into instead of just copying it the the P:\ drive without indicating a folder. (If this is correct, this information should be updated in the original directions I followed for
people like me that have to have things spelled out.)
I have no clue why I have the third Program Folder: P:\Program Files (86); P:\Program Files (86).
If I am not supposed to have this one, how would I get rid of it or put it back?
My next question is, how do I get just the one folder in each of the new locations, whether it is two or three locations? Get rid of the folder within the folder? Or would it just be easier (or perhaps the only way) to format and re-install Windows and start from scratch?
I tried to pull up both versions of Regedit to see what was showing and perhaps changing things back to C:\. The Regedit version suggested for 64-bit was not even there. The error message said perhaps it had been moved. Which I’m sure I did, but do not know how to locate it. The regular Regedit did not show anything at all for the things I redirected.
I redirected my program files using the regular Regedit once prior to this time, which I had formatted and re-installed Win 7 so thought I’d do an even better job using the one supposedly for 64-bit. The first time using the regular Regedit allowed me to go back in and change them back to C:\ from P:\. I was trying to re-install using the Recovery Partition, which required I put the installation path back to C:\ before I could. If I ever need to (and I will) re-install Win 7 again, I would now have to use the system image as there is no where I can see to change things back. If the system image goes wrong, it appears I’ll be up a creek. I finally discovered how I could make recovery disks but am unclear whether I would need to change the P:\ back to C:\. I don’t think so, but I am pretty confused at this point.
I did a complete system image prior to installing Acronis Disk Director and partitioning, then redirecting the installation path. Six DVDs. I’ve never had any success backing up anything. I have never tried a system image restoration, so not sure how reliable they are. I really just want to set everything up as
customized and streamlined as possible and attempt a complete system image containing the way I’d
want Windows to load up just the pre-installed programs of my choice, not theirs. Without unnecessary
duplication of files or folders.
Would anyone be able to solve any of my questions? I know this will work just great once I’ve worked out the wrong turns taken! Thanks for any help!!
CORRECTION to Redirecting Installation Path. Now have double folders in new location:
After doing maintenance and completing system scans I went back to pull up both versions of REGEDIT.
My missing directory paths were now back. So the majority of my questions in my previous post are now
no longer needed.
My basic question I need to ask is still concerning how to get rid of a file within a file in each of my 3 P:\Program Files folders?
Also, should I have a third P:\Program Files folder because I have Win 7 64-bit?
Hopefully this will be easier to answer than the ones about disappearing Regedit paths! Thanks!
2nd CORRECTION to Redirecting Installation Path. Now have double folders in new location:
I used a directory printer to try and compare what is in each of these folders. This is how the program showed the name of the folder with a second one within:
P:\Program Files\Program Files
P:\Program Files (86)\Program Files (x86)
P:\Program Files (x86)\Program Files (x86)
While I was following these instructions I apparently did it in the dumbest way possible. I didn’t back up my registry beforehand and now am in a rather tight bind…
http://imageshack.us/f/252/immensestupidity.png/
I modified the circled box to a folder on my desktop and probably didn’t even manage to that correctly. Now when I turn my computer on I get six beeps in a row (due purely to this).Any advice? Thanks regardless.
When I followed this tutorial, I couldn’t see the folder I chose as installation folder after restarting my system. It just disappeared and as I checked – IT WAS NOT INVISIBLE. I had to reset the installation drives to default and there you go – visible again!
I have Dell Studio Laptop 1737. I just bought new 64 GB SSD. Want to clean install Win 7 onto it. This drive will only be used for the OS/Recovery files. I plan to then take my existing 500 GB mechanical HD, format it, and install it in second HDD bay. Would like all program and data files on this 2nd HDD. Not sure about if all programs will be allowed to do this, ie, antivirus programs and MS office. Any suggestion? Need detailed instructions please.
There are some potential issues with this modification: http://support.microsoft.com/kb/933700
im looking for a version of this for vista ultimate 64.
Can we make it dynamic? The installing program should ask the destination folder instead of the static program location?
Hey guys!
I accidentally changed the windows path while changing temp path and rebooted my computer!
Now many of my programs are not opening and many links like advanced system properties says something like syntax is incorrect!
what should i do?
@sarthak:”Now many of my programs are not opening and many links like advanced system properties says something like syntax is incorrect!
what should i do?”
For anyone following this tread on a search, I would say — use symbolic links. someone mentioned this earlier in the thread. In light of everything that follows that, I suspect that poster had the right answer.
Hello! It is all great .When i installed a program after changing the registry the shortcut wouldnt open. The program itself was installed on x:/Programs but shortcut said it was x:/Programs (x86)… Do i have to change all future program shortcuts? Or is there another way?
In registry i only changed the disc name from C to X.
On both regedits.
Does anyone know how to do this for Windows 8? I cant find how to do it and my SSD for the OS is rapidly filling up…
I was wondering if you ever considered changing the structure of your
site? Its very well written; I love what youve got to say.
But maybe you could a little more in the way of content
so people could connect with it better. Youve got an awful lot of text for
only having 1 or two images. Maybe you could space it out better?