![]() |
ini Datei ohne admin zu sein
Hallo zusammen,
mein Programm verwendet INI-Dateien. Beim Schließen des Programms (onClose der Main-Form) werden einige INI Daten geschrieben. Das klappt alles problemlos, solange das Programm mit Administrator-Rechten läuft. Sobald es ohne Administrator-Rechte läuft gibt es Probleme. Die INI Daten werden beim Schließen sauber geschrieben, ich kann die Datei hinterher kontrollieren. Danach meldet das Programm aber einen Fehler beim Schreiben der INI-Datei. Die Fehlermeldung verweist auf eine Datei „program.ini“. Ich habe dann den von mir erzeugten Namen der Ini-Datei in „program.xxx“ verändert. Die Fehlermeldung verweist aber immer noch auf „program.ini“. Es ist sichergestellt, das Schreibrechte für das Verzeichnis bestehen. Ich habe das gesamte Programm nach übersehenen Schreibbefehlen durchsucht und nichts weiter gefunden. Alle Zugriffe auf INI-Dateien sind in einer zentralen UNIT zusammengefaßt. Hat jemand einen Tip? |
AW: ini Datei ohne admin zu sein
Wohin schreibst du die denn? In das Verzeichnis deiner .exe wie bei Windows 9x? Das ist seit mehr als 10 Jahren ein Programmierfehler (von ganz wenigen Ausnahmen mal abgesehen).
Mehr dazu habe ich hier geschrieben: ![]() Was dein konkretes Problem angeht: Das solltest du beim Debuggen doch merken wo der Fehler auftritt. :gruebel: Wenn das auf deinem PC nicht passiert, bleiben nur Meldungen der Art "OnClose Beginn", "OnClose Ende" usw. um festzustellen wo das passiert. |
AW: ini Datei ohne admin zu sein
Die einzige Ausnahme die ich kenne, ist eine grundlegende, sich nach der Installation nicht ändernde Konfigurationsdatei, auf die dann auch nur lesend zugegriffen wird ;)
|
AW: ini Datei ohne admin zu sein
@jaenicke
ich lasse mir das APPDATA Verzeichnis geben {uses Shlobj für CSIDL_APPDATA; glDefaultPath in QVC_global} glDefaultPath := GetSpecialFolder(CSIDL_APPDATA) + '\Firma\'; if not DirectoryExists(glDefaultPath) then MkDirEx(glDefaultPath); {erzeugt ev. nicht vorhandenes DIR} und lege dort ein Unterverzeichnis an. Das klappt auch. |
AW: ini Datei ohne admin zu sein
Eventuell liegt der Fehler an der Stelle wo die "program.ini" gelesen wird.
Wird das File dort auch mit Nur-Lesen geöffnet? Wird das File auch wieder ordentlich geschlossen, bzw. freigegeben? |
AW: ini Datei ohne admin zu sein
Zitat:
Halt, Kommando zurück, das war CSIDL_COMMON_APPDATA :) BTW: Bitte nutze für Delphi-Code auch die
Code:
Tags
[DELPHI][/DELPHI]
|
AW: ini Datei ohne admin zu sein
Wenn es nicht an den Schreibrechten liegt. Versuchen mehrere Formulare/ Klassen beim Beenden der App was in die INI zu schreiben?
|
AW: ini Datei ohne admin zu sein
Zitat:
Und an welcher Stelle im Code kommt der? Das müsstest du ja wie schon geschrieben im Debugger sehen. |
AW: ini Datei ohne admin zu sein
Zitat:
Aber ich sehe gerade, du hast deinen Irrtum bemerkt 8-). MfG Dalai |
AW: ini Datei ohne admin zu sein
Zitat:
zentralen Unit für das Screiben in die INI-Datei gesetzt und den Programmablauf (als Admin) verfolgt. Es gibt keinen versteckten Zugriff auf die INI. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:41 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 by Thomas Breitkreuz