Downloading a New Version of Thin Client Software

During the downloading of a new version of software from the application server to presentation clients, the following actions occur.

  1. As it is necessary to cater for an environment where several users share the same JADE thin client binary files, only one user can initiate a download and install process at a time into the same binary directory. Therefore, whenever the jade.exe program is initiated in JADE thin client mode, it attempts to create an interlock file (thinlock.fil) in the work directory of the jade.exe program before performing the initial version check with the application server.

    If the creation of the lock file succeeds, the version check is performed. If a download is not required, the interlock file is removed and the execution continues as normal.

    If a download or an install of preloaded files is required, this interlock file has the user name and computer name of the user and the workstation that created the lock written into the file. This file is removed only when the installation process terminates or the pre-download is complete.

    If the creation of the interlock file fails, another user is in the download process for that binary directory. The user is informed of the name of the presentation client workstation and user who is performing the download process, and asked to try again shortly.

    For details about controlling whether the thin client download and pre-download processes are automatically performed, see the AskToDownload and AskToPreDownload parameters in the [JadeThinClient] section of the JADE initialization file, in the JADE Initialization File Reference.

    The file lock is retained by the JADE thin client install process for standard Windows clients. This prevents multiple clients attempting to perform the same download process. If another JADE thin client is initiated while the first client is processing the download requirements and the application server indicates that a download is required, the file lock is will be detected. If the value of the AskToDownload parameter is set to true, a message box will be displayed (using a temporary copy of jaddinst.exe to do the message box display), informing the client that another client is performing the download and asking the user to wait. If the value of the AskToDownload parameter is false, the information is output only to the client jommsg.log file. In both cases, the JADE executable terminates with exit code 14165 (The thin client software is currently being downloaded, please wait and try again shortly. The user performing the download is:).

    You should not use the same JADE binaries to access different application servers at the same time. If the application servers have different download files, a conflict of interest will occur when two JADE thin clients are initiated at the same time and the installation process will most likely fail with files being in use.

  2. When the requirement of a download is detected, an analysis is performed of the files that must be downloaded. The application server passes a complete list of all files available for download and their file lengths and timestamps.

    The jade.exe program determines the files that it already has locally by checking its own work, binary, download, and pre-download directories.

    If all files are already local for a download, the download version in the DownLoadVersion parameter in the [JadeThinClient] section of the JADE initialization file on the presentation client is updated automatically, the interlock file is removed, and execution of the jade.exe program continues. As each database system is assumed to be at the same JADE version level, use of each shortcut or command line causes a download to occur when the JADE version level of the database on the presentation client differs from that on the application server.

    If all files are already local for a version mismatch download, a message box prompts the user for confirmation to proceed with the installation of the local files. If the user rejects the installation, the interlock file is removed and the jade.exe program terminates. If the user accepts the installation, the installation process described in step 5 is performed..

    If there are files to download, the pre-download operation in step 3 and the version mismatch download operation in step 4 are performed.

  3. In a pre-download situation where there are files still to be downloaded, an attempt is made to create another interlock file (prelock.fil). If the creation of the pre-download interlock file fails, another user is already performing the pre-download operation and the original interlock file is removed and the execution of the jade.exe program is continued.

    If the creation of the interlock file succeeds, the original interlock file (thinlock.fil) is removed, allowing other users to initiate sessions with the application server while the pre-download files are obtained. A message box gives the user the option of performing or ignoring the download process. If the user ignores the download process, the new interlock file (prelock.fil) is removed and the application execution continues. This process is repeated every time a JADE thin client connection is initiated to the application server until the pre-download operation is performed.

    If the user accepts the pre-downloading of files, the required files for each environment type are downloaded from the directories and subdirectories specified by the DownLoadDirectory and FullJadeInstallDirectory parameters in the [environment-type] section of the JADE initialization file for the appropriate environment type and the PreDownLoadDirectory and PreDownLoadProgramDataDirectory parameters in the [JadeThinClient] section of the JADE initialization file. The data is compressed during transmission and a progress bar displays the status of the pre‑download operation if the transfer of data takes longer than one second.

    The pre-downloaded files are created with the same timestamp as the modified time stamp of the file recorded on the application server.

    When the pre-download of files is complete, the value of the PreDownLoadVersion parameter in the [JadeThinClient] section of the JADE initialization file on the presentation client is updated with the new pre‑download version, the interlock file is removed, and the execution of the original JADE application is continued.

    If any file fails to copy, a message box advises the user of this and prompts the user to abort or retry the pre-download operation. If the user aborts the operation, any partially written file is deleted, the interlock file is removed, and the execution of the JADE application continues as normal. If the user retries the operation, another attempt is made on the file operation, allowing the user to deal with issues such as lack of disk space.

  4. If files must be downloaded for a version mismatch or upgrade, a message box informs the user that a download is required before the application execution can continue. If the user rejects the download, the interlock file is removed and the execution of the jade.exe application terminates. When the user accepts the download, the application server downloads the files to the presentation client. The data is compressed during transmission and a progress bar displays the status of the download operation if the transfer of data takes longer than one second.

    The application server downloads files that are not already present on the presentation client from the directories and subdirectories defined by the values of the DownLoadDirectory and FullJadeInstallDirectory parameters in the [environment-type] section. Note, however, that if a file version mismatch is detected, the mismatched files are read from the binary directory on the application server. The currency of any other file required by the JADE thin client (for example, the jadmsgs.eng file) is also checked, using the files in the binary directory on the application server.

    The files downloaded from the directory and subdirectories specified in the DownLoadDirectory and FullJadeInstallDirectory parameters for the specific environment type (for example, in the [i686‑msoft‑win32‑ansi] section) on the application server are copied into the directory and subdirectories specified by the DownLoadDirectory and PreDownLoadProgramDataDirectory parameters in the [JadeThinClient] section of the JADE initialization file on the presentation client. If these parameters are not specified, directories named download and downloadProgramData at the same level as the binary directory containing the jade.exe program on the presentation client are used.

    When the downloading of files is complete, the installation process described in step 5 occurs.

    If any file fails to copy, a message box advises the user of this and prompts the user to abort or retry the download operation. If the user aborts the operation, any partially written file is deleted, the interlock file is removed, and the execution of the JADE application continues as normal. If the user retries the operation, another attempt is made on the file operation, allowing the user to deal with issues such as lack of disk space.

  5. When the files are available for installation, the JADE jaddinst download installation program is initiated, passing all of the information required to complete the installation.

    If the jaddinst installation program was downloaded, it is initiated from a temporary copy of the file in the temp directory so that the file can be copied into the JADE binary directory. If the jaddinst download installation program was not downloaded, it is executed from the JADE binary directory. See also the note at the end of the "Overview" section, earlier in this appendix.

    The original jade.exe process terminates so that the original binary files can be overwritten.

    The jaddinst download installation program performs the following actions.

    1. Takes a backup copy of the files that will be replaced into a directory named backup, at the same level as the work directory that contains the jade.exe program.

    2. Ensures that the files in the original binary directory are not in use. If they are, the user is requested to shut down the processes that use those files.

    3. Copies the downloaded files into the required directories.

    4. Clears the files from the download directories and subdirectories.

    5. Registers with Windows any downloaded files that have the .ocx file type.

    6. Updates the DownLoadVersion or PreDownLoadVersion parameter in the [JadeThinClient] section of the JADE initialization file on the presentation client with the new download or pre-download version from the DownLoadVersion or PreDownLoadVersion parameter in the [JadeAppServer] section of the JADE initialization file on the presentation client.

    7. Removes the interlock file.

    8. If the value of the PostInstallExe parameter for the specific environment specified in the [environment-type] section (for example, in the [i686‑msoft‑win32‑ansi] section) of the JADE initialization file is valid, this program is executed.

      If this parameter does not contain a valid value, a message box advises the user that the installation is complete and that the original JADE application request can now be initiated.

    9. After the latest jade.exe file has been installed on each presentation client, the files installed from the pre‑downloaded directories are deleted if the value of the [JadeThinClient] section RemovePreDownLoadFiles parameter in the JADE initialization file on presentation clients is set to true.

All installation operations are logged into a file named download.log in the work directory of the jade.exe program on the presentation client.

If any file fails to copy, a message box advises the user of this and prompts the user to abort or retry the installation operation. If the user aborts the operation, the installation restores the binaries using the backup copy that it created previously, deletes the interlock file, and terminates. If the user retries the operation, another attempt is made on the file operation, allowing the user to deal with issues such as lack of disk space.

The installation program allows the renaming of the jade.exe program on the presentation client. This is achieved by changing the jade.exe program downloaded from the application server to the name that appeared on the command line originally.