W2008+Citrix - TC does not show all the drives explorer does

Bug reports will be moved here when the described bug has been fixed

Moderators: white, Hacker, petermad, Stefan2

Post Reply
frjd
Junior Member
Junior Member
Posts: 23
Joined: 2005-03-16, 14:27 UTC

W2008+Citrix - TC does not show all the drives explorer does

Post by *frjd »

"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
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 48077
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

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!
Author of Total Commander
https://www.ghisler.com
frjd
Junior Member
Junior Member
Posts: 23
Joined: 2005-03-16, 14:27 UTC

Post by *frjd »

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.
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 48077
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

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$?
Author of Total Commander
https://www.ghisler.com
frjd
Junior Member
Junior Member
Posts: 23
Joined: 2005-03-16, 14:27 UTC

Post by *frjd »

ghisler(Author) wrote: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$?
No I dont think that is possible.
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 48077
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

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
frjd
Junior Member
Junior Member
Posts: 23
Joined: 2005-03-16, 14:27 UTC

Post by *frjd »

ghisler(Author) wrote:I can try to add specific Citrix support. Does anyone know how to detect the presence of Citrix?
I just use a TS api for "Citrix functions" like get active/disconnected application and so on. (JwaWtsApi32.pas)

How about just add a config value like "tsclient=\\client ":

citrixclient=\\client that does the search with out the $ ?
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 48077
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

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
frjd
Junior Member
Junior Member
Posts: 23
Joined: 2005-03-16, 14:27 UTC

Post by *frjd »

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
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 48077
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

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
You can also use the WNetEnumResource function to retrieve resource information. However, WNetEnumResource does not enumerate hidden shares or users connected to a share.
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?
Author of Total Commander
https://www.ghisler.com
frjd
Junior Member
Junior Member
Posts: 23
Joined: 2005-03-16, 14:27 UTC

Post by *frjd »

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...
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 48077
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

You can view these drives now with the following line in wincmd.ini:
tsclient=\\client
Author of Total Commander
https://www.ghisler.com
Post Reply