Fragen zu UseIniInProgramDir
Moderators: Hacker, Stefan2, white
- Wilhelm M.
- Power Member
- Posts: 1050
- Joined: 2003-06-05, 10:45 UTC
Fragen zu UseIniInProgramDir
Help sagt zu den möglichen Einstellungen:
1: Benutze wincmd.ini im Programmverzeichnis, falls kein anderer Ort über Registry
oder Kommandozeilenparameter festgelegt wurde
2: Benutze wcx_ftp.ini im Programmverzeichnis, falls kein anderer Ort über Registry
oder Kommandozeilenparameter festgelegt wurde
4: Übergehe Einstellungen in der Registry
UND (wichig!): dieser Schalter wird nur dann berücksichtigt, wenn die wincmd.ini im Programmverzeichnis ist.
Ich habe einmal "4" eingestellt. Laut Beschreibung würde ich erwarten, dass TC jetzt die *ini im Programmverzeichnis liest, OHNE Rücksicht auf irgendwelche Registry-Einstellungen (dieses Verhalten hätte ich gerne). Das passiert aber nicht, sondern beim Neustart von TC legt dieser im Windowsverzeichnis eine neue *ini an.
Fragen: Was ist der Sinn dieser Einstellung "4"? Was passiert eigentlich (nach der Logik der obigen Schalter), wenn ich den Schalter GAR NICHT setze? Wenn ich "4" setze und die *.ini ist NICHT im Programmverzeichnis, was ist dann?
Irgendwie scheint mir die Logik hinter diesen Schaltern nicht ganz sauber oder unnötig kompliziert zu sein. Eigentlich gibt es doch nur 3 wirklich verschiedene Möglichkeiten:
1) Nimm die *.ini im Programmverzeichnis
2) Nimm die *.ini im Windowsverzeichnis.
3) Werte die Registry aus.
+ Zusatz: wenn du dort keine *ini findest, dann lege sie neu an.
1: Benutze wincmd.ini im Programmverzeichnis, falls kein anderer Ort über Registry
oder Kommandozeilenparameter festgelegt wurde
2: Benutze wcx_ftp.ini im Programmverzeichnis, falls kein anderer Ort über Registry
oder Kommandozeilenparameter festgelegt wurde
4: Übergehe Einstellungen in der Registry
UND (wichig!): dieser Schalter wird nur dann berücksichtigt, wenn die wincmd.ini im Programmverzeichnis ist.
Ich habe einmal "4" eingestellt. Laut Beschreibung würde ich erwarten, dass TC jetzt die *ini im Programmverzeichnis liest, OHNE Rücksicht auf irgendwelche Registry-Einstellungen (dieses Verhalten hätte ich gerne). Das passiert aber nicht, sondern beim Neustart von TC legt dieser im Windowsverzeichnis eine neue *ini an.
Fragen: Was ist der Sinn dieser Einstellung "4"? Was passiert eigentlich (nach der Logik der obigen Schalter), wenn ich den Schalter GAR NICHT setze? Wenn ich "4" setze und die *.ini ist NICHT im Programmverzeichnis, was ist dann?
Irgendwie scheint mir die Logik hinter diesen Schaltern nicht ganz sauber oder unnötig kompliziert zu sein. Eigentlich gibt es doch nur 3 wirklich verschiedene Möglichkeiten:
1) Nimm die *.ini im Programmverzeichnis
2) Nimm die *.ini im Windowsverzeichnis.
3) Werte die Registry aus.
+ Zusatz: wenn du dort keine *ini findest, dann lege sie neu an.
Grüße/Regards,
Wilhelm
Wilhelm
Wilhelm M.
Du muss diese Zahlen summieren! So, "4" nur zeigt, wie TC "1" und "2" in diese Summe benutzen werden. Wenn möchtest du beide wincmd.ini und wcx_ftp.ini aus dem Programmverzeichnis benutzen, setz UseIniInProgramDir=7 (1+2+4).
Du muss diese Zahlen summieren! So, "4" nur zeigt, wie TC "1" und "2" in diese Summe benutzen werden. Wenn möchtest du beide wincmd.ini und wcx_ftp.ini aus dem Programmverzeichnis benutzen, setz UseIniInProgramDir=7 (1+2+4).
Flint's Homepage: Full TC Russification Package, VirtualDisk, NTFS Links, NoClose Replacer, and other stuff!
Using TC 11.03 / Win10 x64
Using TC 11.03 / Win10 x64
- Wilhelm M.
- Power Member
- Posts: 1050
- Joined: 2003-06-05, 10:45 UTC
@Flint:
Das weiß ich schon. Aber trotzdem ist doch komplizierter als notwendig! Der Schalter kann folgende Werte haben: 0,1,2,3,4,5,6,7. Und bei jeder Kombination muss man sich jetzt überlegen, was sie bedeutet. Ist das notwendig?
Außerdem ist die Logik des Wertes 4 für mich nicht klar: wenn es im Programmverzeichnis eine *.ini gibt , dann ignoriere die Registry-Einstellungen - das sagt die Beschreibung. Aber wieso legt dann TC eine neue *.ini im Windowsverzeichnis an?
Also okay, vielleicht düftle ich ein bisschen zu viel...
Das weiß ich schon. Aber trotzdem ist doch komplizierter als notwendig! Der Schalter kann folgende Werte haben: 0,1,2,3,4,5,6,7. Und bei jeder Kombination muss man sich jetzt überlegen, was sie bedeutet. Ist das notwendig?
Außerdem ist die Logik des Wertes 4 für mich nicht klar: wenn es im Programmverzeichnis eine *.ini gibt , dann ignoriere die Registry-Einstellungen - das sagt die Beschreibung. Aber wieso legt dann TC eine neue *.ini im Windowsverzeichnis an?
Also okay, vielleicht düftle ich ein bisschen zu viel...
Grüße/Regards,
Wilhelm
Wilhelm
Nicht notwendig, aber ich sehe kein Problem hier... Das ist nur ein der viele möglichen Methoden. Nicht beste, nicht schlechteste...Ist das notwendig?
"4" ist nur ein Umschalter. Vielleicht die Beschreibung nicht klar ist, aber die Logik sehe für mich ganz... hm... logisch aus.Außerdem ist die Logik des Wertes 4 für mich nicht klar: wenn es im Programmverzeichnis eine *.ini gibt , dann ignoriere die Registry-Einstellungen - das sagt die Beschreibung. Aber wieso legt dann TC eine neue *.ini im Windowsverzeichnis an?

