ini-Dateien in Parallelinstallation

German support forum

Moderators: Hacker, Stefan2, white

Post Reply
User avatar
kanu969
Senior Member
Senior Member
Posts: 259
Joined: 2007-11-12, 21:26 UTC
Location: Germany

ini-Dateien in Parallelinstallation

Post by *kanu969 »

Hallo,

als ich mir den 7.04a zur Fehlersuche (Spaltenansicht kurz) nochmal installiert habe, ist mir folgendes aufgefallen:

Installation in den Ordner c:\704a, Ort der ini-Dateien: Programmverzeichnis
Ich hatte jetzt eigentlich erwartet, in Verzeichnis c:\704a eine "jungfräuliche" wincmd.ini zu finden. Statt dessen wurde ich mit meinen "alten" ini-Dateien aus der Standardinstallation der 7.5pb2 aus dem Verzeichnis c:\totalcmd überrascht. Offensichtlich liest die Inst.-Routine das "alte Programmverzeichnis" c:\totalcmd ein und nicht das "neue".
Ich finde, das sollte so nicht sein. Korrekt ging es erst, als ich bei der Installation als ini-Verzeichnis benutzerdefiniert - c:\704a eingegeben habe.

kanu

PS: die Spaltenansicht bleibt weiter so eng :-(
TC #14485 8.51a auf W7-64 und Mageia4
User avatar
Stance
Power Member
Power Member
Posts: 1079
Joined: 2005-03-29, 06:26 UTC

Post by *Stance »

kanu969 wrote:7.5pb2 Vista Business
Zuerst sollte man bedenken, dass Vista einen anderen Ort für die Installation vorsieht: C:\Programme.
Dort können sowohl die Anwender als auch die Installationen geschützt vor Malware, Virusinfektionen, Cheatern und ähnlichem. Die Ablage einer Konfigurationsdatei in dem Programmverzeichnis erfolgt in Vista/Se7en nur noch virtuell (pro Benutzer) und ermöglicht bei Mehranwenderbetrieb höheren Komfort und ebenfalls mehr Sicherheit. Die Restriktionen sind bei Vista 64-Bit sogar noch höher.

Ich stimme in dem Punkt mit dir überein, eine TC Installation in c:\704a sollte nicht schreibend auf eine INI in c:\totalcmd zugreifen dürfen. Wie es verhindert werden kann, steht oben. Man kann den TC per Kommandozeilenparameter in der Verknüpfung eine eigene INI-Datei bestimmen. Diese kann zB "704a.INI" genannt werden. Ebenfalls besteht die Möglichkeit, vorher eine INI ins Programmverzeichnis zu legen.

PS: Dein Link zu dem anderen Topic: Spaltenabstand bei Ansicht "kurz"
User avatar
kanu969
Senior Member
Senior Member
Posts: 259
Joined: 2007-11-12, 21:26 UTC
Location: Germany

Post by *kanu969 »

Es geht doch gar nicht darum, wo der TC installiert wird, sondern dass offensichtlich der Ort der ini im alten TC-Verzeichnis ausgelesen wird und diese dann verwendet wird. Ich habe das eben mit der Installation nach c:\program Files\totalcmd und dem Ort der ini "Anwendungsdaten (benutzerspezifisch)" ausprobiert - wieder wird meine alte ini genommen und nicht die neue, die im Verzeichnis C:\Users\xxxx\AppData\Roaming\GHISLER\wincmd.ini erzeugt wurde.
Dieses Verhalten halte ich für inkonsistent. Wenn ich schon nach dem Speicherort gefragt werde, dann möchte ich auch, dass der TC genau diese ini nimmt und nicht die einer anderen Installation.

Wie ich mit frischen ini-Dateien starten kann oder auf andere verweise, weiss ich, ich wollte aber eine neue, frische Installation mit der "stable-Version"

kanu
TC #14485 8.51a auf W7-64 und Mageia4
User avatar
karlchen
Power Member
Power Member
Posts: 4605
Joined: 2003-02-06, 22:23 UTC
Location: Germany

Post by *karlchen »

Hallo, kanu969.

Eigentlich ist es doch ganz einfach:
Deine Erwartungshaltung ist das eine. Das, was Computerprogramme so treiben, etwas völlig anders. Die tun nicht das, was irgendjemand erwartet, sondern bestenfalls das, was man ihnen sagt. :wink:

Zum konkreten Fall es Total Commander Setup Programmes:
  • Das Setup Programm ist nicht wirklich darauf ausgelegt, mehrere parallele Installationen des T.C. unter ein und demselben Account einzurichten.
  • Es gibt nämlich in den Registry Zweigen HKLM (systemweit) und HKCU (aktuell angemeldeter Benutzer) jeweils nur einen Registry-Zweig HKLM\Software\Ghisler bzw. HKCU\Software\Ghisler.
    Beide sind gleich aufgebaut, darum erkläre ich hier nur einen.
  • Software\Ghisler enthält nur 3 Werte:
    + InstallDir => Programmverzeichnis der zuletzt mittels Setup durchgeführten Installation
    + IniFileName => Ort und Name der wincmd.ini der zuletzt mittels Setup durchgeführten Installation
    + FtpIniName => Ort und Name der wcx_ftp.ini der zuletzt mittels Setup durchgeführten Installation
  • Hier genau setzt jetzt dein Problem ein:
    Alle 3 Werte stehen vor der Installation von T.C. 7.04a auf den Werten, die T.C. 7.50 PB2 gesetzt hat.
  • Beim Setup von T.C. 7.04a stellst du zwangsweise InstallDir auf das neue Programmverzeichnis ein. Das ist jedoch zur Laufzeit des T.C. die uninteressanteste Variable, weil die erst wieder beim nächsten Ausführen von Setup ausgelesen wird. :shock:
  • Wenn du nun beim Installieren von T.C. 7.04a den Ort der INI-Dateien nicht explizit umsetzt auf den von dir gewünschten T.C. 7.04a Programmordner, dann bleiben hier die alten Werte für IniFileName und FtpIniName stehen. Und die zeigen eben auf das zuvor installierte T.C. 7.50 im Ordner C:\Totalcmd.
  • Dadurch dass du den Ort der INI-Dateien im ersten Setup-Anlauf von T.C. 7.04a nicht explizit auf den neuen Programmordner geändert hast, hast du dem Setup implizit bestätigt, dass der alte Ort in Ordnung ist. :o
    (Siehe Präzisierung unten, wie genau das zustande gekommen sein könnte/muß).
  • Also benutzt T.C. 7.0a fröhlich die INI-Dateien der T.C. 7.50 PB2 Installation.
<Edit>
"Alles ganz logisch und reproduzierbar." lautete mein letzter Satz ursprünglich. Noch nicht so ganz, wie mir dann aufgegangen ist, weil auch auf einem meiner Rechner das T.C. Setup angewiesen worden ist, die INI-Dateien im Programmverzeichnis abzulegen (2. Option von 5). Ergebnis:
Die Werte IniFileName und FtpIniName sehen so aus:
+ IniFileName=.\wincmd.ini
+ FtpIniName=.\wcx_ftp.ini

Hätte das auch bei dir, kanu969, so in der Registry gestanden, hätte T.C. 7.04a auch die INI-Dateien in seinem eigenen Programmverzeichnis gesucht, wegen der relativen Pfadangaben, nicht aber im Programmverzeichnis von TC 750pb2, C:\totalcmd.

Das Setup des T.C. 7.04a hätte automatisch als Speicherort der INI-Dateien wieder die Option 2 inder Liste Programmverzeichis vorgeschlagen.
Die bereits vorhandenen Eintragungen
+ IniFileName=.\wincmd.ini
+ FtpIniName=.\wcx_ftp.ini
in der Registry hätten sichergestellt, dass T.C. 7.04a und T.C. 7.50pb2 jeder auf sein eigenes Programmverzeichnis zugegriffen hätten.

Hat T.C. 7.04a aber nicht, sondern ausdrücklich auf INI-Dateien in C:\Totalcmd zugegriffen. D.h. es muß in der Registry auch gestanden haben:
+ IniFileName=C:\Totalcmd\wincmd.ini
+ FtpIniName=C:\totalcmd\wcx_ftp.ini

Das kommt aber nur zustande, wenn
  • man entweder nachträglich manuell die Einträge ändert
  • oder bereits beim Setup des TC 7.50pb2 nicht die Option Programmverzeichnis ausgewählt worden war, sondern die letzte Option, Benutzerdefiniert, und dann manuell das Verzeichnis C:\Totalcmd angegeben worden war.
  • Vgl. dazu Screenshot T.C. Setup Speicherort der INI-Dateien
</Edit>

Grüße,
Karl
Last edited by karlchen on 2009-05-10, 19:16 UTC, edited 3 times in total.
User avatar
Lefteous
Power Member
Power Member
Posts: 9537
Joined: 2003-02-09, 01:18 UTC
Location: Germany
Contact:

Post by *Lefteous »

2kanu969
Ich möchte zu der Problematik der Parallelinstallation eigentlich gar nicht äußern, aber vielleicht habe ich einen pragmatischen Tipp.

Im Grnde braucht man für eine Parallelinstallation TC nur einmal auf der Platte. Statt es zweimal zu installieren, kannst du folgendermaßen mir frishcen Einstellungen starten:

Code: Select all

"%PFAD_ZU_VORHANDENEM_TC_ORDNER%\Totalcmd.exe" "/i=%APPDATA%\Ghisler\Testinstallation\Totalcmd.ini"
Das ist nur ein Beispiel. Du kannst natürlich auch einen anderen Pfad verwenden.
User avatar
karlchen
Power Member
Power Member
Posts: 4605
Joined: 2003-02-06, 22:23 UTC
Location: Germany

Post by *karlchen »

Lefteous wrote:Im Grnde braucht man für eine Parallelinstallation TC nur einmal auf der Platte.
Ach wirklich? Möchte ich mal sehen, wie du damit T.C. 7.04a und 7.50 PB2 parallel hinbekommst. :wink:

Karl
Last edited by karlchen on 2009-05-10, 12:28 UTC, edited 1 time in total.
User avatar
Lefteous
Power Member
Power Member
Posts: 9537
Joined: 2003-02-09, 01:18 UTC
Location: Germany
Contact:

Post by *Lefteous »

2karlchen
Ich gehe immer so vor, dass ich die vorhandene totalcmd.exe umbenenne und dann drüberinstalliere.
User avatar
karlchen
Power Member
Power Member
Posts: 4605
Joined: 2003-02-06, 22:23 UTC
Location: Germany

Post by *karlchen »

Hi, Lefteous.

Das Ergebnis wäre aber, dass bei verschiedenen T.C. Programmversionen von der jeweils vorherigen Version nur die totalcmd.exe (umbenannt) übrig bliebe. Also sind alle vorherigen Versionen nicht mehr im Originalzustand. Das kann man dann wohl kaum noch also Parallelinstallationen bezeichnen, sondern eher als Mischmasch. (1)

War hier aber auch nicht die Frage. kanu969 hat übers Setup zuerst T.C. 7.50pb2 nach C:\totalcmd installiert und danach wieder übers Setup T.C. 7.04a nach C:\TC704a.
Da er bei der 2. Installation den Ort der INI-Dateien nicht explizit aufs neue Programmverzeichnis gesetzt hat, griff T.C. 7.04a auf die INIs im Ordner C:\Totalcmd zu.

Es ist allerdings klar, dass nicht nur das T.C. Setup mehrere parallele Installationen nicht bewerkstelligen kann, sondern die installierten T.C. Versionen auch nicht so wirklich. Jedenfalls nicht nach einem Standard-08/15-Setup.
Denn, wenn man nicht irgendwie selbst sicherstellt , dass jede parallel installierte T.C. Installation ihren eigenen Satz an INI-Dateien benutzt (2), lesen alle den gleichen Registry Zweig aus und benutzen dieselben INI-Dateien. Das wiederum mag gerade beim Austesten verschiedener Versionen das Letzte sein, was zweckmäßig ist.

Grüße,
Karl
--
(1)
Deswegen bin ich mir jetzt nicht sicher, ob du das ernst meinst oder mich veräppeln willst. Hättest du geschrieben, du kopierst die alte T.C. Installation in ein neues Verzeichnis um, paßt ggf. die INIs an und installierst dann im alten Verzeichnis drüber, das hätte ich unbesehen geglaubt.

(2)
Wie man das anstellen kann, ist mittlerweile mehrfach und bis zum Erbrechen in anderen Foren-Threads durchgekaut worden. Erspare mir daher, das an dieser Stelle noch einmal durchzukauen.
Nur in Steno:
+ zu einen: UseIniInProgramDir=7
+ zum anderen: Kommandozeilenparameter: /I=<wincmd.ini datei> /F=<wcx_ftp.ini datei>
Last edited by karlchen on 2009-05-10, 18:51 UTC, edited 1 time in total.
User avatar
Lefteous
Power Member
Power Member
Posts: 9537
Joined: 2003-02-09, 01:18 UTC
Location: Germany
Contact:

Post by *Lefteous »

2karlchen
War hier aber auch nicht die Frage.
Ich habe in meinem Beitrag deutlich darauf hingewiesen, dass ich dazu gar nichts schreiben wollte.
Mischmasch
Die Frage ist halt inwiefern das in der Praxis wirklich ein Problem ist. Theoretisch schon, aber die anderen Dateien werden eigentlich kaum aktualisiert und wenn dann stören sich die älteren Versionen kaum daran, wegen der allseits bekannten und beliebten Kompatibilität.
Erbrechen
Aber nett, dass du es nochmal schreibst. Es könnte ja sein, dass kanu969 meinen Beitrag überlesen hat.
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50754
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Das Kopieren der INI-Dateien an den neuen Ort ist in der Tat gewollt, weil man über die Registry-Einträge nur einen Ort speichern kann, und die anderen Installationen dann auch dort suchen würden. Ausnahme ist "im Programmverzeichnis", da sucht jede Installation im eigenen Verzeichnis. Aber auch da erwarten die meisten User, dass sie ihre bisherigen Einstellungen weiter verwenden können...
Author of Total Commander
https://www.ghisler.com
User avatar
kanu969
Senior Member
Senior Member
Posts: 259
Joined: 2007-11-12, 21:26 UTC
Location: Germany

Post by *kanu969 »

Erst mal Danke an alle für die Erläuterungen. Ich bin halt von "anderen" Voraussetzungen ausgegangen. Wird wohl in der Praxis kaum vorkommen, dass jemand neu, ohne die vorhandenen Einstellungen importieren zu wollen, eine alte Version installiert.
Zumal sich ja rausgestellt hat, dass mein Problem mit den Spalten auch in der 7.04a auftritt.

Gruß
kanu
TC #14485 8.51a auf W7-64 und Mageia4
User avatar
karlchen
Power Member
Power Member
Posts: 4605
Joined: 2003-02-06, 22:23 UTC
Location: Germany

<ein bißchen offtpic>

Post by *karlchen »

Hallo, Lefteous.
Mischmasch
Die Frage ist halt inwiefern das in der Praxis wirklich ein Problem ist. Theoretisch schon, aber die anderen Dateien werden eigentlich kaum aktualisiert und wenn dann stören sich die älteren Versionen kaum daran, wegen der allseits bekannten und beliebten Kompatibilität.
Vielleicht kannst du als Entwickler ja begründete Annahmen über die Veränderungen und die Abwärtskompatibilität der einzelnen T.C. Module machen.
Ich kann das nicht. Und von daher gehe ich auf Nummer sicher:
  • Alte Version inklusive aller Plugins durch Duplizieren sichern.
  • Neue Version ins alte Programmverzeichnis installieren, also "drüberbügeln."
  • Die 14 MB, die jeder solcher T.C. Clone belegt, kann ich abzwacken.
Erbrechen
Aber nett, dass du es nochmal schreibst. Es könnte ja sein, dass kanu969 meinen Beitrag überlesen hat.
Mißverständnis, weil ich mich nicht klar augedrückt hatte: Es ist nicht in diesem Thread bis zum Erbrechen durchgekaut worden, sondern insgesamt in verschiedenen Forums-Threads. Habe das so im vorherigen Post ergänzt.

Grüße,
Karl
Post Reply