none
Order-Virtualisierung Win 7prof RRS feed

  • Allgemeine Diskussion

  • Hallo zusammen,

    ich setze mich gerade mit der UAC und C#-VS2010 und Manifesten auseinander.

    Hierbei habe ich versucht, die Ordner-Virtualisierung etwas detaillierter zu untersuchen.

    Wie ich der allgemeinen MS-Doku entnehme, greift die Virtualisierung z.Bsp. bei älteren Programmen, welche direkt ins WINDOWS-Verzeichnis schreiben wollen. Soweit ist mir dieses auch klar und erscheint logisch.Ist ja soweit auch eine feine Sache, was die Rückwärtskompatibilität anbelangt.

    Zum Testen dieser Virtualisierung habe ich einfach mal ein kleine C#-Anwendung geschrieben, welche ins WINDOWS-Verzeichnis schreibt (Erzeugung einer TEST.TXT und Schreiben in diese Datei).

    Starte ich die Anwendung aus der Entwicklungs-Umgebung heraus, so wird die Datei in VirtualStore\Windows angelegt. Soweit klappt dieses so wie erwartet.

    Starte ich die Anwendung direkt von der Platte (also ohne VS), so bekomme ich nur die Meldung, dass der Zugriff auf C:\WINDOWS\TEST.TXT verweigert wurde.

    Nach meinem Verständnis müsset doch eigentlich der Zugriff auch auf VirtualStore\Windows umgeleitet werden?

    Ebenso erhalte ich bei folgendem Befehl ein "Zugriff verweigert":

    ECHO > C:\WINDOWS\TEST.TXT

    Es geht mir nicht darum, ein Programm zu schreiben, welches die Ordner-Virtualisierung nutzt, das wäre ja auch nicht wirklich professionell, ich möchte nur verstehen, warum es manchmal klappt und manchmal eben nicht.

    Oder mache ich hier einen Denkfehler ?

    Danke schon mal im voraus für eure Tipps.

    Gruß

    Jost

    Freitag, 17. Dezember 2010 11:33

Alle Antworten

  • Hast du in die Anwendung eine Manifestdatei integegiert und dort den requestedExecutionLevel festgelegt? Wenn du dort asInvoker angibst, bekommst du die Zugriff verweigert Meldungen, falls du in der ACL keine Rechte zum Schreiben hast.

    Ist dieser Eintag nicht vorhanden wird die Anwendung als "Altanwendung" betrachtet und die Virtualisierung schlägt zu um das abzufangen.


    Gruß
    André


    "A programmer is just a tool which converts caffeine into code" CLIP- Stellvertreter http://www.winvistaside.de/
    Samstag, 18. Dezember 2010 13:22