Automatic Update Overview

The thin client first connects to the AcuConnect executable, acurcl, which is running on the server. This executable looks up the specified alias and starts the ACUCOBOL-GT runtime on the server, which takes over the communication with the thin client. The runtime sends the thin client information about itself, including its version number and thin client protocol number. It also sends several configuration variables that control the thin client automatic update behavior.

You specify these configuration variables in the runtime configuration file for your application rather than in the acurcl configuration file. As a result, you can have a different automatic update configuration for each application alias managed by a single AcuConnect server.

Each of the following five events can cause an automatic update of the thin client:

  1. The client's major and minor version numbers do not match the server's.
  2. The client's protocol number does not match the server's.
  3. The TC_REQUIRES_BUILD_NUMBER configuration variable is a nonzero value, and the client's build number does not match this value.
  4. The TC_CHECK_INSTALLER_TIMESTAMP configuration variable is set to "on", and the modification time of the installer file on the server is later than the modification time of the installer file on the client. If the installer file does not exist on the client, the modification time of the running acuthin.exe is used.
  5. The acuthin command has been executed with the --testautoupdate command-line option.

The TC_REQUIRES_BUILD_NUMBER configuration variable facilitates the automatic update of the thin client via a comparison of the client's build number with the variable value. You set this variable to the thin client build number required by the application. The default value of this variable is "0" (off, false, no).

When thin client executes, it compares its build number with the value of TC_REQUIRES_BUILD_NUMBER. If the value of this variable does not match the client's build number, the automatic update process is initiated. For example, suppose you have a patched version of the thin client containing some enhancements needed by your application, and you want to use the automatic update feature to deliver the patched thin client to users. Run acuthin -v to get the build number of the patched thin client, then set TC_REQUIRES_BUILD_NUMBER to that build number in the runtime configuration file set up for your application. Even though the version and protocol numbers have not changed, the different build number triggers the automatic update. Note that if the value of TC_REQUIRES_BUILD_NUMBER does not match either the old or the new thin client build number, the automatic update process is initiated each time the user launches the acuthin executable.

The value of the TC_CHECK_INSTALLER_TIMESTAMP configuration variable determines whether the thin client compares the modification times of the installer files on the client and on the server. If this variable is set to "1" (on, true, yes) and the modification time of the client file is older than the time of the server file, the automatic update process is initiated. If the installer file does not exist on the client, the comparison is made with the modification time of the thin client executable (acuthin) currently running. The default value for this variable is "0" (off, false, no). To use this automatic update method, you should ensure that your client and server clocks are synchronized to avoid unnecessary automatic updates. Times are converted to UTC (Coordinated Universal Time) — formerly known as Greenwich Mean Time (GMT) — so the comparison works across world time zones.

The --testautoupdate command-line option to acuthin lets you test the automatic update feature with your configuration. You need to specify a server, port number, and alias when you use this option.