Wie beurteilen Sie die Dateiberechtigungen ändern Vista zu stoppen im Virtuals Verzeichnis in eine Datei zu schreiben?

StackOverflow https://stackoverflow.com/questions/493351

Frage

Wenn mein Programm zuerst installiert es eine Datei mit in dem AppData-Verzeichnis des Benutzers, und das Programm dann wird in regelmäßigen Abständen in diese Datei schreiben. Das Problem in Vista ist die Schreibvorgänge sind nicht auf die Datei in dem Benutzer AppData Verzeichnis gemacht, sie sind mit einer Kopie dieser Datei in dem „Virtuals / Programdata“ Verzeichnis gemacht. Die Originaldatei im AppData-Verzeichnis des Benutzers nie geändert wird, so scheint es, wenn das Programm läuft es nur Zugriff auf die Datei innerhalb des Virtuals Verzeichnisses hat.

Gibt es eine Möglichkeit aus dem Innern einer C # -Anwendung, die Berechtigungen für die Datei so zu ändern, dass mein Programm mit dem Original in dem AppData-Verzeichnis schreiben wird und nicht die in dem Virtuals Verzeichnis?

Danke,

Jeff

War es hilfreich?

Lösung

Die UAC-Dokumentation unter http://msdn.microsoft.com/en -US / library / bb756973.aspx sollten Sie diese lösen.

Es klingt für mich wie Sie ein Anwendungsmanifest hinzufügen müssen.

Wenn Ihre Anwendung ein Anwendungsmanifest mit einem „requestedExecutionLevel“ Wert enthält angegeben, wird Vista Virtualisierung der Registry und Dateisystem abgeschaltet wird.

Hier finden Sie aktuelle http://msdn.microsoft.com/en -US / library / bb756929.aspx Besonderheiten.

Wenn Sie nicht bereits Ihre Anwendung unter Nicht-Admin-Bedingungen getestet, könnten Sie feststellen, dass Sie einige Code-Änderungen vornehmen müssen, nachdem Sie Vista-Virtualisierung deaktivieren.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top