System kann den angegebenen Pfad nicht finden

German support forum

Moderators: Hacker, Stefan2, white

User avatar
jüki
Member
Member
Posts: 170
Joined: 2008-03-06, 07:24 UTC
Location: Chemnitz

System kann den angegebenen Pfad nicht finden

Post by *jüki »

Ich wollt grad mit TCMD 7.56a meine hosts bearbeiten - (sysnative/drivers/etc) - mit F4 aufgerufen und es erscheint die Meldung "System kann den angegebenen Pfad nicht finden".
Um das zu testen, hab ich die 7.55 wieder installiert - es funktioniert.
Mit 7.56a funktionierts nicht - reproduzierbar.
Ein Fehler, so gewollt, eine Einstellung ändern?
Ich würde mich über Antworten freuen.

Jürgen
Last edited by jüki on 2010-12-29, 12:58 UTC, edited 1 time in total.
User avatar
jüki
Member
Member
Posts: 170
Joined: 2008-03-06, 07:24 UTC
Location: Chemnitz

Post by *jüki »

Hier noch der Screenshot dazu:

Image: http://www.juekirs.de/Foren/totalcommander/pfad-01.jpg

Jürgen
User avatar
Herr Mann
Power Member
Power Member
Posts: 574
Joined: 2004-05-30, 17:11 UTC
Location: Niedersachsen, Deutschland

Post by *Herr Mann »

Hmm, bei mir funktioniert es.
Aber du meinst sicher F4 für den Editor?

Aber halt ich nutze einen anderen Editor - also nicht dieses Windows-Notepad.
Auch Mit x64DisableRedirection=0/1 hat das auch nichts zu tun, geht beides nicht.
Aber es liegt wohl daran, dass das Notepad schon ein x64 Programm ist.
Anscheinend wird hier der falsche Pfad übergeben, denn Sysnative ist ein ja "Virtueller Ordner".

Also einfach einen anderen 32bit-Editor unter Viewer/Editor eintragen.
Das Notepad taugt eh nix. :wink:
User avatar
jüki
Member
Member
Posts: 170
Joined: 2008-03-06, 07:24 UTC
Location: Chemnitz

Post by *jüki »

Mein Betriebssystem ist Win7 x64 Ultimate - da findet man diese Dateien allesamt in "sysnative".
Also einfach einen anderen 32bit-Editor unter Viewer/Editor eintragen.
Nein, damit kann ich mich nicht zufrieden geben, da muß etwas anderes faul sein - ein Fehler, der durchaus auch bei mir liegen kann.
Mit der Verion 7.55 gehts ja - ist, wie schon gesagt, reproduzierbar.

Version 7.55 - ich kann mit F4 (natürlich F4, Entschuldigung!) die genannte Datei im genannten Pfad bearbeiten.
Version 7.56a upgedatet - Fehler tritt wie beschrieben auf.
Version 7.55 zurückupgedatet - alles wieder in Ordnung, ich kann bearbeiten.


Das betrifft alle Dateien in /sysnative/!
Seltsamerweise die gleichen Dateien in /system32/ können auch mit v7.56a bearbeitet werden.
Das war erst nicht der Fall und hat mich hier schon ganz verzweifelt fragen lassen:
Hier:
http://ghisler.ch/board/viewtopic.php?t=25468&highlight=sysnative
und hier:
http://ghisler.ch/board/viewtopic.php?t=25526&highlight=sysnative

Noch einmal - wo ist der Unterschied zwischen 7.55 und 7.56a?

Jürgen
User avatar
Herr Mann
Power Member
Power Member
Posts: 574
Joined: 2004-05-30, 17:11 UTC
Location: Niedersachsen, Deutschland

Post by *Herr Mann »

Nein, damit kann ich mich nicht zufrieden geben, da muß estwas anderes faul sein
Ja natürlich ist da etwas faul und dass sollte auch behoben werden :!:

Die Sache ist nur die, dass die andere Programme 'sysnative' nicht kennen.
Anscheinend funktioniert seit der 7.56 die Umleitung nicht mehr richtig.
Denn an ein 32bit Programm (wie mein PSpad) wird der Pfad c:\windows\system32\drivers\etc wohl richtig übergeben und wahrscheinlich sucht der 64bit-Notepad woanders ...

Das ist ja nicht das einzige, was nicht mehr funktioniert.
Ich weiß nicht, ob es dazu schon einen Thread gibt, aber rechtsklick Eingenschaften geht auch nicht mehr - nur noch über x64-Eigenschaften.
Es wird Zeit für eine echte 64bit Version ...
User avatar
jüki
Member
Member
Posts: 170
Joined: 2008-03-06, 07:24 UTC
Location: Chemnitz

