Entwickler-Ecke

Dateizugriff - Wo INI-Datei abspeichern?


CrazyLuke - Do 24.03.05 10:21
Titel: Wo INI-Datei abspeichern?
Hi!


Ich hoffe, dass ich in dieser Rubrik richtig bin. In welchem Ordner kann man INI-Dateien am Besten abspeichern? Ich sitze hier an nem PC mit eingeschränkten Benutzerkonto unter XP Pro und folgende Ergebnisse:

1) Programmordner:
.+. alle Dateien sind in einem Ordner
.--. keine Änderungsmöglichkeit bei eingeschränktem Benutzerkonto (NT/2000/XP)
+/- Eine Konfigurationsdatei für alle

2) C:\Dokumente und Einstellungen\<Benutzername>\Anwendungsdaten*:
.+. uneingeschränkte Bearbeitungsmöglichkeiten auf jedem BS
.--. INI-Datei extern
+/- Jeder Nutzer kann/muss sich das Programm selber konfigurieren

3) C:\Dokumente und Einstellungen\All Users\Anwendungsdaten*:
.+. uneingeschränkte Bearbeitungsmöglichkeiten auf jedem BS
.--. INI-Datei extern
+/- Eine Konfigurationsdatei für alle


* Frage: Gibts das auch bei 9x/ME?


Imho wäre es dann optimal, bei der Installation dem User die Auswahl zu lassen:
- 9x/ME: 1 oder 2 (falls 2. möglich)
- NT/2000/XP: 1 (für Admins), 2 oder 3


Oder gibts bessere Möglichkeiten? Option 1 muss auf jeden Fall vorhanden sein, da ich mein Programm auch als ZIP anbieten möchte.

Allerdinsg müsste es dann ja noch ne zweite INI geben, in der dann der Pfad zur Konfig-INI drin steht, das ist wohl besser, als wenn das Programm jedes Mal alle 3 Ordner durchsucht?


MfG
CrazyLuke


Jailbird - Do 24.03.05 10:35

Ich bin ganz klar der Meinung, dass ein Konfigurationsdatei in den Programmordner des Programmes hineingehört. Dies daher, da ich mir von Programmen nicht gerne vorschreiben lass, WO genau der Ordner sein muss.
Ein gutes Beispiel ist da Quake3 (werd ich jetzt verhaftet?). Diesen Ordner kann man frei auf der Platte rumschieben und das Game funzt trotzdem. Tiptop gemacht :)


CrazyLuke - Do 24.03.05 10:38

Tja, daher möchte ich das ja auch für die ZIP-Datei noch ermöglichen. Aber sollen auch eingeschränkte Nutzer das Programm vollwertig nutzen dürfen, ist das leider nicht möglich. Du kannst natürlich den Programmordner verschieben. Nur wenn du die Konfig-INI auch verschieben möchtest (und diese nicht im Programmordner liegt), müsstest du den Pfad dazu in der Programm-INI im Programmordner aktualisieren.

MfG
CrazyLuke


Jailbird - Do 24.03.05 11:03

Wieso soll ein eingeschränkter Benutzer nicht in die Konfig schreiben können? Das versteh ich jetzt nicht ganz. Wäre ja so, als würde dieser mit Word arbeiten und kann am Schluss nicht speichern


CrazyLuke - Do 24.03.05 11:08

Naja, der Ordner "Eigene Dateien" liegt ja unter "C:\Dokumente und Einstellungen\<Benutzername>", da hat der Nutzer natürlich Zugriff drauf. Aber unter "C:\" oder "C:\Programme" (mit Unterordnern) oder "C:\Dokumente und Einstellungen\<anderer benutzername>" (mit Unterordnern) kann ich nix ändern.

So fragt jetzt z.B. OpenOffice jedesmal nach einer unverbindlichen, kostenlosen Registrierung. Kanns ja nicht ausstellen, bei "Später registrieren" poppt es wieder beim nächsten Start auf und bei "Nie registrieren" (oder wenn ich z.B. die Schaltflächen anders anordnen möchte) zeigt OpenOffice beim Programmende die Fehlermeldung, dass die Datei C:\Programme\OpenOffice\xy.z nicht geschrieben werden konnte.

Wie gesagt gilt das nur für entsprechend eingeschränkte Benutzerkonten unter NT-Systemen.

MfG
CrazyLuke


Delete - Do 24.03.05 11:57
Titel: Re: Wo INI-Datei abspeichern?
Also bei Openoffice hast du einen Fehler gemacht. Auf NT/2000/XP solltest du das Setup mit dem Parameter "-net" starten. Als Admin natürlich! Dadurch wird eine Grundinstallation erzeugt. Dann startest du das Setup noch mal mit dem gewünschten Benutzerkonto, und die Daten werden für deinen Benutzer angelegt. Der Fehler, den du ansprichst (Registrierungsbox erscheint ständig), ist damit auch weg.

Bitte schau dir mal die Info-Dokumente auf der Openoffice-Webseite bzw. beim Setup an. Dort ist das alles besser erklärt.


CrazyLuke - Do 24.03.05 12:00

Ist ja nur der Firmen-PC, damit ich hier auch ppt-Dateien öffnen kann. Ist ja auch nicht jeden Tag, also geht das schon so in Ordnung ;)
Aber trotzdem danke. Dann weiß ichs fürs nächste Mal.

MfG
CrazyLuke