Patriot Configuration Files
Each of the Patriot component programs has its own configuration file containing application and system settings.
The files are located inside the Patriot install directory for each component, typically under C:\Program Files (x86)\Patriot Systems Ltd
- Patriot Data Service, in the
PatriotService.exe.config
file - Patriot Task Service, in the
CSMService.exe.config
file - Patriot Client, in
PatriotV6Client.exe.config
- Patriot Reporting Components, in
ReportRunner.Settings.config
andReportViewer.Settings.config
Only application settings can be permanently edited in these files, the main config files (ReportRunner.exe.config
and ReportViewer.exe.config
) are overwritten in each Patriot update so (permanent) user changes are not possible.
Special Characters
When editing the configuration file to change setting values, some special characters must be escaped / encoded, or the configuration file will be detected as invalid.
Special Character | Replacement |
---|---|
" | " |
' | ' |
< | < |
> | > |
& | & |
For Example, if your SQLPassword is P&t>iot
you would enter:
<setting name="SQLPassword" serializeAs="String">
<value>P&t>iot'</value>
</setting>
Server / Workstation GC Mode
The Microsoft .NET Framework can run programs in two different modes - Workstation or Server. It is recommended to use the server mode for the data service, especially if using the Concurrent Signal Processing module.
Enabling Server GC Mode
To enable Server GC Mode, edit the DataService config file and add/update the following setting:
<configuration>
...
<runtime>
...
<gcServer enabled="true"/>
...
</runtime>
...
</configuration>
Assembly Bindings
Each of the Patriot component programs has its own configuration file which includes settings that control assembly loading rules. As of Patriot 6.9, binding redirects are mostly automated, however some manual configuration may be needed if the existing configuration files don't contain the required settings.
Assembly bindings defined in the Patriot configuration file instruct Patriot to use the correct version of dependent assembly files. If your assembly bindings are incorrect or missing you will see assembly binding errors in the Windows event log. E.g. if you attempt to use the Patriot ICA or API add-on module without having the correct Data Service configuration you will see an error in the event log when you attempt to browse to your ICA website or access the API:
Could not load file or assembly 'System.Net.Http.Formatting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference
Automatic Binding Redirection
As of Patriot 6.9, assembly redirects are no longer included directly in the config files, but instead stored in a separate file supplied by the update. This will ensure the correct assembly bindings are automatically used. To ensure this works, make sure your config files contain this reference as follows:
<configuration>
...
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<linkedConfiguration href="file:[Path to installation folder]AssemblyBinding.config" />
</assemblyBinding>
...
</configuration>
This same section will need to be copied into each of the following configuration files:
- Patriot Data Service
- Patriot Task Service
- Patriot Client
The Patriot Reporting Components config files do not need this reference.
In each case, replace the [Path to installation folder] section with the full path to the current component
You will likely need administrative privileges to write to these files. After making any changes to a component program configuration file you must restart that component program for the changes to take effect. It is recommended when editing configuration files that you copy and paste directly from this document because any minor typing error will result in the configuration file being ignored at program startup.
For more information, see the Patriot Version 6.9 Upgrade Documentation