Flint's Homepage: Full TC Russification Package, VirtualDisk, NTFS Links, NoClose Replacer, and other stuff!
Using TC 11.03 / Win10 x64
Using TC 11.03 / Win10 x64
- Wilhelm M.
- Power Member
- Posts: 1050
- Joined: 2003-06-05, 10:45 UTC
@Flint
aber die Logik sehe für mich ganz... hm... logisch aus.
Aber hier muss ich hart bleiben: aus den Bedingungen, dass eine *ini im Programm-Verzeichnis ist und dass TC die Registry ignorieren soll, folgt NICHT, dass er im Windowsverzeichnis eine neue *.ini anlegen soll. Er könnte auch die vorhandene *ini benutzen. Wäre genauso logisch.
Aber vielleicht sollte man sich nicht zu viele Gedanken machen. Hauptsache, man kann es so einstellen, wie man will.
aber die Logik sehe für mich ganz... hm... logisch aus.

Aber hier muss ich hart bleiben: aus den Bedingungen, dass eine *ini im Programm-Verzeichnis ist und dass TC die Registry ignorieren soll, folgt NICHT, dass er im Windowsverzeichnis eine neue *.ini anlegen soll. Er könnte auch die vorhandene *ini benutzen. Wäre genauso logisch.
Aber vielleicht sollte man sich nicht zu viele Gedanken machen. Hauptsache, man kann es so einstellen, wie man will.
Grüße/Regards,
Wilhelm
Wilhelm
Genz recht!Hauptsache, man kann es so einstellen, wie man will.

