Как обнаружить перенаправление файлов в Windows VirtualStore?
С момента выпуска Win Vista Microsoft ввела виртуализацию файлов для устаревших приложений, работающих как 32-битные процессы. Выпущено как часть Microsoft 's Контроль учетных записей пользователей (UAC). Все устаревшие приложения, пытающиеся выполнить запись в любые места, считающиеся защищенными операционной системой, перенаправляются в VirtualStore.
На этом этапе были предприняты шаги, чтобы гарантировать, что рассматриваемое приложение теперь выполняется как 64-битный процесс, который осведомлен UAC, однако это мало что делает для решения проблемы переноса данных пользователей в местоположение, которое считается безопасным от виртуализации.
Во время устранения этой проблемы ямы обнаружили, что при работе с несколькими учетными записями пользователей некоторые изменения были внесены в устаревший путь, расположенный в C: \ Program Files (x86) \ MyApp \ Data, в то же время были внесены изменения в VirtualStore, расположенный в% localappdata%. \ VirtualStore \ Programs \ MyApp \ Data. Вопрос заключается в том, как я могу определить, происходит ли какая-либо виртуализация файлов или папок, и как я могу объединить эти два местоположения?
РЕДАКТИРОВАТЬ: Я нашел несколько веб-сайтов, на которых подробно описана проблема и способы ее дублирования, но нет ничего, что включало бы способ ее устранения. Я нашел эту ссылкуFILE_ATTRIBUTE_VIRTUAL который определяет атрибут файла, который кажется многообещающим - я где-то нашел другую ссылку, хотя могуЗапомните, где, это говорит о том, что это атрибут, используемый Windows, чтобы указать, что происходит виртуализация файлов, и помечает запрос на перенаправление.
Эти ссылки описывают проблему:
http://www.c-sharpcorner.com/uploadfile/GemingLeader/windows-file-and-registry-virtualization/
http://www.codeproject.com/Articles/66275/Windows-Vista-File-and-Registry-Virtualization