wincmd.ini gesperrt?

German support forum

Moderators: Hacker, Stefan2, white

Post Reply
doni
Junior Member
Junior Member
Posts: 3
Joined: 2015-02-06, 09:35 UTC
Location: Erlangen, Germany

wincmd.ini gesperrt?

Post by *doni »

Seit meinem Umstieg von 7,50a auf 8,51a 64bit lassen sich Änderungen in der Konfiguration nicht mehr speichern. Fehlermeldung:
Fehler: Kann wincmd.ini nicht schreiben! Entfernen Sie den eventuell vorhandenen Schreibschutz!
wincmd.ini steht unter \windows, Attribut ist a---. Installationsverzeichnis ist Program Files (x86). Gestartetes Programm ist totalcmd64.exe.

Wer weiß Rat?

LG Doni
User avatar
Stefan2
Power Member
Power Member
Posts: 4281
Joined: 2007-09-13, 22:20 UTC
Location: Europa

Re: wincmd.ini gesperrt? Speicherort portable rechte

Post by *Stefan2 »

Hallo und willkommen doni.

doni wrote:Fehler: Kann wincmd.ini nicht schreiben! Entfernen Sie den eventuell vorhandenen Schreibschutz!
Standardfrage (siehe Forumssuche), Standardantwort zum Einkreisen des Fehlers:



(btw: einer meiner neuen artikel für meine howto sammlung)





1.) Im TC im Menü "Hilfe > Über" den Speicherpfad der INI ermitteln.



A: Falls die INIs unter "C:\Windows" liegen, kann es sein das man dort keine Schreibrechte darauf hat.

Seit WindowsTM Vista/7 (mit eingeschalteter UAC) werden die zu schreibenden Dateien (hier, die INIs)
nach C:\Users\username\AppData\Local\VirtualStore\GHISLER umgeleitet.

Bei ausgeschaltetem UAC entfällt diese Redirection, und mangels Schreibzugriff auf C:\Windows kann man die INI nicht editieren.

Lösung: die INIs (WINCMD.INI + wcx_ftp.ini) in den Total Commander Programordner verschieben.
Siehe dann auch unten unter "UseIniInProgramDir"



(UAC = User Access Control / Benutzerkontensteuerung)


-


B: Falls die INIs unter "C:\Programme" ("C:\Program Files", "C:\Program Files (x86)") liegen,
dann hat man dort mindestens seit WindowsTM Vista/7 (mit eingeschalteter UAC) keine Schreibrechte darauf.

Die zu schreibenden Dateien (hier, die INIs) werden nach C:\Users\username\AppData\Local\VirtualStore\GHISLER umgeleitet.
(Falls man beim Installieren nicht "Application Data" zum Speichern der INIs gewählt hatte)


Lösung: auf den Total Commander Ordner für die Gruppe BENUTZER (USERS) Ändernrechte geben (ÄNDERN / MODIFY)
Oder, siehe unten unter "UseIniInProgramDir"


-


C: Andernfalls die Berechtigungen auf die wincmd.ini direkt überprüfen:
(NTFS-Rechte: schreiben/ändern erlaubt? DateiAttribute: kein Schreibgeschützt?)

Lösung: individuell



- - -

Tipps:

Am Besten, den TC ab Vista nie unter "Programme" installieren, sondern an einem anderen Ort,
wie zum Beispiele unter "C:\Portable\..." oder "c:\totalcmd".

(Am Besten, auch gleich auf eine andere Partition installieren,
dann kann man bei Bedarf die C:\ -Partition sorglos formatieren)

Ort der Einstellungen: [ändern] > Programmverzeichnis (bei mehreren Benutzern: nach Anwendungsdaten)



Man kann aber den Installationsordner auch nachträglich dahin verschieben,
wo man Schreibrechte hat, und den TC von dort aus verwenden.

Dann müsste man aber eventuell noch die wincmd.ini ("UseIniInProgramDir")
und bei Bedarf das Windows Startmenü anpassen.



(todo: inireloc)



- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



UseIniInProgramDir