Flint's Homepage: Full TC Russification Package, VirtualDisk, NTFS Links, NoClose Replacer, and other stuff!
Using TC 11.03 / Win10 x64
Using TC 11.03 / Win10 x64
2Wilhelm M.
Der Sinn von UseIniInProgramDir ist einfach, dass hiermit die Hierarchie umgedreht wird:
Ohne UseIniInProgramDir=4
1. Suche Pfad zu INI-Dateien in der Registrierung
2. Suche INI-Dateien im Windows-Verzeichnis
Mit UseIniInProgramDir=4
1. Suche INI-Dateien im Windows-Verzeichnis
2. Suche Pfad zu INI-Dateien in der Registrierung
Wahrscheinlich wäre die Sache verständlicher wenn die Einstellung INIFileLocation heißen würde.
Der Sinn von UseIniInProgramDir ist einfach, dass hiermit die Hierarchie umgedreht wird:
Ohne UseIniInProgramDir=4
1. Suche Pfad zu INI-Dateien in der Registrierung
2. Suche INI-Dateien im Windows-Verzeichnis
Mit UseIniInProgramDir=4
1. Suche INI-Dateien im Windows-Verzeichnis
2. Suche Pfad zu INI-Dateien in der Registrierung
Wahrscheinlich wäre die Sache verständlicher wenn die Einstellung INIFileLocation heißen würde.
- Wilhelm M.
- Power Member
- Posts: 1050
- Joined: 2003-06-05, 10:45 UTC
Und wieso wird das davon abhängig gemacht, ob es im Programmverzeichnis die ini-Dateien gibt? Außerdem sagt die Hilfe:Lefteous wrote:2Wilhelm M.
Mit UseIniInProgramDir=4
1. Suche INI-Dateien im Windows-Verzeichnis
2. Suche Pfad zu INI-Dateien in der Registrierung
4: Übergehe Einstellungen in der Registry. Vergleiche mit deinem Punkt 2! Da stimmt etwas nicht! Denn in meinem Test stand in der Registry der Pfad zum TC-Verzeichnis. Trotzdem hat TC eine neue *.ini im Windows-Verz. angelegt und benutzt.
Wie schon in meinem ersten Beitrag gesagt: eigentlich gibt es - meiner Meinung nach - nur 3 relevante Situationen. Die sollte man klar definieren und nicht die Möglichkeiten für 8 verschiedene Einstellungen geben, die man einzeln ausprobieren muss, um zu wissen was sie bedeuten.
Egal: ich habe sowieso jetzt 7 eingestellt und das macht was ich will (glaube ich zumindest

Grüße/Regards,
Wilhelm
Wilhelm
Re: Fragen zu UseIniInProgramDir
2Wilhelm M.
Das ganze hat historische/Kompatibilitätsgründe.
Ursprünglich hat der Windows Commander seine Inis im Windows-Verzeichnis abgelegt. Dann kam die Option dazu, die Inis zu verlegen. Dazu wurde die Registry benutzt.
Deshalb haben WC/TC dann erst in der Registry nachgesehen, ob dort ein Ort für die Ini bezeichnet ist, und wenn nicht wieder auf das Windows Verzeichnis zurückgegriffen.
Mit dem Wunsch nach einer protablen Version des TC ging dann aber auch der Wunsch einher, das Programmverzeichnis angeben zu können, ohne dass der TC sich in der Registry vereweigen müsste (und ohne dass er mit dem /i= und /f= Parameter aufgerufen werden muss).
Daher seit Version 6.5 die Variable UseIniInProgramdir.
Mit den Werten 1,2 oder 3 wird verhindert, dass eine neue Ini im Windowsverzeichnis angelegt wird, falls in der Registry noch kein Wert steht. Wenn man also den TC z.B. von einem USB-Stick startet und UseIniInProgramdir=1-3 dann wird entweder die Ini benutzt, die in der Registry angegeben ist (falls TC hier bereits einmal installiert wurde) oder aber die Ini im TC Verzeichnis auf dem Stick. Damit hinterläßt der TC keine Spur im Wirtssystem.
UseIniInProgramdir=4 macht allein nicht viel Sinn, da, wie Du richtig bemerkt hast, damit lediglich eine Ini im Windows-Verzeichns angelegt wird bzw. eine dort befindliche benutzt.
Aber als UseIniInProgramDir=7 macht das dann schon Sinn, weil damit jede bereits auf einem Rechner existierende Ini Datei übergangen und nur die Ini im Programmverzeichnis ausgewertet wird.
Hoffe das klärt das für Diech einigermaßen.
sheepdog
Das ganze hat historische/Kompatibilitätsgründe.
Ursprünglich hat der Windows Commander seine Inis im Windows-Verzeichnis abgelegt. Dann kam die Option dazu, die Inis zu verlegen. Dazu wurde die Registry benutzt.
Deshalb haben WC/TC dann erst in der Registry nachgesehen, ob dort ein Ort für die Ini bezeichnet ist, und wenn nicht wieder auf das Windows Verzeichnis zurückgegriffen.
Mit dem Wunsch nach einer protablen Version des TC ging dann aber auch der Wunsch einher, das Programmverzeichnis angeben zu können, ohne dass der TC sich in der Registry vereweigen müsste (und ohne dass er mit dem /i= und /f= Parameter aufgerufen werden muss).
Daher seit Version 6.5 die Variable UseIniInProgramdir.
Mit den Werten 1,2 oder 3 wird verhindert, dass eine neue Ini im Windowsverzeichnis angelegt wird, falls in der Registry noch kein Wert steht. Wenn man also den TC z.B. von einem USB-Stick startet und UseIniInProgramdir=1-3 dann wird entweder die Ini benutzt, die in der Registry angegeben ist (falls TC hier bereits einmal installiert wurde) oder aber die Ini im TC Verzeichnis auf dem Stick. Damit hinterläßt der TC keine Spur im Wirtssystem.
UseIniInProgramdir=4 macht allein nicht viel Sinn, da, wie Du richtig bemerkt hast, damit lediglich eine Ini im Windows-Verzeichns angelegt wird bzw. eine dort befindliche benutzt.
Aber als UseIniInProgramDir=7 macht das dann schon Sinn, weil damit jede bereits auf einem Rechner existierende Ini Datei übergangen und nur die Ini im Programmverzeichnis ausgewertet wird.
Hoffe das klärt das für Diech einigermaßen.
sheepdog
"A common mistake that people make when trying to design something
completely foolproof is to underestimate the ingenuity of complete fools."
Douglas Adams
completely foolproof is to underestimate the ingenuity of complete fools."
Douglas Adams
- Wilhelm M.
- Power Member
- Posts: 1050
- Joined: 2003-06-05, 10:45 UTC
Das ist zwar einfacher, aber bei weitem nicht so flexibel:Wilhelm M. wrote: aber meine 3 Punkte (siehe ganz ganz oben) wären vielleicht doch überlegenswert. Für TC 10 oder so.
Ich habe ein Netzwerk zu betreuen. Ich benutze dafür immer den TC auf meinem USB-Stick. Aber auf dem Server habe ich eine schöne Ini die in der Verzeichnisliste alle meine UNC-Pfade zu den anderen Rechnern enthält. DIese Pfade würden von den anderen Rechnern nicht funktionieren, weil ich von dort keine Zugriffsrechte habe (oder bestimmte Teile des NEtzwerkes gar nicht erreichen kann etc.).
Deshalb möchte ich auf dem Server die Ini benutzen, die dort gespeichert ist. Auf den anderen Rechnern aber benutze ich die ebnso liebevoll konfigurierte Ini in meinem Programmverzeichnis, weil dort sowieso kein TC installiert ist und es sehr aufwändig wäre, die ganze 37 ini Dateien auf den 37 Rechnern synschronisiert zu behalten.
Oder ich möchte zwar die wincmd.ini aus dem Windows Verzeichnis benutzen, aber die FTP_WCX.ini mit meinen ganzen FTP Verbindungen (und allen Passwörtern) soll aus dem Programmverzeichnis gelesen werden.....
Also Kompatibilität und Flexibilität kosten ihren Preis.
sheepdog
"A common mistake that people make when trying to design something
completely foolproof is to underestimate the ingenuity of complete fools."
Douglas Adams
completely foolproof is to underestimate the ingenuity of complete fools."
Douglas Adams
- Wilhelm M.
- Power Member
- Posts: 1050
- Joined: 2003-06-05, 10:45 UTC
2Wilhelm M.
Ja stimmt schon
Ganz so wie oben beschrieben ist es nicht. In der Registrierung suchen wird nicht an die hintere Stelle der Hierarchie geschoben - es wird eben ganz gelassen und somit das Windowsverzeichnis als Ort festgesetzt.
Davon abgesehen haben die Parameter /i und /f natürlich weiterhin die höchste Priorität - auch vor UseIniInProgramDir.
Ja stimmt schon

Davon abgesehen haben die Parameter /i und /f natürlich weiterhin die höchste Priorität - auch vor UseIniInProgramDir.
- ghisler(Author)
- Site Admin
- Posts: 50567
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
Genau, es war eigenlich nie vorgesehen, diese Einstellung alleine für sich zu benutzen. Sie sollte immer nur zusammen mit 1 und 2 benutzt werden (also =5, =6 oder =7).UseIniInProgramdir=4 macht allein nicht viel Sinn
Author of Total Commander
https://www.ghisler.com
https://www.ghisler.com