Change the installation path of programs: Windows 10

Gianfranco Bonanni 1 Reputation point
2021-04-30T06:33:27.843+00:00

I have a laptop with Windows 10 and with two disks, a 128 GB SSD and another 1 TB Hard Disk
I want to install heavier programs on my SSD (which take up more resources like Android Studio, Unity, Visual Studio 2019 etc)
and on the Hard Drive install the programs that are not so important as to have them on the SSD and use the Hard Drive for this since it is 1 TB.
I found out by moving to Regedit in this part I can tell you where the programs are installed
CommonFilesDir -> C: \ Program Files \ Common Files
CommonFilesDir (x86) -> C: \ Program Files (x86) \ Common Files
CommonW6432Dir -> C: \ Program Files \ Common Files
ProgramFilesDir -> C: \ Program File
ProgramFilesDir (x86) -> C: \ Program File (x86)
ProgramW6432Dir -> C: \ Program File
once install the heaviest programs on the SSD. I went to the hard disk and created a PROGRAM FILES folder for 64-bit programs then another folder named PROGRAM FILES x86 for 32-bit ones and following these variables
CommonFilesDir -> C: \ Program Files \ Common Files
CommonFilesDir (x86) -> C: \ Program Files (x86) \ Common Files
CommonW6432Dir -> C: \ Program Files \ Common Files
I also made those folders where they corresponded to if it was left on the hard drive as follows
PROGRAM FILES
-> Common Files
X86 PROGRAM FILES
-> Common Files
yes, since I did that, I entered the Regedit (Windows Registry) and went to the path HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion which is where the variables mentioned above are. And what I did here as I already mentioned was change the value of those variables by the paths of the folders that I made on the hard drive
CommonFilesDir -> D: \ PROGRAM FILES \ Common Files
CommonFilesDir (x86) -> D: \ PROGRAM FILES x86 \ Common Files
CommonW6432Dir -> D: \ PROGRAM FILES \ Common Files
ProgramFilesDir -> D: \ PROGRAM FILES
ProgramFilesDir (x86) -> D: \ PROGRAM FILES x86)
ProgramW6432Dir -> D: \ PROGRAM FILES
restart the computer for the changes to take effect. Now if when I installed some applications if they were installed by themselves in the paths specified in Regedit and others I had to change the paths to tell them that I wanted them on the Hard Drive and they were already installed well. In the Local Disk C no file was recorded, everything remained in the D as I wanted.
But the problem that arose for me was when I moved the variables in Regedit because some programs stopped working, so when I use them I have to enter Regedit and leave the values ​​that it has by default (all pointing to C) restart the machine so that it applies the changes and now if you use the program you wanted and once you wanted to use another program because it had to be the same, go back into Regedit, change the variables so that they point to D and thus be able to use the applications on disk D but those on C ( some stopped working).
My question is if you can make the programs on the SSD and those on the Hard Drive work normally without having to change the Regedit variables and restart the machine every time you want to use a program from the SSD or the DD.
Either this is possible and I did something wrong or I need to add some extra variable.
It is worth mentioning that it occurred to me to put two values ​​in a variable
ProgramFilesDir -> D: \ PROGRAM FILES, C: \ Program File
ProgramFilesDir (x86) -> D: \ PROGRAM FILES (x86), C: \ Program File (x86)
ProgramW6432Dir -> D: \ PROGRAM FILES, C: \ Program File
believing in this way that I would recognize the applications of both discs without having to change the Regedit.
Since there was an application that I did not realize and I put the SQL Server 2008 R2 database on the Hard Disk and the program that would use the database I left it on the SSD and when it was time to use the SSD program with the Regedit left in its original state
CommonFilesDir -> C: \ Program Files \ Common Files
CommonFilesDir (x86) -> C: \ Program Files (x86) \ Common Files
CommonW6432Dir -> C: \ Program Files \ Common Files
ProgramFilesDir -> C: \ Program File
ProgramFilesDir (x86) -> C: \ Program File (x86)
ProgramW6432Dir -> C: \ Program File
Well, as it interfered and the program did not work well since the BD Manager was on the Hard Drive and I had to move the Regedit again. Ahh also when I made the change that I made previously to put two values ​​to a single variable, I made some programs no longer work (both the SSD and the DD and windows programs. Solution I entered test mode without intenert and I was able to modify the regedit again and leave it as it was hahahaha)
I hope I have explained well how to make the SSD and Hard Disk programs all coexist well without having to modify the regedit to use those of the SSD or the Hard Disk. At most modify the Regedit to indicate when to install on the Hard Drive and when on the SSD but once installed you can use both the SSD and the DD

Windows for business | Windows Client for IT Pros | User experience | Other
{count} votes

1 answer

Sort by: Most helpful
  1. Jenny Feng 14,246 Reputation points
    2021-05-03T03:40:43.207+00:00

    @Anonymous
    Hi,
    For added protection, back up the registry before you modify it.
    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.
    We don't recommend changing the location of the Program Files folder. It's possible to do, however, changing the program files folder location may cause a lot of additional issues with Microsoft programs and updates.

    Hope above information can help you.

    ============================================

    If the Answer is helpful, please click "Accept Answer" and upvote it.
    Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.

    1 person found this answer helpful.
    0 comments No comments

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.