Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Exception beim Schreiben in Anwendungsdaten Verzeichnis? (https://www.delphipraxis.net/132457-exception-beim-schreiben-anwendungsdaten-verzeichnis.html)

moelski 13. Apr 2009 07:36


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?

jaenicke 13. Apr 2009 07:52

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, ...)

haentschman 26. Jun 2011 16:24

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:

Type : EIniFileException
Message : In C:\ProgramData\dBK\dBK.ini kann nicht geschrieben werden.
Der Ordner wird via..
Delphi-Quellcode:
FUserFolder:= IncludeTrailingPathDelimiter(GetSpecialFolder(CSIDL_COMMON_APPDATA)) + 'dBK\';
// CSIDL_COMMON_APPDATA = C:\ProgramData
...ermittelt.

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

mkinzler 26. Jun 2011 16:26

AW: Exception beim Schreiben in Anwendungsdaten Verzeichnis?
 
Dann sollte die Ini im ALLUSER Verzeichnis liegen

haentschman 26. Jun 2011 16:31

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 ?

mkinzler 26. Jun 2011 16:33

AW: Exception beim Schreiben in Anwendungsdaten Verzeichnis?
 
Dafür werden Schreibzugriffe virtualisiert ( umgebogen)

haentschman 26. Jun 2011 16:36

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:

Unter XP ließ sich noch normal dahin schreiben
...glaube ich fast gar nicht mehr, da ich unter XP noch mit anderen "Grundrechten" gearbeitet habe.

FBrust 26. Jun 2011 16:42

AW: Exception beim Schreiben in Anwendungsdaten Verzeichnis?
 
Hallo,

Du könntest das über das Installationsprogramm erledigen.

InnoSetup bietet zum Beispiel

Code:
[Dirs]
Name: "{app}"; Permissions: users-modify
Name: "{commonappdata}\DeinProgramm"; Permissions: users-modify
Andere Tools bieten wohl ähnliches.

Gruß
Frank

mkinzler 26. Jun 2011 16:42

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.

haentschman 26. Jun 2011 16:51

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.
Seite 1 von 2  1 2      

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