Page 1 of 1

Is native 64bit code being planned ?

Posted: 2006-11-26, 11:40 UTC
by PetyaMaster
Does anybody here feel the need for compiling TC for 64 bits ?

I just put up a new WinXP64 onto my new AMD64 AM2 board, and was very surprised by the following fact :

- TC doesn't show ANY files in the system32\drivers folder.

Then I looked after this a bit, and checked Folder options -> View -> Show special operating system folder contents, and for this change, TC got the file list ONCE, for a total time of approx. 2 seconds, then no files again, not even when I changed back the setting off and on again several times. Then I googled 64bit behaviour, and found that ALL 64bit windowses are masquarading this way, and it CANNOT be circumvented by ANY 32-bit code. It's native behaviour.
Besides this I also noticed that the total size of files TC says (cm_CountDirContent) + free space on drive C is 800MB less than the size of the partition. It seems that XP64 hides 800 Megs from 32bit apps.

Is native 64bit compilation being planned ?

Cheers,
Peter

Posted: 2006-11-26, 11:58 UTC
by Flint
PetyaMaster
It has been discussed multiple time here. 64-bit TC (if appears) will not be able to use 32-bit plugins, and it's impossible to force all plugin authors re-compile the plugins for the 64-bit environment.

In TC7 however there is an undocumented experimental wincmd.ini key (mentioned in history.txt only) x64DisableRedirection which allows to turn the redirection of the system folders off. But with this key set to 1 not all plugins will be able to work. When a plugin is loaded, TC temporarily turns the redirection on, so that the plugin could load all the necessary DLLs. But if some plugin uses runtime DLL loading, TC cannot catch this and turn redirection on, so the plugin will fail to load. There are not so many such plugins, but they are present.

Posted: 2006-11-26, 12:17 UTC
by PetyaMaster
Hi Flint,

Thanks for the info.
Sorry for being a bit offensive.
I was looking for previous 64bit topics, ddn't find any. Maybe I should have been looking more thoroughly.

Your suggestion will probably be the best alternative for me, since I hadn't got the time yet to search for and evaluate a lot of TC plugins. I think the functionality TC provides by itself is enough for my needs.
I'll try TC7 and this ini setting now, will post my results here.

Thanks for the explanation.

Cheeers,
Peter

Posted: 2006-11-26, 12:36 UTC
by Flint
PetyaMaster wrote:I'll try TC7 and this ini setting now, will post my results here
Yes, please.
Till now it seems that nobody tested this key except for me. :) Unfortunately, I could not spend much time testing it because my primary OS is 32-bit and I have no usual working environment under XP x64...

There are some problems that I found but could not reproduce anymore. Maybe, you will be able to catch them...
1. At some unspecified moment the redirection suddenly turns on, though the key x64DisableRedirection is set to 1, and there is no way to turn it off again, except for TC restart.
2. Once when copying some files into a subdirectory of system32 (real system32, of course) some EXE files were not copied. Never again was I able to reproduce it...

Posted: 2006-11-26, 12:54 UTC
by PetyaMaster
x64DisableRedirection=1

It works fine.
The 800 Megs was the (REAL)system32/dllcache folder.
Now I continue to configure my new 64bit system, and will definitely post here everything that's not usual regarding TC and redirection.

THX and Cheers,
Peter

Posted: 2006-11-26, 13:53 UTC
by ghisler(Author)
Indeed x64DisableRedirection=1 causes problems with some plugins which delay-load system dlls only when needed, e.g. IEView.

2 plugin writers: If you get bug reports from users about this problem, please contact me by e-mail for a replacement LoadLibrary function which fixes this problem!

Posted: 2006-11-26, 14:01 UTC
by Flint
ghisler(Author) wrote:If you get bug reports from users about this problem, please contact me by e-mail for a replacement LoadLibrary function which fixes this problem!
Maybe, it is better to put the code in the public access (e.g. in this thread)? We can hardly expect that all the plugin authors (including the new ones) will open by chance this particular thread and read your post. :D

No Network Neighborhood !

Posted: 2006-11-28, 00:29 UTC
by PetyaMaster
Bug report :

x64DisableRedirection=1 causes the Network Neighborhood icon to disappear from the end of drive buttons toolbar, and TC cannot access network folders when this setting is on (=1)
:cry:

It took me 2 very valuabe hours to find out why I can't access the network. I was disabling unneeded services just before I noticed this.
WOW.

Posted: 2006-11-29, 15:54 UTC
by ghisler(Author)
Thanks for the info! Unfortunately I cannot test this myself because none of our PCs can run XP64 or Vista64, so I have to rely on your bug reports!

Posted: 2006-12-03, 16:41 UTC
by Flint
PetyaMaster wrote:x64DisableRedirection=1 causes the Network Neighborhood icon to disappear from the end of drive buttons toolbar, and TC cannot access network folders when this setting is on (=1)
I confirm this.

Posted: 2006-12-03, 16:58 UTC
by ghisler(Author)
Can you switch to a network share with
cd \\server\share ?

Does the Nethood show up when you have at least one file system plugin installed? And if yes, does it list any network shares?

Posted: 2006-12-03, 17:17 UTC
by Flint
ghisler(Author) wrote:Can you switch to a network share with
cd \\server\share ?
No, I cannot.
ghisler(Author) wrote:Does the Nethood show up when you have at least one file system plugin installed? And if yes, does it list any network shares?
Yes, it appears then, and show the standard set of items:

Code: Select all

[Entire Network]
Add Network Place
Wireless Network Setup Wizard
But when I trying to enter the [Entire Network], I get a message:
---------------------------
Total Commander 7.0 public beta 2 - NOT REGISTERED
---------------------------
Unable to browse the network.

The network is not present or not started.


For more information, click Help.
---------------------------
OK Help
---------------------------
If x64DisableRedirection=0, I can enter there, the "Network Neighborhood" item is present (even without plugins), and I can browse the computers by cd \\comp.

Posted: 2006-12-03, 17:21 UTC
by ghisler(Author)
That's bad, it seems that Windows is trying to delay-load some dlls only when you try to access specific folders. :(

Any ideas?

Posted: 2006-12-03, 17:29 UTC
by Flint
Maybe, when the user tries to access the network, temporarily turn the redirection on?