Daten allen Benutzern zugänglich speichern – VirtualStore?
Übersicht

![]() |
KnorxThieusBetreff: Daten allen Benutzern zugänglich speichern – VirtualStore? |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo allerseits mal wieder,
Ich habe ein so einigermaßen funktionierendes kleines Programm geschrieben, welches es auf einem Windows-7-Rechner mit mehreren Benutzerkonten ermöglicht, diese durch den Administrator vorübergehend einzeln zu sperren, indem eine Top-positioniertes Window ihnen den Zugriff verweigert und die Sitzung sperrt. (Zum Sinn des Programms bitte keine Kritik; es hat mir einfach Spaß gemacht …) Die INI-Datei, welche die Zugriffsverweigerungen auflistet, habe ich bisher immer im Verzeichnis %PROGRAMDATA%, also i. d. R. unter C:\ProgramData gespeichert, doch bisher wenige Tests auf dem Zielrechner unternommen. Als ich heute dann eine Änderung in der Datei vornahm, musste ich entdecken, dass die Sperr-Exe diese Änderungen beim Einlesen gar nicht bemerkte! Nach einigem Suchen ist mir aufgefallen, dass die Datei, welche tatsächlich gelesen wurde, in Wirklichkeit nicht %PROGRAMDATA%\KnorxThieus\meinedatei.ini hieß, sondern tatsächlich %LOCAPPDATA%\VirtualStore\ProgramData\KnorxThieus\meinedatei.ini – es handelte sich offenkundig um eine veraltete Kopie der aus dem Administrator-Konto heraus erstellten Datei. Eine rasche Google-Suche ergab dann Folgendes, Wikipedia (Artikel: Benutzerkontensteuerung) hat Folgendes geschrieben: Versucht ein Programm ohne eine Rechteerhöhung anzufordern in administrative Pfade zu schreiben, werden Verzeichnisse und Registry virtualisiert. Dabei wird eine Kopie derselben vom Programm beschrieben, wobei diese im Nutzerprofil unter %userprofile%\AppData\Local\VirtualStore\ sowie HKCU\Software\Classes\VirtualStore\ abgelegt wird, sodass jeder Nutzer eine eigene Kopie erhält.
Jedoch schreibe ich als Nicht-Administrator mitnichten; meinedatei.ini wird eindeutig mittels ReadFile ![]() Meine Ratsuche, nachdem mir heute keine andere Lösung eingefallen ist, lautet also: Wie schaffe ich es, die Einstellungsdatei allen Benutzern zum Lesen zugänglich abzuspeichern? Die Lösung, den Virtual Store windowsweit über gpedit abzuschalten, behagt mir nicht so – mein Programm sollte im Prinzip eh überall laufen, andernfalls könnte es aber vielleicht Probleme mit anderen Programmen auf dem Rechner geben. Direkt auf C:\ zu speichern halte ich auch für unklug, das schafft immer Unordnung. Auch die Registry, HKLM, würde ich nur ungern bemühen, da ich dann den ganzen Speichervorgang umbauen müsste. Hätte also jemand Ideen, wie man den Virtual Store austricksen kann, oder wüsste jemand einen Ort, der von diesem nicht umfasst wird? Vielen Dank schon mal! ![]() Mit freundlichen Grüßen, KnorxThieus |
||
Version: BlitzPlus / Blitz+ |
![]() |
DAK |
![]() Antworten mit Zitat ![]() |
---|---|---|
Eigentlich überall anders. (Fast) jedes andere Verzeichnis geht dafür. Wenn du die Einstellungen eh nur als Admin änderst, dann kannst du selbige einfach neben dem Programm im Programme-Ordner ablegen. | ||
Gewinner der 6. und der 68. BlitzCodeCompo |
![]() |
Jan_Ehemaliger Admin |
![]() Antworten mit Zitat ![]() |
---|---|---|
C:\Users\Public | ||
between angels and insects |
![]() |
KnorxThieusBetreff: So geht's! :-) |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo,
@DAK: Wow, ich hätte nicht gedacht, dass der VirtualStore beim Programmverzeichnis anders arbeitet! So klappt es jetzt jedenfalls, Vielen Dank! ![]() @Jan_: Na ja, dort liegt leider kein AppData-Verzeichnis, und irgendwo unter den Dokumenten zu speichern, fände ich wieder ziemlich unordentlich … Nun speichere ich halt direkt im Programmverzeichnis. ![]() OK, gelöst. Mit freundlichen Grüßen, KnorxThieus |
||
Version: BlitzPlus / Blitz+ |
![]() |
Jan_Ehemaliger Admin |
![]() Antworten mit Zitat ![]() |
---|---|---|
im programmverzeichniss hat kein NICHT-Admin schreibrechte. | ||
between angels and insects |
![]() |
KnorxThieus |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich lese dort ja auch nur … aber dieselbe Regel gilt für %PROGRAMDATA%. | ||
Version: BlitzPlus / Blitz+ |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group