Lesen und Schreiben der Config in unterschiedliche Dateien?

carstenk

Herzlich willkommen!
Hi!

Ich bräuchte Hilfe beim Verständnis welche Config-Datei wann angezogen wird und wohin beim Programm-Ende die Änderungen geschrieben werden.

Ich benutze die fc2009.2a portable Version und habe in der fcstart.ini folgendes eingetragen (die entsprechenden Verzeichnisse existieren):

FreeCommanderIniDir=%FcSrcPath%\Configuration\%COMPUTERNAME%

Die Daten werden auch, soweit ich es beurteilen kann, von dort gelesen.

Wenn ich aber den fc beende werden geänderte Einstellungen in die freecommander.ini im Programmverzeichnis geschrieben.

Ist das so gewollt? Oder sollte es eigentlich so sein, dass die Änderungen auch in die Datei zurückgeschrieben wird, aus der die Konfiguration beim Programmstart gelesen wurde? Habe ich irgendetwas wesentliches übersehen?

Danke und Gruß,
Carsten
 
Hi Carsten,

unter Hilfe->Info: "Paths Info" ist der aktuelle Ort der Konfigurationsdatei zu sehen - in diese Datei wird zurückgeschrieben.

Gruß
Marek
 
Hi Marek,

danke für die Antwort!

Hi Carsten,

unter Hilfe->Info: "Paths Info" ist der aktuelle Ort der Konfigurationsdatei zu sehen - in diese Datei wird zurückgeschrieben.

Gruß
Marek

Hm. Sorry wenn ich nerve, aber:

Installationsverzeichnis
C:\[...]\PortableApps\FreeCommanderPortable

FreecommanderPortable.ini:
[FreeCommanderPortable]
ProgramDirectory=App\FreeCommander
ProgramExecutable=FreeCommander.exe
SettingsDirectory=Data\settings

fcStart.ini:
[Start]
FreeCommanderIniDir=%FcSrcPath%\Configuration\%COMPUTERNAME%

Aus dem Info-Dialog von fc:
Freecommander.ini
C:\[...]\PortableApps\FreeCommanderPortable\Data\settings\FreeCommander.ini

Application Data
C:\[...]\PortableApps\FreeCommanderPortable\App\FreeCommander

Ich habe mir mit ProcMon von Sysinternals angesehen, wann fc wie auf welche Datei zugreift. Er liest die fcstart.ini aus, sucht erfolgreich nach der freecommander.ini in Configuration\%COMPUTERNAME% und ignoriert sie dann. Stattdessen benutzt der die o.g. Pfade. zum Lesen und Schreiben der Konfig.

Mein Ziel: ich möchte fc auf mehreren Maschinen in unterschiedlichen Umgebungen einsetzen. Dafür hätte ich gern für jede Maschine eine eigene freecommander.ini.
Ich war davon ausgegangen, dass über den Eintrag in der fcstart.ini festgelegt wird, welche freecommander.ini für das Lesen und Schreiben der Konfiguration benutzt wird. Ist diese Annahme richtig?

Was übersehe ich?

Gruß und Danke für Deine Zeit,
Carsten

PS: das Logfile vom procmon stelle ich gern zur Verfügung...
 
Hallo Carsten,

deine Annahme ist richtig, der Eintrag in der fcstart.ini legt fest welche freecommander.ini benutzt wird. Dabei wichtig ist folgendes:
- der definierte Pfad ist auflösbar und existiert
- in dem Pfad existiert die freecommander.ini Datei
Wenn irgendwas nicht erfüllt ist, dann wird auf Programmordner umgeschaltet.

Sollte das wirklich mit der Portable-Version nicht so funktionieren, dann würde ich auf deiner Stelle die ZIP-Version nehmen.
Andere Möglichkeit wäre mit dem Parameter Ini zu starten, z.B.
freecommander.exe /ini=%temp%\freecommander.ini
In dem Fall ist es wichtig, dass der volle Pfad für die Datei zu definieren ist.
 
Hi Marek,

danke für die Hinweis auf die Zip-Version, mit der geht es genau so wie ich es mir vorgestellt habe.

Gruß,
Carsten
 
Oben