W2008+Citrix - TC does not show all the drives explorer does
Moderators: Hacker, petermad, Stefan2, white
W2008+Citrix - TC does not show all the drives explorer does
"Net use" show same as Windows explorer does:
However TC only show the mapped drives.
[face=courier]Status Local Remote Network
-------------------------------------------------------------------------------
J: \\Client\J$ Citrix Client Network
OK N: \\c-main\data Microsoft Windows Network
S: \\Client\S$ Citrix Client Network
Y: \\Client\D$ Citrix Client Network
Z: \\Client\S$ Citrix Client Network
LPT1 \\Client\LPT1: Citrix Client Network
LPT2 \\Client\LPT2: Citrix Client Network
\\Client\C$ Citrix Client Network
\\Client\D$ Citrix Client Network
\\Client\F$ Citrix Client Network
\\Client\G$ Citrix Client Network
\\Client\J$ Citrix Client Network
\\Client\M$ Citrix Client Network
\\Client\O$ Citrix Client Network
\\Client\P$ Citrix Client Network
\\Client\R$ Citrix Client Network
\\Client\S$ Citrix Client Network
\\Client\U$ Citrix Client Network
\\Client\V$ Citrix Client Network
\\Client\W$ Citrix Client Network
\\Client\Y$ Citrix Client Network[/face]
Explorer VS TC:
Image: http://img214.imageshack.us/img214/338/tcexplorer.jpg
However TC only show the mapped drives.
[face=courier]Status Local Remote Network
-------------------------------------------------------------------------------
J: \\Client\J$ Citrix Client Network
OK N: \\c-main\data Microsoft Windows Network
S: \\Client\S$ Citrix Client Network
Y: \\Client\D$ Citrix Client Network
Z: \\Client\S$ Citrix Client Network
LPT1 \\Client\LPT1: Citrix Client Network
LPT2 \\Client\LPT2: Citrix Client Network
\\Client\C$ Citrix Client Network
\\Client\D$ Citrix Client Network
\\Client\F$ Citrix Client Network
\\Client\G$ Citrix Client Network
\\Client\J$ Citrix Client Network
\\Client\M$ Citrix Client Network
\\Client\O$ Citrix Client Network
\\Client\P$ Citrix Client Network
\\Client\R$ Citrix Client Network
\\Client\S$ Citrix Client Network
\\Client\U$ Citrix Client Network
\\Client\V$ Citrix Client Network
\\Client\W$ Citrix Client Network
\\Client\Y$ Citrix Client Network[/face]
Explorer VS TC:
Image: http://img214.imageshack.us/img214/338/tcexplorer.jpg
- ghisler(Author)
- Site Admin
- Posts: 50475
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
Total Commander uses the Windows function GetDriveType to find out what drives are available and what drives aren't.
The Citrix drives are not local drives, they are remote drives without a local drive letter. By default, TC looks for drives in \\tsclient . You can tell TC to look in \\Client instead:
Please add the following string to the file wincmd.ini, section [Configuration]:
tsclient=\\client
You can edit the wincmd.ini via Configuration - Change settings files directly.
Please let me know whether that helps or not!
The Citrix drives are not local drives, they are remote drives without a local drive letter. By default, TC looks for drives in \\tsclient . You can tell TC to look in \\Client instead:
Please add the following string to the file wincmd.ini, section [Configuration]:
tsclient=\\client
You can edit the wincmd.ini via Configuration - Change settings files directly.
Please let me know whether that helps or not!
Author of Total Commander
https://www.ghisler.com
https://www.ghisler.com
Thanks - your always one step ahead 
However I cant get it to work.
I have added the config value and restarted TC 7.55a.
Still no client drives are shown (except for those I allready have mapped).
"cd \\client" in TC shows all the drives but they are not shown on the drivebar or dropdownbox. No "drivebarhide" is in the configuration file.

However I cant get it to work.
I have added the config value and restarted TC 7.55a.
Still no client drives are shown (except for those I allready have mapped).
"cd \\client" in TC shows all the drives but they are not shown on the drivebar or dropdownbox. No "drivebarhide" is in the configuration file.
- ghisler(Author)
- Site Admin
- Posts: 50475
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
Sorry, I was wrong - it cannot work. TC looks for drives in the form
\\Client\C
and not
\\Client\C$
Can you configure the Citrix client to return C instead of C$?
\\Client\C
and not
\\Client\C$
Can you configure the Citrix client to return C instead of C$?
Author of Total Commander
https://www.ghisler.com
https://www.ghisler.com
- ghisler(Author)
- Site Admin
- Posts: 50475
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
I can try to add specific Citrix support. Does anyone know how to detect the presence of Citrix?
Author of Total Commander
https://www.ghisler.com
https://www.ghisler.com
I just use a TS api for "Citrix functions" like get active/disconnected application and so on. (JwaWtsApi32.pas)ghisler(Author) wrote:I can try to add specific Citrix support. Does anyone know how to detect the presence of Citrix?
How about just add a config value like "tsclient=\\client ":
citrixclient=\\client that does the search with out the $ ?
- ghisler(Author)
- Site Admin
- Posts: 50475
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
I tried that now, but unfortunately it didn't help: The function which I'm currently using (WNetOpenEnum) cannot find any shares ending with '$'. The function which can do it, NetShareEnum, doesn't work with \\tsclient, only with real network connections. So there seems to be no way to list admin shares on tsclient. 

