99% of the programs lets you choose where you want to install them.That means you can install them on ANY solid state drive or ANY hard disk drive no matter what the drive letter is such as:
C:
D:
E:
and so on...
On the other hand those 1% of the programs which can only be installed on C: should not really be a problem.You can also change that drive letter too.
Programs which can only be installed on C: does not mean they can ONLY be installed on C:.They can also be installed on lets say E: if your OS which you use to install those programs is also installed on E:
If the OS you use to install programs (which can only be installed on C

is installed on lets say Z: then those programs will also be installed on Z:
The reason why most people say C: is because C: is the most used drive letter on which OS is installed and on which programs (which can only be installed on C

are installed on C:
In my case I use E: drive letter.That means I have installed OS on E: drive letter and that also means that ALL those 1% of the programs which can only be installed on C: drive letter are in my case installed on E: drive letter.So that means C: or E: or K: or Z: or ANY other drive letter make no difference.It's completely the same thing.In short:
Those programs which can be installed only on C: drive letter means that they actually look on which drive letter OS (used to install those programs) is installed on and on THAT drive letter those programs will also install no matter what drive letter is.In most cases it's C: drive letter,but it can be ANY other drive letter.In my case it is E: drive letter.
The reason why it works that way is because those programs use classes which tell them on which drive letter OS (used to install those programs) is installed on and on that drive letter programs are installed to.Simply because programmers made them that way.They usually use classes and methods in order to accomplish that such as SYSTEM INPUT OUTPUT namespace "System.IO".For example in .NET programs (C# for example) which work that way programmers usually use:
string EXAMPLE=System.Environment.GetFolderPath(System.Environment.SpecialFolder.Windows);
And data from that "EXAMPLE" string value tells them on which drive letter OS is installed to and they use
that string information to tell those programs where to install.So result of the simple code above would be:
C:\WINDOWS
Later you can use that "C:\WINDOWS" information and extract the first character from that string
using let's say "String.StartsWith" method and that will give you the final result which will give you
the correct letter on which OS is installed to.So the result of this would be:
C
And now when you have this information,it is very easy to make ANY program to install to the default
drive letter on which the OS is installed to
no matter what drive letter is.
So in short:
Any program (refering to those which can only be installed on C: like most of the people say) can also be installed
on ANY other drive letter and not just on C: drive letter.C: drive letter is just the most used one,but you can use
ANY other drive letter.In my case I use E: drive letter instead of C: drive letter.
Cheers everybody!