Applies To:
  • CitectSCADA 5.XX
  • CitectHMI 5.XX

Summary:
I have set up a PC with Windows Terminal Services as a Display Client to my CitectSCADA server. The network I am connected to uses Roaming Profiles. I log into my Display Client with the Administrator user and set up all of my INI parameters the way I need them, and Citect runs and displays correctly, but when I log in with another user the INI changes don't take effect. What is wrong? 

Solution:
When using Roaming Profiles with CitectSCADA, each user that logs on can have their own set of INI files stored within a location under "Documents and Settings. The problem is that when you install CitectSCADA with the Administrator user and set up your INI file, it will only work for the Administrator user and not for anyone else, as they will create their own INI file within their own subfolder/profile when they start CitectSCADA. You can verify which INI file your current CitectSCADA user is accessing by using the Cicode function ServerInfo("Client",3). This will return the path name of the INI file being used by the display client.

Hence any parameters you change for the Administrator user will have no effect for other users, since they do not use the same INI file. This is fine if you wish to maintain different INI files for different users, but it's a problem if you want to use one INI file for many users.

The way to get around this is to force all users to look at one version of the Citect.INI file. Typically this is placed in one of three places, the "Windows" directory (or WinNT directory), the "\Bin" directory or in the main project directory (your preference may vary depending on how many different projects and versions of CitectSCADA you have installed on your PC). CitectSCADA will initially look for an INI file in the "CitectSCADA\Bin\" directory, and if it doesn't find one there, it will then look in the Windows/WinNT directory (i.e. the path specified by the %WinDir% environment variable). If it does not find one there, it then attempts to create one there. When it attempts to create one there it gets re-directed to the User profile directory. Therefore, placing the INI file in the "\Bin\" directory should solve the problem. Alternatively you can force the path that Citect uses to look for an INI file.

You can force the path that Citect Runtime uses on startup by using the "-i" switch within the shortcut you use to startup Citect Runtime. To do this:

1) Right click on your Citect Runtime shortcut and select "Properties"

2) Select the "Shortcut" tab

3) Modify the "Target" field as shown below:

Target: C:\Citect\Bin\Citect32.EXE -iC:\Citect\User\MyProject\INIs\Citect.INI

OR

Target: "C:\Program Files\Citect\CitectSCADA\Bin\Citect32.EXE" -iC:\WinNT\Citect.INI

etc.

NOTES:

- You will need to use quotation marks around paths that contain spaces as shown above.

- You can also force Citect Explorer to use a specific INI file, using the same method, but you need to substitute CTEXPLOR.EXE for CITECT32.EXE. It is recommended you force them both to the same location.

- This procedure was written based on Windows XP, however the process is extremely similar for Windows NT4/2000/2003

Notice the second example points to the %WinDir% directory. If you want your INI file to be placed in the Windows/WinNT directory, and you use Roaming Profiles, you need to explicitly state the full path as shown (and not use the %WinDir% environment variable), or else the Citect.INI file will be created and maintained in the User's profile directory.

 

Keywords:
Roaming Profiles, Terminal Services, INI  

Attachments