submit,
Я имею в виду сменить значения параметров:
Код:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion]
"ProgramFilesDir"="D:\\Program Files"
"CommonFilesDir"="D:\\Program Files\\Common Files"
Но делать это надо на этапе установки винды, ведь стандартные программы (Windows Media Player...) тоже ставятся в C:\ и изменение переменной может привести к их неработоспособности. Я не знаю, можно ли это сделать рашьше, чтобы Windows Media Player и проч. ставились в D. Думаю, можно. То есть изменения в реестр надо вносить до установки стандартных программ.
Если же этого сделать нельзя, то я не знаю. Придется устанавливать вручную в момент установки программ. Если у тебя все инсталляторы в .bat, то проблем с виду не будет. Казалось бы переменные, задаваемые командой set, действуют лишь на протяжении сессии, в которой они были заданы, поэтому можно в начале батника написать:
Код:

set %ProgramFiles%="D:\Program Files"
set %CommonProgramFiles%="D:\Program Files\Common Files"
И все программы установятся в D. Но когда батник отработает, переменные вернутся на стандартные, и если программа в момент установки не преобразует системные переменные в абсолютные пути, то она не будет работать. Хотя нормальные программы по идее в момент установки должны преобразовывать системные переменные в абсолютные пути, а потом создавать свои внутренние переменные- тогда все будет работать. Как это все организовано на самом деле- я не знаю. Тестируй

Не получится- придется для каждого инсталлятора прописывать путь установки.