Auf Windows 64-bit werden einige Dateien und Ordner vom Explorer aber nicht vom Total Commander angezeigt!: Unterschied zwischen den Versionen
Zeile 58: | Zeile 58: | ||
Wenn man hingegen navigiert von '''%windir%''' nach '''system32''', dann z.B. nach '''catroot''', dann hat die automatische Ordnerumleitung bereits zugeschlagen, als man versucht hat, '''system32''' anzusteuern. In diesem Moment ist Total Commander bereits nach '''SysWOW64''' umgeleitet worden. Daher kann man von hieraus nicht mehr in den echten '''catroot''' Ordner weiternavigieren. | Wenn man hingegen navigiert von '''%windir%''' nach '''system32''', dann z.B. nach '''catroot''', dann hat die automatische Ordnerumleitung bereits zugeschlagen, als man versucht hat, '''system32''' anzusteuern. In diesem Moment ist Total Commander bereits nach '''SysWOW64''' umgeleitet worden. Daher kann man von hieraus nicht mehr in den echten '''catroot''' Ordner weiternavigieren. | ||
<br><br> | <br><br> | ||
= Solution = | |||
== Using the Hidden Alias SYSNATIVE == | |||
Starting with Vista 64bit, Microsoft introduced a workaround for the file and folder redirection. This workaround is available to all 32bit applications running on | |||
* Windows Server 2008 64bit | |||
* Windows 7 64bit | |||
* Windows Vista 64bit | |||
* Windows 2003 64bit with [http://support.microsoft.com/?scid=kb%3Ben-us%3B942589&x=12&y=13 Hotfix KB942589] installed | |||
* Windows XP 64bit with [http://support.microsoft.com/?scid=kb%3Ben-us%3B942589&x=12&y=13 Hotfix KB942589] installed | |||
On the listed Windows versions, there is an invisible alias name '''SysNative''' which points to '''system32'''. Only 32bit applications can use the alias '''SysNative'''. If a 32bit application requests to access '''%windir%\Sysnative''' it will not be redirected to '''SysWOW64''' instead, but it will access the real '''%windir%system32''' folder. | |||
Using the alias '''SysNative''' is the recommended way of accessing the real '''system32''' folder.<br> | |||
Therefore, Total Commander 7.50 and above will display the invisible alias '''Sysnative''' inside '''%windir%''' as if it were a normal folder thus making it easy to use this alias. | |||
So in Total Commander you navigate to '''%windir%''' => '''Sysnative'''. This will take you to the genuine '''%windir%\system32''' folder. <br> | |||
Navigating to '''%windir%''' => '''system32''', however, will trigger the Wow64 folder redirection and actually take you to '''%windir%''' => '''SysWoW64'''. | |||
Using '''SysNative''' will work out of the box provided you are using Total Commander v7.50a or higher on | |||
* Windows Server 2008 64bit | |||
* Windows 7 64bit | |||
* Windows Vista 64bit. | |||
Using '''SysNative''' will also work provided you are using Total Commander v7.50a or higher on | |||
* Windows 2003 64bit with [http://support.microsoft.com/?scid=kb%3Ben-us%3B942589&x=12&y=13 Hotfix KB942589] installed | |||
* Windows XP 64bit with [http://support.microsoft.com/?scid=kb%3Ben-us%3B942589&x=12&y=13 Hotfix KB942589] installed | |||
<br> | |||
== Using X64DisableRedirection (Temporarily) == | |||
Starting with the version 7.0, Total Commander offers a configuration parameter '''X64DisableRedirection'''. By default, this parameter has got the value 0, i.e. Windows system file and folder redirection is ''not disabled'' (=enabled). | |||
You can, however, add the parameter '''X64DisableRedirection=1''' to the section '''[Configuration]''', thus disabling Windows system file and folder redirection for Total Commander. | |||
'''Beware:'''<br> | |||
Doing so permanently, will inevitably lead to problems with plugins which try to load DLLs from the '''system32''' folder and now try to load the 64bit DLLs instead of the 32bit DLLs located in '''SysWOW64'''. | |||
Therefore, if you wish to or have to disable the Windows system file and folder redirection, do so temporarily only by using the Total Commander internal command '''cm_SwitchX64Redirection'''. This internal command has been introduced by Total Commander 7.50. | |||
Disabling/re-enabling the X64 Redirection will work provided you are using Total Commander v7.0 or higher on | |||
* Windows XP 64bit | |||
* Windows 2003 64bit | |||
* Windows Vista 64bit | |||
* Windows Server 2008 64bit | |||
* Windows 7 64bit | |||
<br> | |||
== Using Symbolic Links == | |||
Another way of working around the file and folder redirection to which Microsoft subjects any 32bit application on 64bit Windows is by using '''symbolic links'''. | |||
If a 32bit application uses a symbolic link which points to %windir%\system32 in order to access the folder %windir%\system32, in this case no redirection to %windir%\SysWow64 will occur. | |||
So users can use e.g. [http://technet.microsoft.com/en-us/sysinternals/bb896768.aspx Sysinternals junction] and create a symbolic link inside the folder ''%windir%'' named e.g. ''sl_system32'' which points to the real ''system32'' folder.<br> | |||
From now on in Total Commander you navigate to '''%windir%''' => ''sl_system32''. This will take you to the genuine '''%windir%\system32''' folder. <br> | |||
Navigating to '''%windir%''' => '''system32''', however, will trigger the Wow64 folder redirection and actually take you to '''%windir%''' => '''SysWoW64''' instead. | |||
'''Beware:'''<br> | |||
On Windows versions older than Vista, Explorer will delete the content of the target folder if you try to delete the symbolic link. Total Commander can tell the symbolic link and the target folder apart. | |||
Working around the described problem with the help of symbolic links will work on | |||
* Windows XP 64bit | |||
* Windows 2003 64bit | |||
* Windows Vista 64bit | |||
* Windows Server 2008 64bit | |||
* Windows 7 64bit | |||
<br> | |||
... Übersetzung in Arbeit .... | ... Übersetzung in Arbeit .... |
Version vom 22. Februar 2010, 21:28 Uhr
Problem
Der Windows Explorer zeigt eine Reihe von Dateien und Ordnern in seinem Dateipanel an. Der Total Commander hingegen listet gar keine oder wenigstens nicht alle diese Dateien und Ordner auf. Oder der Total Commander und der Explorer zeigen abweichende Dateigrößen für anscheinend die gleichen Dateien an.
Dies trifft zu, obwohl sowohl der Explorer, als auch der Total Commander so eingestellt worden sind, dass sie beide alle Dateien und Ordnern anzeigen, auch wenn diese die Attribute "versteckt" und "System" besitzen.
Betroffene Windows Versionen: 64bit
Das skizzierte Problem läßt sich beobachten auf folgenden Windows Versionen:
- Windows XP 64bit
- Windows 2003 64bit
- Windows Vista 64bit
- Windows Server 2008 64bit
- Windows 7 64bit
Betroffene Dateien und Ordner
Dieses Problem betrifft Dateien und Ordner, die im Ordner %windir%\system32 oder in Unterordnern von %windir%\system32 gespeichert sind. Eine Datei, für die dieses Problem häufig berichtet wird, ist die Datei hosts, genauer %windir%\system32\drivers\etc\hosts.
Hinweis:
%windir% ist eine Variable, die den echten Pfad des Windows Ordners beinhaltet. Meistens wird %windir% daher gleichbedeutend sein mit C:\Windows.
Was verursacht dieses Problem?
Deine Windows Version ist ein 64bit Windows. Total Commander hingegen ist auch in der aktuellen Version eine 32bit Applikation.
Eine kurze Beschreibung, wie 32bit Applikationen auf 64bit Windows Versionen betrieben werden, kann man in den folgenden (englischsprachigen) Microsoft Artikeln nachlesen:
Wie die Microsoft Artikel erläutern, leiten Windows 64bit Versionen jede Anfrage, die durch ein 32bit Programm wie z.B. Total Commander gestellt wird, um auf %windir%\system32 zuzugreifen, auf den Ordner %windir%\SysWOW64 um. Das 32bit Programm jedoch wird glauben, es sehe tatsächlich den Ordner %windir%\system32.
Dabei ist es natürlich so, dass %windir%\system32 und %windir%\SYSWOW64 keineswegs dieselben Unterordner und die selben Dateien enthalten.
Nicht vergessen:
Wenn man navigiert nach %windir% => system32, wird damit die Wow64 Ordner- und Dateiumleitung aktiv, und in Wirklichkeit leitet einen diese um nach %windir% => SysWoW64, immer vorausgesetzt man benutzt Total Commander oder eine andere 32bit Applikation.
Ausnahmen von der Umleitungsregel
Eine kleine Zahl von Ordnern unterliegt nicht der Umleitung in den %windir%\SysWOW64 Ordnerbaum:
- %windir%\system32\catroot
- %windir%\system32\catroot2
- %windir%\system32\drivers\etc
- %windir%\system32\logfiles
- %windir%\system32\spool
Unter Windows XP 64bit und Windows 2003 64bit wird auch
- %windir%\system32\driverstore
nicht umgeleitet.
Dies trifft allerdings nur zu, wenn man die genannten Ordner direkt in einem Schritt ansteuert, indem man die kompletten Pfadnamen angibt.
Wenn man hingegen navigiert von %windir% nach system32, dann z.B. nach catroot, dann hat die automatische Ordnerumleitung bereits zugeschlagen, als man versucht hat, system32 anzusteuern. In diesem Moment ist Total Commander bereits nach SysWOW64 umgeleitet worden. Daher kann man von hieraus nicht mehr in den echten catroot Ordner weiternavigieren.
Solution
Using the Hidden Alias SYSNATIVE
Starting with Vista 64bit, Microsoft introduced a workaround for the file and folder redirection. This workaround is available to all 32bit applications running on
- Windows Server 2008 64bit
- Windows 7 64bit
- Windows Vista 64bit
- Windows 2003 64bit with Hotfix KB942589 installed
- Windows XP 64bit with Hotfix KB942589 installed
On the listed Windows versions, there is an invisible alias name SysNative which points to system32. Only 32bit applications can use the alias SysNative. If a 32bit application requests to access %windir%\Sysnative it will not be redirected to SysWOW64 instead, but it will access the real %windir%system32 folder.
Using the alias SysNative is the recommended way of accessing the real system32 folder.
Therefore, Total Commander 7.50 and above will display the invisible alias Sysnative inside %windir% as if it were a normal folder thus making it easy to use this alias.
So in Total Commander you navigate to %windir% => Sysnative. This will take you to the genuine %windir%\system32 folder.
Navigating to %windir% => system32, however, will trigger the Wow64 folder redirection and actually take you to %windir% => SysWoW64.
Using SysNative will work out of the box provided you are using Total Commander v7.50a or higher on
- Windows Server 2008 64bit
- Windows 7 64bit
- Windows Vista 64bit.
Using SysNative will also work provided you are using Total Commander v7.50a or higher on
- Windows 2003 64bit with Hotfix KB942589 installed
- Windows XP 64bit with Hotfix KB942589 installed
Using X64DisableRedirection (Temporarily)
Starting with the version 7.0, Total Commander offers a configuration parameter X64DisableRedirection. By default, this parameter has got the value 0, i.e. Windows system file and folder redirection is not disabled (=enabled). You can, however, add the parameter X64DisableRedirection=1 to the section [Configuration], thus disabling Windows system file and folder redirection for Total Commander.
Beware:
Doing so permanently, will inevitably lead to problems with plugins which try to load DLLs from the system32 folder and now try to load the 64bit DLLs instead of the 32bit DLLs located in SysWOW64.
Therefore, if you wish to or have to disable the Windows system file and folder redirection, do so temporarily only by using the Total Commander internal command cm_SwitchX64Redirection. This internal command has been introduced by Total Commander 7.50.
Disabling/re-enabling the X64 Redirection will work provided you are using Total Commander v7.0 or higher on
- Windows XP 64bit
- Windows 2003 64bit
- Windows Vista 64bit
- Windows Server 2008 64bit
- Windows 7 64bit
Using Symbolic Links
Another way of working around the file and folder redirection to which Microsoft subjects any 32bit application on 64bit Windows is by using symbolic links.
If a 32bit application uses a symbolic link which points to %windir%\system32 in order to access the folder %windir%\system32, in this case no redirection to %windir%\SysWow64 will occur.
So users can use e.g. Sysinternals junction and create a symbolic link inside the folder %windir% named e.g. sl_system32 which points to the real system32 folder.
From now on in Total Commander you navigate to %windir% => sl_system32. This will take you to the genuine %windir%\system32 folder.
Navigating to %windir% => system32, however, will trigger the Wow64 folder redirection and actually take you to %windir% => SysWoW64 instead.
Beware:
On Windows versions older than Vista, Explorer will delete the content of the target folder if you try to delete the symbolic link. Total Commander can tell the symbolic link and the target folder apart.
Working around the described problem with the help of symbolic links will work on
- Windows XP 64bit
- Windows 2003 64bit
- Windows Vista 64bit
- Windows Server 2008 64bit
- Windows 7 64bit
... Übersetzung in Arbeit ....
Hinweis
Tut mir leid, aber heute Nacht werde ich es nicht mehr schaffen, den englisch-sprachigen Artikel zu übersetzen. Darum wird an dieser Stelle zunächst nur auf den englisch-sprachigen Artikel verlinkt. Übersetzung erfolgt, sobald ich Zeit finde, oder jemand anderes Lust hat, das zu tun.
Some Files and Folders Shown by Windows Explorer Are Not Shown by Total Commander!
Zurück zur Bekannte Probleme und Inkompatibilitäten