Post by *jüki »

Ich meine, das muß explizit etwas mit dem Ordner "sysnative" + dem Tool "Totalcommander" zu tun haben. Denn nur in diesem Ordner und nur bei v7.56a kommt diese Fehleranzeige. Nur da! Überall sonst funktioniert das.
Vielleicht meldet sich Mr. Ghisler dazu?
Denn ich nehme ja bei der Updaterei keinerlei Einstellungen vor!

Jürgen
User avatar
jüki
Member
Member
Posts: 170
Joined: 2008-03-06, 07:24 UTC
Location: Chemnitz

Post by *jüki »

Ich habe soeben auf einem neu installierten Win7 x64 Ultimate den Totalcommander v7.55 installiert.
Ich kann damit die oben genannte hosts bearbeiten.
Ich habe auf v7.56a upgedadet - der beschriebene Fehler tritt auch auf dem neu installierten System auf.
Sollte das nichtr ein Hinweis auf einen Bug sein?

Jürgen
User avatar
HolgerK
Power Member
Power Member
Posts: 5411
Joined: 2006-01-26, 22:15 UTC
Location: Europe, Aachen

Post by *HolgerK »

2jüki

Ich kann das bestätigen.

Wahrscheinliche Ursache ist dies:
History.txt wrote:29.08.10 Fixed: F4 Edit: Do not try to run default editor notepad.exe from current directory (if just notepad.exe is defined as default editor)
Im TC7.55 lautete der Aufruf für den Editor noch

Code: Select all

notepad.exe C:\Windows\Sysnative\drivers\etc\hosts
gefunden wurde dann über den Suchpfad das 32Bit Notepad

Code: Select all

C:\Windows\SysWOW64\notepad.exe
Ab TC7.56 lautet der Aufruf

Code: Select all

C:\Windows\notepad.exe C:\Windows\Sysnative\drivers\etc\hosts
welcher eine 64Bit Notepad-Version aufruft.
Ein 64Bit-Programm kann allerdings mit dem Pfadbestandteil \Sysnative\ nichts anfangen, daher die Fehlermeldung.

Workaround: Als Editor unter "Konfigurieren->Einstellungen: Operationen>Viewer/Editor" anstelle von "notepad.exe" einfach

Code: Select all

%SystemRoot%\system32\notepad.exe
oder

Code: Select all

%SystemRoot%\SysWow64\notepad.exe
eintragen, oder einen beliebigen anderen 32Bit Editor einsetzen.


Eine andere Möglichkeit ist, dass du anstelle von "Sysnative\drivers\etc" direkt über "System32\drivers\etc" navigierst.

Bereits ab Version 7.51 werden im umgeleiteten System32 (dem 32Bit System32-Verzeichnis) fake-Verzeichnisse angezeigt, die dies ermöglichen:
History.txt wrote:29.01.10 Added: Show more fake directories in redirected system32 dir on 64-bit systems: catroot, catroot2, spool, logfiles, DriverStore (the latter only on Windows 7)
29.01.10 Fixed: Fake "etc" directory was shown in wrong directory system32 instead of system32\drivers
24.01.10 Added: Show fake "etc" directory on 64-bit XP too in system32 folder to redirect to real "etc" directory
13.01.10 Added: Windows Vista/7 64bit: Show fake "etc" directory in System32 which shows contents of SysNative\etc because many people don't find the correct location
Gruß
Holger
User avatar
HolgerK
Power Member
Power Member
Posts: 5411
Joined: 2006-01-26, 22:15 UTC
Location: Europe, Aachen

Post by *HolgerK »

Herr Mann wrote: Das ist ja nicht das einzige, was nicht mehr funktioniert.
Ich weiß nicht, ob es dazu schon einen Thread gibt, aber rechtsklick Eingenschaften geht auch nicht mehr - nur noch über x64-Eigenschaften.
Es wird Zeit für eine echte 64bit Version ...
Für die hosts Datei kann ich das im Verzeichnis Sysnative\drivers\etc nur genau umgekehrt bestätigen:
X64->Properties funktionert nicht;
aus dem gleiche Grund wie oben angedeutet (64Bit Implementierungen stolpern über den Pfadbestandteil \Sysnative\)

Gruß
Holger
User avatar
jüki
Member
Member
Posts: 170
Joined: 2008-03-06, 07:24 UTC
Location: Chemnitz

Post by *jüki »

