How to Allow Custom Virtual Channels Created with ICO in Version 10.00 of the Windows Client

Added by Citrix CDN , last edited by Citrix CDN on Oct 01, 2007  (view change)
Tags: 
ica, ico

Symptoms

After upgrading from an earlier version of the Presentation Server Client for Windows to version 10.00, Virtual Channels created by using the ICA Client Object Method, "CreateChannels," appear to no longer function.

The following steps can be used to illustrate the problem scenario described in this article:

1. Using MetaFrame XP or later and client version 10.00, create a simple program or script that makes a connection to a Citrix server and creates a Virtual Channel:Set objIco = CreateObject("Citrix.ICAClient")'Set your Server Address here
objIco.Address="10.8.6.32"
'Disable IPCLaunch
objIco.IPCLaunch = FALSE
'Set to launch, rather than embed session
objIco.Launch = TRUE
objIco.WinstationDriver = "ICA 3.0"
objIco.TransportDriver = "TCP/IP"
objIco.CreateChannels("TestVC")
'Connect
objIco.Connect()
2. To view the virtual channels created in the session, use CDF to trace the MF_DRIVER_WDICA on the server.

The following trace excerpt lists the Virtual Channel, "TestVC," created using the sample script above on versions of the client earlier than 9.xx:

...
wdica 05/03/2007 00:44:13.332 CHANNEL CTXSCRD is number 21
wdica 05/03/2007 00:44:13.332 CHANNEL CTXMM is number 18
wdica 05/03/2007 00:44:13.332 CHANNEL CTXCTL is number 22
wdica 05/03/2007 00:44:13.332 CHANNEL TestVC is number 23
wdica 05/03/2007 00:44:13.332 CHANNEL CTXSPMK is number 24
wdica 05/03/2007 00:44:13.332 CHANNEL CTXTWN is number 25
...

Resolution

Caution! This fix requires you to edit the registry. Using Registry Editor incorrectly can cause serious problems that may require you to reinstall your operating system. Citrix cannot guarantee that problems resulting from the incorrect use of Registry Editor can be solved. Use Registry Editor at your own risk. Be sure to back up the registry before you edit it.

As part of the Enhanced Security in the 10.00 or later clients, it is necessary to add the following registry key to allow custom created Virtual Channels using the programmatic interface of the client (ICO).

[HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\ICA Client\Engine\Lockdown Profiles\All Regions\Lockdown\Virtual Channels\Third Party\CustomVC]
"VirtualChannels"=""

It is recommended to use a Policy File to set this value.

Create an .adm file and add the following contents:

;
; Group Policy template for Citrix Presentation Server Client
;
; Citrix Presentation Server Client Extensions template
;
; Description:
; This file is provided as a base for third-party extensions to the Presentation Server client.
;
; Copyright 2006 Citrix Systems
;
CLASS MACHINE
CATEGORY !!Citrix
CATEGORY !!ICAClient
CATEGORY !!ThirdParty
#if version >= 4
EXPLAIN !!Explain_ThirdParty
#endif
;
; Remotely define virtual channel
;
POLICY !!Policy_CustomVirtualChannel
EXPLAIN !!Explain_CustomVirtualChannel
KEYNAME "Software\Policies\Citrix\ICA Client\Engine\Lockdown Profiles\All Regions\Lockdown\Virtual Channels\Thirdparty\CustomVC"
VALUENAME "VirtualChannels"
VALUEON ""
VALUEOFF "false"
ACTIONLISTON
KEYNAME "Software\Citrix\ICA Client\Engine\Lockdown Profiles\All Regions\Lockdown\Virtual Channels\Thirdparty\CustomVC"
VALUENAME "VirtualChannels"
VALUE ""
END ACTIONLISTON
ACTIONLISTOFF
KEYNAME "Software\Citrix\ICA Client\Engine\Lockdown Profiles\All Regions\Lockdown\Virtual Channels\Thirdparty\CustomVC"
VALUENAME "VirtualChannels"
VALUE "false"
END ACTIONLISTOFF
END POLICY
END CATEGORY
END CATEGORY
END CATEGORY
[strings]
Citrix="Citrix Components"
ICAClient="Presentation Server Client"
ThirdParty="Extensions"
Explain_ThirdParty="These policies control extensions to the standard Citrix Presentation Server Client."
Policy_CustomVirtualChannel="Additional Virtual Channel"
Explain_CustomVirtualChannel="This policy controls whether a Custom Virtual Channel is Read from an ICA file.\n\nEnabled:\nAllows custom virtual channels to be created by using the ICA Client Object or ICA files.\n\nDisables:\nPrevents custom virtual channels to be created using the ICA Client Object and ICA files.\n\nNot Configured:\nSame as disabled.\n\nSupplier:\nCitrix Systems Inc.\n\nReference: None"