Applies To:
  • CitectSCADA v7.10
  • CitectHMI v7.10
  • VijeoCitect v7.10
  • Citect Facilities v7.10

Summary:
I have a Citrix server running Citect display client with a large number of users (>50). This server is on a 'secure' SCADA network which does not allow internet access. As described in KB article Q5163, Citect takes up to 3 minutes to startup. I am aware of the solution described in KB article Q5163, however it is really impratical for me to uncheck the 'Check for publisher's certificate revocation' option in Internet Explorer for each of these user accounts. 

Solution:
Citect is slow to startup due to Security Certificate revocation (CRL) checks. This can be disabled by modifying the 'RuntimeManager.exe.config' and the "Citect32.exe.config" files located in the Citect "Config" folder. These files can be edited using the Windows Notepad. 


NOTE: Before doing any modifications, please create a backup of these files. 


1. Modify 'RuntimeManager.exe.config' file located in the Citect 'Config' folder as follows (add bolded section):

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <runtime>
    <generatePublisherEvidence enabled="false"/>
  </runtime>
  <system.diagnostics>
    <switches>
      <!-- value is 0: Off, 1: Error, 2: Warning, 3: Info, 4: Verbose, the default is 0 -->
      <add name="General" value="2" />
    </switches>
  </system.diagnostics>
</configuration>


 
2.  Modify 'Citect32.exe.config' file located in the Citect 'CONFIG' folder as follows:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
      <section name="Citect.Platform.PSI.PSIClient.PSIClientSettings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
   <section name="Citect.Platform.Net.Session.Tcpip.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
    </sectionGroup>
 
    <section name="pluginStaticConfiguration"
        type="Citect.Platform.PluginFramework.PluginStaticConfiguration, Citect.Platform.PluginFramework, Version=1.1.0.0, Culture=neutral, PublicKeyToken=13aaee2494f61799" />
 
    <section name="loggingConfiguration"
        type="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.LoggingSettings, Microsoft.Practices.EnterpriseLibrary.Logging, Version=2.0.0.0, Culture=neutral, PublicKeyToken=13aaee2494f61799" />
 
  </configSections>
  <runtime>
    <generatePublisherEvidence enabled="false"/>
  </runtime>
  <pluginStaticConfiguration>


To validate the changes, both configuration files need to be copied into the Citect 'BIN' folder. However running CitectSCADA with the configuration files in the BIN folder is not supported.
In order to overcome this issue a hard link of the configuration files and can be created between the Citect 'CONFIG' folder and the Citect 'BIN' folder. By doing this, the configuration files will be located in both folders (BIN and CONFIG) but only one file needs to be maintained.

3. Use 'fsutil' to create a hard link.

 - Open a command prompt.
 - Type the following commands:

          fsutil hardlink create "<path to Citect BIN folder>\Citect32.exe.config" "<path to Citect CONFIG folder>\Citect32.exe.config"

          fsutil hardlink create "<path to Citect BIN folder>\RuntimeManager.exe.config" "<path to Citect CONFIG folder>\RuntimeManager.exe.config"


4. Restart Citect


Keywords:
 Slow startup, Security, Certificate Revocation List (CRL), Security, Network

Attachments