Wahrscheinlich stoßen Sie auf einen Teil der Vista-UAC-Funktionen namens Virtual Store . Hier ist ein Ausschnitt aus dem Artikel:
Wenn eine Anwendung an einen Systemspeicherort schreibt, der nur von Administratoren beschrieben werden kann, schreibt Windows alle nachfolgenden Dateioperationen in einen benutzerspezifischen Pfad im Verzeichnis des virtuellen Speichers, das sich unter% LOCALAPPDATA% \ VirtualStore befindet. Wenn die Anwendung diese Datei später zurückliest, stellt der Computer die Datei im virtuellen Speicher bereit. Da die Windows-Sicherheitsinfrastruktur die Virtualisierung ohne die Hilfe der Anwendung verarbeitet, glaubt die Anwendung, dass sie erfolgreich in Programme lesen und schreiben konnte. Durch die Transparenz der Dateivirtualisierung können Anwendungen erkennen, dass sie von der geschützten Ressource schreiben und lesen, während sie tatsächlich auf die virtualisierte Version zugreifen.
Ihre Anwendung wird in einem nicht erhöhten Kontext (nicht Admin) ausgeführt. Wenn versucht wird, die Datei im Ordner "Programme" zu öffnen, wird diese Anforderung transparent an den virtuellen Speicherort der Benutzerkonten weitergeleitet. Ihre Kopie von TextPad ist wahrscheinlich in einem erhöhten Kontext laufen und so ist es zu sehen, die Datei, die in den Leben realen Ordnern Programm.
Wenn dies Ihr Code ist, dessen Funktionalität Sie ändern können, und Sie möchten, dass Benutzer ihn als Administrator verwenden können, sollten Sie den Speicherort Ihrer Konfigurationsdateien an einen Ort im ApplicationData-Ordner des Benutzers ändern, an den er gehört. Es wird heutzutage dringend davon abgeraten, Einstellungen in eine Konfigurationsdatei zu schreiben, die im Installationsordner der Anwendung gespeichert ist. Wenn Sie wirklich Einstellungen haben, die für alle Benutzer des Computers gelten sollen, sollten Sie diese stattdessen in den Ordner All Users Application Data schreiben. Und selbst dann müssen Sie die App immer noch standardmäßig in einem erhöhten Kontext ausführen, sofern Sie der Gruppe Benutzer nicht explizit Schreibzugriff auf Ihren Ordner gewähren.
Halten Sie dieses Mantra aufrecht, während Sie Software für Vista und darüber hinaus schreiben. "Benutzer können nur in ihr Profil schreiben ... Benutzer können nur in ihr Profil schreiben"