# Datei und Registry Virtualisierung

Ab Windows Vista wurde die Sicherheit verändert und um das Benutzerkontensteuerung - "User Account Control (UAC)" erweitert. Dadurch soll erreicht werden, dass man als Anwender nicht mehr mit "administrativen"-Berechtigungen an Rechner arbeiten muss um seine Aufgaben erledigen zu können.

Dadurch ergibt sich ein Problem. Es gibt Programme, die vor dieser Änderung entwickelt wurden und davon ausgehen, dass sie auf alle Verzeichnisse zugreifen dürfen. Damit solche Anwendungen auch noch ausgeführt werden können, wurde das "File and Registry Virtualisation - FARV" von Microsoft entwickelt.

## Funktionsweise der Datei und Registry Virtualisierung

Wird ein Programm gestartet, legt Windows fest, ob diese Anwendung als "Legacyanwendung" ausgeführt wird. Greift eine Legacyanwendung auf einen globalen Systemspeicherort (Dateisystem oder Registry) schreibend zu und kommt es bei diesem Vorgang aufgrund fehlender Rechte zu einen Fehler (Zugriff verweigert), dann leitet Windows diesen Zugriff auf den Virtuellen Speicherbereich um. Bei einem lesenden Zugriff wird als erstes im Virtuellen Speicherbereich nach dieser Datei gesucht. Wird die Datei dort nicht gefunden, wird erst auf den globalen Speicherbereich zugegriffen.

Das Virtuelle-Verzeichnis für Dateizugriffe liegt unter "%UserProfile%\AppData\Local\VirtualStore". Hier werden weitere Unterverzeichnisse mit Dateien angelegt, die für den Anwender umgeleitet wurden.

Das Virtuelle-Verzeichnis für die Registry wird unter "HKEY_CURRENT_USER\ Software\ Classes\ VirtualStore" bzw. als kurzer Link unter "HKEY_LOCAL_MACHINE\ Software\ Classes \ VirtualStore".

Die Anwendung selber bekommt davon nichts mit und "denkt", dass es ausschließlich in seinen Verzeichnissen arbeitet.

Wenn Sie im Explorer auf einen Ordner gehen, wohin Dateien umgeleitet wurden, dann werden Ihnen nicht diese umgeleiteten Dateien, sondern die Originaldateien angezeigt.

Oben in der Explorerleiste wird Ihnen aber durch den Link "Kompatibilitätsdateien" (Compatibility Files) angezeigt, dass es Kopieen dieser Datei für den Anwender gibt. Wenn Sie auf die Schaltfläche klicken, wird Ihnen der virtuelle Speicher angezeigt.

## Bei welchen Programmen ist die Virtualisierung aktiv?

Die Virtualisierung ist bei allen "Legacyanwendungen" aktiv. Als "Legacyanwendungen" werden folgende Programme eingestuft:

- Es muss ein 32-Bit-Prozess sein (64-Bit-Prozesse werden nicht als Legacyanwendung behandelt)
- Die Anwendung wird nicht mit administrativen Rechten ausgeführt
- Die Anwendung keine Manifestdatei besitzt die angibt, dass die Anwendung für Vista geschrieben wurde
- Netzwerk-Dateifreigaben werden nicht virtualisiert

Der Virtualisierungsstatus wird als Token im Prozess gespeichert. Im Task-Manager können Sie sich das unter dem Tabreiter "Prozesse" anzeigen lassen. Dazu müssen Sie nur die Spalte "Virtualisierungsstatus" zur Anzeige hinzufügen.

## Was wird alles virtualisiert?

Welche Verzeichnisse und Registryeinträge alle virtualisiert sind, wird in Windows fest eingetragen. Dabei handelt es sich um folgende Dateien/Registrypfade.

#### Dateisystem (mit allen Unterverzeichnissen):

- %SystemRoot%
  (C:\Windows)
- %ProgramFiles%
  (C:\Programme)
- %AllUsersProfile%
  (C:\ProgramData)

Einige Unterverzeichnisse sind von der Virtualisierung ausgenommen. Zusätzlich sind alle Binär ausführbaren Dateien (.EXE, .DLL, .COM usw.) von der Virtualisierung ausgenommen. Diese Liste - der von der Virtualisierung ausgenommen - Dateien, kann über den Registryeintrag "ExcludedExtensionsAdd" erweitern werden.

Starten Sie den Registryeditor und ändern Sie in der Registry die Einträge wie beschrieben ab. Beachten Sie dazu bitte folgende Punkte: Aufbau der Registrydatenbank Wichtige Hinweise (Informationen zum Sichern der Registrydatenbank) Unterschiede zwischen Regedit und Regedt32 Aufrufen von REGEDIT.EXE (alle Betriebssysteme) oder REGEDT32.EXE (nur Windows NT/2000) Wenn der Pfad zum Schlüssel nicht vorhanden ist, müssen Sie die nötigen Schlüssel selber hinzufügen. Rechtsklick auf den letzten Schlüssel (links im Tree) aus dem Kontextmenü "Neu" -> "Schlüssel" auswählen, und die fehlenden Schlüssel mit den angegebenen Namen anlegen.

Unter:

[für das System (alle Anwender)]

HKEY_LOCAL_MACHINE\ System\ CurrentControlSet\ Services\ Luafv\ Parameters

Erstellen Sie hier einen neuen Wert mit dem Namen "ExcludedExtensionsAdd" als Datentyp REG_MULTI_SZ. Geben Sie hier die gewünschten Dateiendungen ohne (Punkt) an.

Registrypfade (mit allen Unterschlüsseln):

- HKEY_LOCAL_MACHINE\ Software

Dabei werden die folgenden Unterschlüssel aber ausgeschlossen:

- HKEY_LOCAL_MACHINE\ Software\ Microsoft\ Windows
- HKEY_LOCAL_MACHINE\ Software\ Microsoft\ Windows NT
- HKEY_LOCAL_MACHINE\ Software\ Classes

Mit dem Tool REG.EXE kann die Liste der ausgenommenen Schlüssel bearbeitet werden.

Über das Flag "REG_KEY_DONT_VIRTUALIZE" werden Schlüssel, die nicht beachtet werden sollen, markiert.

Siehe auch Tipp: "Benutzer-Konten-Steuerung (UAC) deaktivieren/aktivieren"

Weitere Informationen hierzu finden Sie in der Technet von Microsoft: http://www.microsoft.com/technet/technetmag/issues/2007/06/uac/default.aspx?loc=de

WinFAQ: Startseite | WinFAQ: HTMLMenü | WinFAQ: Java Version

Der Tipp enthält einen Fehler oder Sie haben noch eine Ergänzung dafür? Schreiben Sie uns über die Feedback-Seite an: Feedback-Formular

URL: http://www.winfaq.de/faq_html/Content/tip2000/tip2415.htm

WinFAQ ® Version 9.01 Copyright © 1996/2016 by Frank Ullrich