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.
The update process includes the following steps:
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:
The “UPDATES” alias must be manually configured at the host site using Comet's “Edit” menu option “Directory Aliases.” 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 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 file UPDATE.DAT, which is included in the 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 will be presented when the installation pass begins to inquire from the user where the Comet files are located.
Some versions of Comet had a bug that will prevent the automatic execution of the self-extracting “installation package.” For these cases it will be necessary to manually close CometAnywhere and then the user must locate the “installation package” and double-click on it to begin the update.