Author of Total Commander
https://www.ghisler.com
https://www.ghisler.com
Using this code:
http://www.swissdelphicenter.ch/torry/showcode.php?id=391
Changing:
--
if lpnrDrv^.lpLocalName <> nil then
s := s + lpnrDrv^.lpLocalName + #9 + lpnrDrv^.lpRemoteName;
--
to
--
if lpnrDrv^.lpLocalName <> nil then
s := s + lpnrDrv^.lpLocalName + #9 + lpnrDrv^.lpRemoteName
else
s := s + 'not mapped' + #9 + lpnrDrv^.lpRemoteName;
--
I get:
Network drives:
not mapped \\Client\C$
not mapped \\Client\D$
not mapped \\Client\F$
not mapped \\Client\G$
not mapped \\Client\J$
not mapped \\Client\M$
not mapped \\Client\O$
not mapped \\Client\P$
not mapped \\Client\R$
not mapped \\Client\S$
not mapped \\Client\U$
not mapped \\Client\V$
not mapped \\Client\W$
not mapped \\Client\X$
not mapped \\Client\Y$
J: \\Client\J$
LPT1 \\Client\LPT1:
LPT2 \\Client\LPT2:
N: \\c-main\data
http://www.swissdelphicenter.ch/torry/showcode.php?id=391
Changing:
--
if lpnrDrv^.lpLocalName <> nil then
s := s + lpnrDrv^.lpLocalName + #9 + lpnrDrv^.lpRemoteName;
--
to
--
if lpnrDrv^.lpLocalName <> nil then
s := s + lpnrDrv^.lpLocalName + #9 + lpnrDrv^.lpRemoteName
else
s := s + 'not mapped' + #9 + lpnrDrv^.lpRemoteName;
--
I get:
Network drives:
not mapped \\Client\C$
not mapped \\Client\D$
not mapped \\Client\F$
not mapped \\Client\G$
not mapped \\Client\J$
not mapped \\Client\M$
not mapped \\Client\O$
not mapped \\Client\P$
not mapped \\Client\R$
not mapped \\Client\S$
not mapped \\Client\U$
not mapped \\Client\V$
not mapped \\Client\W$
not mapped \\Client\X$
not mapped \\Client\Y$
J: \\Client\J$
LPT1 \\Client\LPT1:
LPT2 \\Client\LPT2:
N: \\c-main\data
- ghisler(Author)
- Site Admin
- Posts: 50475
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
I wonder how you got that to work - it uses WNetEnumResource to get the list of shares, but even Microsoft write that this doesn't list hidden shares, see:
http://msdn.microsoft.com/en-us/library/bb525387%28VS.85%29.aspx
http://msdn.microsoft.com/en-us/library/bb525387%28VS.85%29.aspx
I tried that myself, and no hidden shares were listed for my local computer. Unfortunately I don't have access to a terminal server, so I cannot say how it works with \\client. Can you confirm that WNetEnumResource returns hidden shares like \\Client\C$ with terminal server?You can also use the WNetEnumResource function to retrieve resource information. However, WNetEnumResource does not enumerate hidden shares or users connected to a share.
Author of Total Commander
https://www.ghisler.com
https://www.ghisler.com
With remote desktop connection to a server i get:
not mapped \\TSCLIENT\Y
not mapped \\TSCLIENT\X
not mapped \\TSCLIENT\W
not mapped \\TSCLIENT\V
not mapped \\TSCLIENT\U
not mapped \\TSCLIENT\S
not mapped \\TSCLIENT\R
not mapped \\TSCLIENT\P
not mapped \\TSCLIENT\O
not mapped \\TSCLIENT\M
not mapped \\TSCLIENT\J
not mapped \\TSCLIENT\G
not mapped \\TSCLIENT\F
not mapped \\TSCLIENT\E
not mapped \\TSCLIENT\D
not mapped \\TSCLIENT\C
On Citrix it list:
not mapped \\Client\C$
... all the local drives...
not mapped \\TSCLIENT\Y
not mapped \\TSCLIENT\X
not mapped \\TSCLIENT\W
not mapped \\TSCLIENT\V
not mapped \\TSCLIENT\U
not mapped \\TSCLIENT\S
not mapped \\TSCLIENT\R
not mapped \\TSCLIENT\P
not mapped \\TSCLIENT\O
not mapped \\TSCLIENT\M
not mapped \\TSCLIENT\J
not mapped \\TSCLIENT\G
not mapped \\TSCLIENT\F
not mapped \\TSCLIENT\E
not mapped \\TSCLIENT\D
not mapped \\TSCLIENT\C
On Citrix it list:
not mapped \\Client\C$
... all the local drives...
- ghisler(Author)
- Site Admin
- Posts: 50475
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
You can view these drives now with the following line in wincmd.ini:
tsclient=\\client
tsclient=\\client
Author of Total Commander
https://www.ghisler.com
https://www.ghisler.com