Hallo, dy/dx.
Habe noch mal drüber nachgedacht, vor allem über dein Startscript:
Code: Select all
set USERPROFILE=C:\Users\user
set APPDATA=C:\Users\user\AppData\Roaming
"C:\Program Files\totalcmd\TOTALCMD64.EXE"
und mögliche Nebenwirkungen und unerwartete Verhaltensweisen.
Start als normaler Benutzer "user":
Die Variable APPDATA und USERPROFILE existierten schon, bevor das Script sie neu exportiert für sich und die vom Script gestarteten Kindprozesses, mit dem gleichen Inhalt.
Die Variablen USERPROFILE und APPDATA werden von Windows beim Login aus der Registry ermittelt und gesetzt.
Das Script bestätigt, was ohnehin gilt.
Total Commander holt sich seine INI-Dateien aus %APPDATA%\Ghisler. Das täte er auch ohne den Vorspann im Startscript.
Total Commander holt sich die Default.bar ebenfalls aus %APPDATA%\Ghisler aus dem Grund, den Christian Ghisler erklärt hat.
Start als administrativer Benutzer "admin":
Für den Benutzer admin gilt nach dem Windows Login:
USERPROFILE=C:\User\Admin
APPDATA=C:\User\Admin\Appdata\Roaming
Das Startscript verbiegt das jetzt vor dem Start des T.C. auf
USERPROFILE=C:\Users\user
APPDATA=C:\Users\user\AppData\Roaming
Ab hier hast du nun einen Widerspruch für USERPROFILE und APPDATA, je nachdem ob ein Programm diese aus der Registry ermittelt oder aus dem eigenen Environment.
Total Commander holt sich seine INI-Dateien aus dem verbogenene %APPDATA%\Ghisler, also aus C:\Users\user\AppData\Roaming
Der Admin hat jedoch die Berechtigung eine Default.bar mit der zugehörigen Cachedatei Default.br2 im Total Commander Programmpfad zu lesen und zu schreiben. Darum holt er sich die Default.bar genau daher.
In der wincmd.ini steht im Abschnitt [Buttonbar] entweder gar nichts oder einfach:
Und eine fehlende Pfadangabe interpretiert T.C. im ersten Anlauf so, dass die Datei im Programmordner zu suchen ist.
Das Code-Snipplet hier auszuführen auf meinem Rechner, dürfte nicht so aussagekräftig sein:
Code: Select all
$ lsb_release -d; wine --version
Description: Linux Mint 13 Maya
wine-1.4
Grüße,
Karl