Knowledgebase & FAQ

Does Citrix or Windows Terminal Services work with RecFind?

RecFind utilises the computer's name to perform it's internal database locking. Since in a Citrix/Terminal Services environment all clients effectively run on the same computer, special configuration is required in order for RecFind's locking procedures to function correctly.

In a Citrix/Terminal Services environment, each session must be configured with a unique identifier. This is accomplished by defining a Windows environment variable called CNAME.

The CNAME variable can be assigned a value up to a thirty characters in length and can consist of letters and numbers.

To define a Windows environment variable, from a Citrix session perform the following: 

  1. right-click on My Computer and select Properties 
  2. from the Advanced tab, select Environment Variables 
  3. click on the New user variable button 
  4. enter the Variable Name of "CNAME" and a Variable Value of the unique identifier to be used for this user

Repeat the above for each user logon that will access the RecFind application.

For an automated method, please see 'Suggested Implementation' below.

Supported Versions

For the Microsoft SQL Server version of RecFind this functionality is available in version 3.2.0a and higher, and for Oracle sites version 5.0.0a and higher.


As Citrix and Terminal Services both 'emulate' a Windows client, they are not always 100% compatible with standard Windows. Applications written for standard Windows can therefore sometimes experience problems in the Citrix/Terminal Server environment that will not be seen operating on a standard Windows desktop. Because of this we ask that any problems encountered with RecFind in the Citrix/Terminal Services environment first be reproduced on a standard Windows workstation before reporting the issue to Knowledgeone Corporation Support. 

If you report a Citrix related issue and haven't done this, the Knowledgeone Corporation support specialist will ask you to retest on a standard Windows desktop before accepting the incident. This testing against standard Windows tells us where the problem is. If the problem can be reproduced on a standard Windows desktop then it is not Citrix related and can be fixed. If it cannot be reproduced on a standard Windows desktop then we will do our best to help you but we do not accept responsibility for any Citrix/Terminal Server specific problems.

Suggested Implementation

Knowledgeone Corporation do not provide support for Citrix or Windows Terminal Services however the following information may be of some assistance.

The instructions above requires manual configuration for each user profile, however you can use a script to automate the process.

From a script you can set the CNAME variable to equal the value of another variable that is known to always be unique. For example, you may wish to use the SESSIONNAME variable.

To view a list of available variables, from within a remote session, load a DOS prompt and type "set". (Note: it is possible that the user's name may not be unique). If using a server farm, ensure that the same ID will not be allocated on more than one machine. You may need to combine two variables (eg. include the servername variable) to ensure that you will get a unique value.

To set a Windows environment variable via a script, you need to use a command called "SETX" which is part of Microsoft's Windows Resource Kit. For more information and to download this command, please see

(Note: The normal SET command will only create variables accessible within the current DOS session. To make variable available to Windows applications (including RecFind), you need to use the SETX command).

After you have obtained the command, to use SETX you need to run the following command from the users' logon scripts:

setx cname %sessionname%

The above example sets the CNAME variable to be equal to the value of the SESSIONNAME variable. If you are using a different variable, replace 'sessionname' with the name of another variable.

If you do not wish to use a logon script, another alternative is to publish a batch file which runs the appropriate SETX command and then launches the RecFind application (ie. RECWIN5.EXE).

Back to FAQ index


  Back | Top
Site by Intelliweb Productions