CAUPDATE Utility Program
CAUPDATE is a Comet utility program that facilitates the automatic updating of remote CometAnywhere systems. CAUPDATE provides a convenient way to update the COSW and COSP programs (and related DLL files) on the remote system. Updating is accomplished when CAUPDATE copies a file from the Comet host system to the CometAnywhere remote system. This file is called the “CometAnywhere installation package,” and is a self-extracting file available from Signature’s download site.
a. The CometAnywhere remote user signs onto the Comet host system and runs the CAUPDATE utility program
b. CAUPDATE displays the following prompt:
Which version of CometAnywhere do you wish to install (270, 271, etc.)?
The user’s response defines the name of the installation package on the Comet host computer. For example, if the user’s response is 312, the file name is CAUpd312.exe.
c. The CometAnywhere installation package is then transferred from the Comet host computer to the remote computer.
d. Once the transfer is complete, the self-extraction process is initiated and CometAnywhere is forced to disconnect from the host computer.
e. When the self-extraction is complete, a standalone utility, COSUPD.EXE, begins execution.
f. COSUPD creates a backup folder and backs up the files that are to be updated.
g. When the backup stage is complete, COSUPD copies the new files to the target location.
h. Having successfully completed all of the previous steps, COSUPD then restarts CometAnywhere to re-establish the initial connection to the Comet host system.
The process of transferring the “installation package” is performed using the Internet Basic mnemonic:
(VerifyFile = <hostfile>, <clientfile>, <checkflags>)
This mnemonic first checks to see if the hostfile is newer than the clientfile. If the hostfile is newer, then a file transfer is automatically started.
If the clientfile is already up-to-date or once the file transfer has completed successfully, CAUPDATE issues a remote ShellExecute command (Launch = <commandline>) specifying the path and name of the “installation package.” Once the ShellExecute command has been issued, CometAnywhere is then forced to disconnect so that the executable files can be updated.
The disk location of files used by CAUPDATE is determined through the use of directory aliases (see Directory Aliases for more details). A directory alias is a short name for a file path. The alias is resolved to its full path only at the point where it must perform a file system function. This allows a remote CometAnywhere user to designate any folder he or she pleases as the location for a file specified using an alias. For the purpose of CAUPDATE, there are two directory aliases being used:
· At the host computer site the alias “UPDATES” is used to indicate the location of files available for updating.
· At the remote site, the alias “INSTALL” is used to indicate the location of files downloaded for installation.
The “UPDATES” alias must be manually configured at the host site using Comet's EditàDirectory Aliases menu option. It is in this folder that any files to be made available for updating by CAUPDATE must be placed.
The remote “INSTALL” alias will be automatically created if it does not already exist. Any aliases that are automatically created at the remote site will be located in a folder called “CAFiles” which will be located below the installed Comet directory (e.g. C:\Comet\CAFiles\Install).
The self-extracting “installation package” contains several files. In addition to the Comet files to be updated (e.g., COSW, COSP, etc.), the package includes the file UPDATE.DAT, which contains two lists of filenames, one for backup and one for installation. The COSUPD.EXE installation utility program is also included in the package, and is automatically executed once the installation package has been extracted.
The installation process begins when the installation package has been extracted and the standalone utility COSUPD.EXE begins execution. COSUPD begins by loading the tables contained in the UPDATE.DAT file, which is included in the installation package. UPDATE.DAT is a text file containing two lists: a list of files to backup and a list of files to install.
COSUPD then creates a unique sequentially named folder to contain the backed-up files. During the backup process it is possible that one or more files will not be available because they are still open. This could be because there are multiple CometAnywhere sessions open on the client computer or there are other network users running from the same executable file. In either case COSUPD will wait for the files to become exclusively available at which time they will be moved to the backup folder.
The COSUPD window shows the status of the current operation and the name of each file as it is being processed. As the file most likely to be unavailable is COSW.EXE, it is the first file in the UPDATE.DAT list, allowing continued use of other Comet files until all instances of COSW are closed. Upon completion of all specified backups, COSUPD copies all of the files contained in the update list to the Comet executable folder.
Upon completion of the update pass, COSUPD restarts COSW using the last known command line parameters.
For security reasons, CometAnywhere contains logic to prevent the inadvertent launch of executable files at the remote site. If an attempt is made to launch such a file, a dialog is presented to the user to verify that it is okay to “open” (execute) the file. The user must press the “Open” button to continue the installation. A checkbox on the dialog allows the user to indicate that, in the future, it will always be okay to execute this file type. This default behavior can be eliminated by making the following entry in the COSW.INI file at the remote site:
Versions of CometAnywhere prior to Build 266 do not record the location of the installed Comet files nor do they record the startup command line parameters. For these installations a dialog is presented when the installation pass begins to inquire from the user where the Comet files are located.
Some earlier versions of Comet had a bug that prevents the automatic execution of the self-extracting installation package. For these cases it is necessary to manually close CometAnywhere and then the user must locate the installation package and double-click on it to begin the update.