Виртуализация каталогов в Windows

16 июля 2013

В очередной раз, производя отладку одной из своих программ, я столкнулся с тем, что приложение не видит изменений, которые я вношу в INI файл. При этом сама программа может туда писать и оттуда затем считывать эти данные, однако в файле они не отображаются. Перебрав весь исходный код, проблемы со своей стороны я так и не нашёл. Создалось ощущение, что по одному и тому же пути существуют два файла с одинаковыми именами, но имеющие разное содержимое. Открываю файл в HEX-редакторе, потом этот же самый файл в другом… Файл разный!

В разных файл-менеджерах файл имеет разный размер.

И тут я натолкнулся на статью «Folder Virtualization in Windows Vista» (ссылка недоступна). В общем, начиная с Windows Vista, если программа не может получить доступ на запись в файл, то создаётся копия файла в специальном хранилище и она пишет туда. То есть одновременно существуют две разных копии одного файла, но под одним именем. Операционная система подсовывает виртуальный файл тем программам, у которых ограниченный доступ, остальным — отдаёт настоящий файл.

Расположены эти файлы по следующему пути: C:\Users\{имя пользователя}\AppData\Local\VirtualStore\

  • windows/virtualizacija_katalogov_v_windows.txt
  • Последнее изменение: 07.01.2026 02:16
  • r0wbh