Даже если при установке windows программ выбираешь диск D, то всё равно часть данных попадает на в папки %programdata%, %appdata%/local, %apddata%/roaming, %appdata%/local/temp, %userdata%, %userdata%/Documents.
Как установить программы полностью на D? Как перенести существующие программы на D с сохранением работоспособности? Как перенести вышеуказанные переменные на другой раздел? Как всё сделать и через какой софт?
Если в лоб, то использовать жесткие (mklink). Но в дальней перспективе это сулит некислый геморрой, если программу и/или систему понадобится переустановить, потому что всё опять придётся делать руками.
Вообще AppData используется для хранения настроек, потому что туда гарантировано у пользователя есть право записи.
Если всё равно хочется, то поищи портативные версии нужных программ.
Симлинки и точки связи (junction), работают в подавляющем большинстве случаев. А вот жёсткие связи между дисками не работают.
Проверено буквально на тысячах программ, в том числе дровах.