To run the TICS client, the following tools/environments must be available on a client machine:
ticssetup-
<version>.exe
.
In case any options are set in a setup
.ini file, the installer will not ask
for those options. E.g., the location of the TICS server.
It is important to run the installer from its original location since it
may depend on any present setup .ini
file.
By default, the TICS framework is installed as a client/server application, where the executables, configuration and third party code checkers and rule files are installed on the File Server. The client only contains the add-ins for the various IDEs and a thin application wrapper that starts the client executable from its location on the server.
It is also possible to cache the contents of the File Server locally. This may be useful in scenarios where the connection to the File Server is slow.
Enabling caching is generally not recommended, since it places additional restrictions on the contents of the File Server. This includes the following prerequisites:
In order to enable File Server caching, the TICSCACHE
environment
variable can be set to the caching strategy. Accepted values are
NONE
, SIMPLE
and ZIP
. Alternatively, the
file wrapper.properties
can be used next to the TICS wrapper. In
this file, the caching strategy can be set per application.
An example of the contents of wrapper.properties
:
cache.TICS = zip cache.TICSQServer = none cache.TICSMaintenance = none
The following caching strategies are available:
NONE
: the default strategy, which completely disables caching
SIMPLE
: a strategy where all files are copied one-by-one without
compression
ZIP
: a strategy where zip files are used to speed up the transfer
of checkers
The zip strategy will be faster if checkers that include info.json
are used and each directory containing a checker is accompanied by a zip file
with the same contents.
For example, if the checker "Roslyn" is used, a zip file containing this
directory should be placed next to it in the chk
directory. The
command TICSMaintenance -zipchk
can be used to do this
automatically.
It may be desirable to show or remove the local cache. This can be done by
invoking the wrapper with the -wrapper
flag.
In the examples below, we use the TICS
command, but any TICS
application (TICSQServer
, TICSMaintenance
, etc.) can
be used to accomplish the same thing.
The command TICS -wrapper -showcache
can be used to show the cache
that is available on the client. The output looks as follows:
DIRECTORY CONTENTS PART OF CONFIGURATION f7c07954062d90832043efe806884775 lib yes 346be58b99602d0005fdb522ad758dc6 bin yes 0daa2869d4fa142520f7ea99f1b865ae cfg yes 9c766c48a0264cb6e5e9353135d6382c rules yes 1cc655ffc7de021b3a20d677dbf21cd9 chk yes
The last column indicates whether the directory is part of the current configuration. If TICS has been used for multiple configurations, this may result in directories that are not part of the current configuration.
In order to remove the local cache, the following commands can be used:
TICS -wrapper -clearconfigurationcache
, which deletes the cache
for the currently active configuration
TICS -wrapper -clearallcaches
, which deletes the caches for all
configurations
The difference between caches that are part of the configuration and caches
that aren't can be seen through the command TICS -wrapper
-showcache
.