Mit der vorgeschlagenen Änderung des Pfades in
%SystemRoot%\system32\notepad.exe
haut das nun wieder tadellos hin.
Danke!
Trotzdem sollte das wohl ein Fehler im Programm sein?
Und eines habe ich erst jetzt so richtig kapiert:
Der Ordner "SysNative" ist ein durch das Tool "Totalcomander" hergestellter künstlicher Ordner, den es im System Win7 x64 garnicht gibt?
Zum Teufel - ich hab mich schon wieder selbst beschimpft, als ich diesen nirgendwo im Explodierer fand...
Gut, meine Frage ist nun erst mal erledigt. Und ich bedanke mich ganz herzlich für die Antworten!

Jürgen
User avatar
sqa_wizard
Power Member
Power Member
Posts: 3894
Joined: 2003-02-06, 11:41 UTC
Location: Germany

Post by *sqa_wizard »

Der Ordner "SysNative" ist ein durch das Tool "Totalcomander" hergestellter künstlicher Ordner, den es im System Win7 x64 garnicht gibt?
nicht ganz richtig, eher wie:
Der Ordner "SysNative" ist ein durch Windows x64 hergestellter künstlicher Ordner, den ein x64 Programm garnicht findet da es nur für 32-bit Programme gemacht wurde.
#5767 Personal license
User avatar
jüki
Member
Member
Posts: 170
Joined: 2008-03-06, 07:24 UTC
Location: Chemnitz

Post by *jüki »

Frei nach Goethe
"Mir ist in meinem Kopf so dumm, als ging ein Mühlrad darin herum!"

Jürgen
User avatar
sqa_wizard
Power Member
Power Member
Posts: 3894
Joined: 2003-02-06, 11:41 UTC
Location: Germany

Post by *sqa_wizard »

Dann bringt hoffentlich dieser Artikel ein bisschen Licht ins Dunkle ...
#5767 Personal license
User avatar
HolgerK
Power Member
Power Member
Posts: 5411
Joined: 2006-01-26, 22:15 UTC
Location: Europe, Aachen

Post by *HolgerK »

jüki wrote:Trotzdem sollte das wohl ein Fehler im Programm sein?
Nicht unbedingt.
Es betrifft nur das Editieren von Dateien in Verzeichnispfaden, die Sysnative enthalten.
Aber vielleicht kann Christian ja etwas daran ändern, indem er TC erst Notepad.exe unter %windir%\SysWow64 suchen lässt, und danach erst unter %windir%

Das gleiche Problem tritt allerdings auch auf, wenn man nicht Notepad sondern irgend einen anderen 64Bit Editor benutzen würde.
Dann sollte man immer über die erwähnten fake Verzeichnisse navigieren, oder die Redirection im TC ausschalten.
Der Ordner "SysNative" ist ein durch das Tool "Totalcomander" hergestellter künstlicher Ordner, den es im System Win7 x64 garnicht gibt?
Jein.
Sysnative ist ein Verzeichnis-Alias, das von 64Bit-Betriebssystemen (seit Windows Vista) jedem 32 Bit Prozess zu Verfügung gestellt wird, um auf das native System32 (64-Bit) zugreifen zu können.
MSDN:File System Redirector wrote:32-bit applications can access the native system directory by substituting %windir%\Sysnative for %windir%\System32. WOW64 recognizes Sysnative as a special alias used to indicate that the file system should not redirect the access. This mechanism is flexible and easy to use, therefore, it is the recommended mechanism to bypass file system redirection. Note that 64-bit applications cannot use the Sysnative alias as it is a virtual directory not a real one.
Es gibt sogar einen Patch für XP64 und Server 2003, der Sysnative auch auf diesen Betriebssystemen bereitstellt.
Also Ja: Sysnative ist ein virtueller Order des Betriebssystems, der nur für 32Bit Programme nutzbar ist.
Nein: Total Commander macht diesen Ordner dem Anwender sichtbar, damit er auf das native Verzeichnis zugreifen kann ohne die Redirection ausschalten zu müssen.

Für ein 32 Bit Programm ist der Pfad "C:\Windows\Sysnative\drivers\etc\hosts" durchaus ein legaler Pfad (sonst könnte die 32Bit Notepad-Version die host-Datei ja nicht bearbeiten).

Gruß
Holger
User avatar
jüki
Member
Member
Posts: 170
Joined: 2008-03-06, 07:24 UTC
Location: Chemnitz

Post by *jüki »

Antwort für sqa_wizard:
Ich bleib bei Goethes Faust - irgendwie ist das für mich eine Art Hexeneinmaleins -
aber keine Ingenieurslösung.

Jürgen
Post Reply