Damit die wincmd.ini aus dem Ordner mit der TotalCommander.exe verwendet wird, stelle sicher,
dass in der wincmd.ini unter [Configuration] der Eintrag "UseIniInProgramDir=7" zu finden ist. Falls nicht, füge ihn einfach hinzu.


TotalCommander Ordner\WINCMD.INI
[Configuration]
UseIniInProgramDir=7 ;7=nimm diese INI im TC-Programmordner



Erklärung:
UseIniInProgramDir=0 Diese Variable wird nur gelesen, wenn sie sich
in der Datei wincmd.ini im selben Verzeichnis wie das Programm befindet.
Sie ist die Summe der folgenden Werte:
1: Benutze wincmd.ini im Programmverzeichnis, falls kein anderer Ort über Registry oder Kommandozeilenparameter festgelegt wurde
2: Benutze wcx_ftp.ini im Programmverzeichnis (sonst wie 1)
4: Übergehe Einstellungen in der Registry

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -


Portable / USB

(siehe auch "UseIniInProgramDir")


Um die Portabilität zu erhöhnen, sollte man in den Einstellungen nie feste Pfade (zB "c:\totalcmd\myTools\abc\def.exe") verwenden,
sondern mit Umgebungsvariablen arbeiten (zB "%Commander_Path%\myTools\abc\def.exe")

Mögliche Umgebungsvariablen sind zB

%COMMANDER_PATH%
%COMMANDER_DRIVE%

Weitere sind aufgelistet unter > http://www.ghisler.ch/wiki/index.php/Navigation

---

Dadurch, dass man die INI im Programmordner hat und mit Umgebungsvariablen arbeitet,
kann man TC problemlos als portable Anwendung zum Beispiele auf einem USB-Stick mit sichführen.


---

Wenn man TC portable verwendet, und nicht mehr über ein neues Setup updaten möchte,
dann kann man auch die Registry-Einträge löschen:

HKEY_CURRENT_USER\Software\Ghisler
HKEY_LOCAL_MACHINE\Software\Ghisler


Vor Windows Vista

[HKEY_CURRENT_USER\Software\Ghisler\Total Commander]
"FtpIniName"="%APPDTA%\\Roaming\\Ghisler\\wcx_ftp.ini"
"IniFileName"="%APPDTA%\\Roaming\\Ghisler\\wincmd.ini"
"InstallDir"="C:\\totalcmd"

[HKEY_LOCAL_MACHINE\Software\Ghisler\Total Commander]
"FtpIniName"="%APPDTA%\\Roaming\Ghisler\\wcx_ftp.ini"
"IniFileName"="%APPDTA%\\Roaming\Ghisler\\wincmd.ini"
"InstallDir"="C:\\totalcmd"


Nach Windows Vista

[HKEY_CURRENT_USER\Software\Ghisler\Total Commander]
"FtpIniName"="%APPDTA%\\Ghisler\\wcx_ftp.ini"
"IniFileName"="%APPDTA%\\Ghisler\\wincmd.ini"
"InstallDir"="C:\\totalcmd"

[HKEY_LOCAL_MACHINE\Software\Ghisler\Total Commander]
"FtpIniName"="%APPDTA%\\Ghisler\\wcx_ftp.ini"
"IniFileName"="%APPDTA%\\Ghisler\\wincmd.ini"
"InstallDir"="C:\\totalcmd"


[HKEY_CURRENT_USER\Software\Ghisler\Total Commander]
"FtpIniName"=".\\wcx_ftp.ini"
"IniFileName"=".\\wincmd.ini"
"InstallDir"="C:\\totalcmd"


---

Auch den Eintrag in der wincmd.ini sollte man dann löschen:

[Configuration]
InstallDir=<path, normal C:\Totalcmd>

Dieser wird beim installieren über das Setup erzeugt.



- - -

Weitere Infos:

http://www.ghisler.ch/wikide/index.php/Wie_TC_den_Ort_der_INI-Datei_ermittelt


- - -

Update eines portable TotalCommanders:


