![]() |
Exception beim Schreiben in Anwendungsdaten Verzeichnis?
Moin !
Wir kriegen ab und an von Usern solche Fehler reportet: Type : EIniFileException Message : In C:\Dokumente und Einstellungen\USER\Anwendungsdaten\ANWENDUNG\Setti ngs.ini kann nicht geschrieben werden. Betriebssystem ist in dem Fall XP. Nun würde ich ja eigentlich denken das der User selber auf alle Fälle in dem Verzeichnis schreiben darf. Hat das auch schon mal jemand beobachtet und kann sich da einen Reim drauf machen? |
Re: Exception beim Schreiben in Anwendungsdaten Verzeichnis?
Kann es sein, dass das Verzeichnis nicht existiert? Versuch am besten dieses vorher explizit mit ForceDirectories anzulegen. Alternativ wären da noch die lokalen Anwendungsdaten statt den ggf. bei einer Netzwerkanmeldung geroamten.
Ach ja: Kann es sein, dass die Datei schlicht noch aus irgendeinem Grund geöffnet ist? (Andere Instanz, ...) |
AW: Exception beim Schreiben in Anwendungsdaten Verzeichnis?
Hallo alle... :hi:
Auch wenn der Thread ein wenig älter ist, das Thema ist das gleiche. :zwinker: Meldung: Zitat:
Delphi-Quellcode:
...ermittelt.
FUserFolder:= IncludeTrailingPathDelimiter(GetSpecialFolder(CSIDL_COMMON_APPDATA)) + 'dBK\';
// CSIDL_COMMON_APPDATA = C:\ProgramData Die Ini soll für alle Benutzer verfügbar sein. Als normaler Benutzer habe ich dort keine Schreibrechte :wiejetzt: Kann mir das mal jemand logisch erklären ? Komme ich um ein Manifest nicht drum herum ? Ich könnte ja hier die Rechte entsprechend setzen. Da nützt mir aber auf anderen Systemen nix... :zwinker: System: W7 Danke für Info´s |
AW: Exception beim Schreiben in Anwendungsdaten Verzeichnis?
Dann sollte die Ini im ALLUSER Verzeichnis liegen
|
AW: Exception beim Schreiben in Anwendungsdaten Verzeichnis?
Das AllUser gibt es unter W7 nicht mehr und entspricht eigentlich ProgramData.
CSIDL_COMMON_APPDATA liest unter W7 C:\ProgramData unter XP C:\Dokumente und Einstellungen\AllUsers\Anwendungsdaten aus. Unter XP ließ sich noch normal dahin schreiben, unter W7 nicht mehr. Wo ist da die Logik ? |
AW: Exception beim Schreiben in Anwendungsdaten Verzeichnis?
Dafür werden Schreibzugriffe virtualisiert ( umgebogen)
|
AW: Exception beim Schreiben in Anwendungsdaten Verzeichnis?
:gruebel: Ich wollte vermeiden der Anwendung ein Manifest und die entsprechenden Rechte zu verpassen. Wie kommt die Kuh vom Eis ?
Wenn man es genau nimmt könnte ich den Kram auch in den Programme Ordner legen, denn dafür brauch ich die gleichen Rechte. Was ein Schwachfug ! :evil: Nachtrag: Zitat:
|
AW: Exception beim Schreiben in Anwendungsdaten Verzeichnis?
Hallo,
Du könntest das über das Installationsprogramm erledigen. InnoSetup bietet zum Beispiel
Code:
Andere Tools bieten wohl ähnliches.
[Dirs]
Name: "{app}"; Permissions: users-modify Name: "{commonappdata}\DeinProgramm"; Permissions: users-modify Gruß Frank |
AW: Exception beim Schreiben in Anwendungsdaten Verzeichnis?
Lasse diese doch vom einem Installer erzeugen, dieser benötigt ja sowieso Adminrechte. Oder lagere die Verwaltung dieser Datei in eine eigene Anwendung aus ( welche du auch bei der Installation nutzen kannst). Dieser spendierst du dann ein entsprechenden Manifest.
|
AW: Exception beim Schreiben in Anwendungsdaten Verzeichnis?
Danke für die Tipps, aber die Anwendung schreibt jedesmal beim Beenden die letzten Fensterpsitionen (als Beispiel) rein.
... also Manifest. Der Weg des geringsten Widerstandes. :roll: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:26 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz