Jak wykryć przekierowanie pliku do Windows VirtualStore?

Od czasu wydania Win Vista Microsoft wprowadził wirtualizację plików dla starszych aplikacji działających jako procesy 32-bitowe. Wydane jako część kontroli konta użytkownika (UAC) firmy Microsoft wszelkie starsze aplikacje próbujące pisać do dowolnych lokalizacji uznanych za chronione przez system operacyjny są przekierowywane do VirtualStore.

W tym momencie podjęto kroki w celu zapewnienia, że ​​dana aplikacja działa teraz jako proces 64-bitowy, który jest świadomy UAC, jednak nie ma to nic wspólnego z kwestią migracji danych użytkowników do lokalizacji uważanej za bezpieczną od wirtualizacji.

Podczas rozwiązywania tego problemu odkryłem, że podczas pracy z wieloma kontami użytkowników niektóre zmiany zostały wprowadzone w ścieżce starszej znajdującej się w C: Program Files (x86) MyApp Dane, podczas gdy w tym samym czasie dokonano zmian w VirtualStore znajduje się w% localappdata% VirtualStore Programy MyApp Dane. Pytanie brzmi, jak mogę wykryć, czy ma miejsce wirtualizacja plików / folderów i jak mogę połączyć te dwie lokalizacje?

EDYTOWAĆ: Znalazłem kilka stron internetowych, które szczegółowo opisują problem i powielają go, ale nic, co zawiera sposób na jego naprawienie. Znalazłem to odniesienieFILE_ATTRIBUTE_VIRTUAL który definiuje atrybut pliku, który wydaje się obiecujący - znalazłem gdzieś inną referencję, chociaż nie pamiętam, gdzie, że to jest atrybut używany przez Windows do wskazania, że ​​odbywa się wirtualizacja plików i sygnalizuje żądanie przekierowania.

Te linki opisują problem:

http://www.c-sharpcorner.com/uploadfile/GemingLeader/windows-file-and-registry-virtualization/

http://www.codeproject.com/Articles/66275/Windows-Vista-File-and-Registry-Virtualization

http://download.microsoftvirtuallabs.com/download/8/a/7/8a71365b-4c80-4e60-8185-8f12f59bf1d4/UACDataRedirection.pdf

questionAnswers(3)

yourAnswerToTheQuestion