todo.....



 
User avatar
karlchen
Power Member
Power Member
Posts: 4605
Joined: 2003-02-06, 22:23 UTC
Location: Germany

Post by *karlchen »

Hallo, doni.

Ich nehme mal an, dass du nicht nur von T.C. 7.50a auf T.C. 8.51a 64-bi gewechselt hast, sondern dass du zu allererst einmal von einem ziemlich alten Windows XP, Windows 2000 (oder noch älter) auf ein aktuelles 64-bit Windows gewechselt bist. (Window 7 64-bit, Windows 8.x 64bit)

Denn in den aktuelleren Windows Versionen (seit Vista) erfordert es volle Administratorrechte, um im Ordner C:\Windows eine Datei schreiben zu dürfen.

Es ist daher seit Ewigkeiten schon nicht mehr empfohlen, die wincmd.ini in den Ordner C:\Windows zu legen.

Benutze das Progrämmchen Inireloc, um sie an den unter Windows 7 und höher empfohlenen Ort zu verlegen: %APPDATA%\Roaming\Ghisler.
(Ups, Inireloc scheint T.C. 64-bit nicht zu unterstützen. Was seltsam ist, da er dieselbe wincmd.ini benutzt wie die 32-bit Ausgabe.)
Dann simuliere eine Neuinstallation des T.C. 8.51.a 64-bit, behalte den jetzigen Programmordner bei, ändere aber den Standort der wincmd.ini ab auf %APPDATA%. (Das kann man im Setup auswählen.)

Grüße
Karl
User avatar
Dalai
Power Member
Power Member
Posts: 9974
Joined: 2005-01-28, 22:17 UTC
Location: Meiningen (Südthüringen)

Post by *Dalai »

2Stefan2 (trotz der Standardantwort)
Der VirtualStore wirkt auf Programme wie den TC NICHT, sonst würde der OP ja gar keine Meldung bekommen, keine Schreibrechte zu haben. Warum? Der VirtualStore ist nur bei Programmen relevant, die im Manifest keine Kompatibilität mit Win7 (oder war's Vista?) aufweisen. Der TC hat aber natürlich ein passendes Manifest und daher geht Windows davon aus, dass das Programm es besser weiß, wohin es schreiben darf und wo nicht (und leitet eben die Zugriffe nicht um).

MfG Dalai
#101164 Personal licence
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64

Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
doni
Junior Member
Junior Member
Posts: 3
Joined: 2015-02-06, 09:35 UTC
Location: Erlangen, Germany

DANKE DANKE DANKE

Post by *doni »

Nach Verschieben der ini-Dateien mittels inireloc.exe ins User-Verzeichnis klappt's!

Vielen Dank Doni 8)
User avatar
karlchen
Power Member
Power Member
Posts: 4605
Joined: 2003-02-06, 22:23 UTC
Location: Germany

Post by *karlchen »

Hallo, Doni.

Schön. Das freut mich. - Dann stammt der Hinweis auf die 32-bit Version des T.C. noch aus der Zeit, als wir von 16-Bit T.C. und 32-bit T.C. gesprochen haben, und soll gar nicht aussagen, dass Inireloc mit der 64-bit Version nicht funktioniert, sonder mit der 16-bit Version nicht.
Da müßte Christian vielleicht mal seine Add-On Seite aktualisieren.

Grüße,
Karl
doni
Junior Member
Junior Member
Posts: 3
Joined: 2015-02-06, 09:35 UTC
Location: Erlangen, Germany

Post by *doni »

Hallo Karl,

meine Version 7.50a stammte von einer CD incl. Lizenz vom 24.09.2009. Zu dieser Zeit war wohl Windoof noch das Standard-Verzeichnis für die ini-Dateien, eine 16bit-Version und TC 7.04a sind auch noch auf der CD.

Aber da ist noch was: Dir als Power Member und allen anderen, die auf meinen Thread soo schnell geantwortet haben, muß ich an dieser Stelle mal meine Hochachtung aussprechen: Ich habe selten ein so aktives Forum erlebt!

Liebe Grüße Doni 8)
Post Reply