Начиная с Vista, непривилегированным процессам запрещается запись в защищенные папки, такие как Program Files, поскольку Program Files предназначена для хранения кода, а не данных. Однако, поскольку это ограничение не было введено в XP, MS предоставила хак обратной совместимости в виде виртуального хранилища. Теперь, когда программа пытается записать в защищенную папку, ее вывод перенаправляется в выделенную папку. Таким образом, программа все еще «думает», что она пишет в свое обычное местоположение, в то время как фактически она пишет в незащищенное местоположение. Однако, когда вы позже проверите местоположение Program Files, вы можете не увидеть файл - потому что его там нет.
Подробнее см. Здесь: Перенаправление данных контроля учетных записей пользователей .