Well, you figured out the name of the variable. If you change its value (for example, to "Programs_x86") you will notice that there will be both a directory %SystemDrive%\Programs_x86 and a directory %SystemDrive%\Program Files (x86). That may be (my oppinion) because some programs (not very well written) don't really read the value of the variable from the registry (or don't use expandable strings) in order to find its actual value, they just assume that the value is "Program Files (x86)". So it is not wise to change this value, at least not until all these programs will get the correct value.