Как обнаружить перенаправление файлов в Windows VirtualStore?
С момента выпуска Win Vista Microsoft ввела виртуализацию файлов для устаревших приложений, работающих как 32-битные процессы. Выпущенные как часть контроля учетных записей пользователей (UAC) Microsoft, любые устаревшие приложения, пытающиеся записать данные в любые места, которые считаются защищенными операционной системой, перенаправляются в VirtualStore.
На этом этапе были предприняты шаги, чтобы гарантировать, что рассматриваемое приложение теперь работает как 64-битный процесс, при этом UAC осведомлен, однако это мало что делает для решения проблемы переноса данных пользователей в местоположение, которое считается безопасным от виртуализация.
Устраняя эту проблему, я обнаружил, что при работе с несколькими учетными записями пользователей некоторые изменения были внесены в устаревший путь, расположенный в C: \ Program Files (x86) \ MyApp \ Data, в то же время были внесены изменения в Виртуальный магазин, расположенный по адресу% 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