ActivePatch Developer's Guide - Deployment

After a patch file or package has been created, it must be deployed to a target system and applied. There are several options available:

Physical Media

The patch may be distributed on physical media, such as a diskette, a Zip disk, or a CD-ROM. This solution could be used in those cases where the target system does not have access to the Internet or the corporate network where the update could be downloaded.

Local Network

In those cases where a patch is distributed over a local network, the patch or package files can be placed in a shared directory and accessed directly by the application. ActivePatch supports the use of Universal Naming Convention (UNC) paths, as well as the use of shared volumes mapped to drive letters. An application could be written to simply search a predefined, shared network directory for updates and automatically apply them when a new update has been made available.

Internet Download

The patch may be made available for downloading over the Internet. Typically, one of two general approaches may be used in this case. The user could be provided with a link to the patch file which they would download to their local system. They then would instruct the application to load and apply the downloaded patch to the software. Another approach is for the application to download the patch file itself using one of the standard Internet protocols for file transfer. The first method is simple to implement, however it requires that the user perform additional steps such as storing the file in a specific location or explicitly instructing the application to search for and apply the patch. The second method is more complex but allows the patch application process to be largely invisible to the end-user. In this case, a library or component which supports the FTP and/or HTTP protocol would be needed to actually perform the file transfer to the local machine. The ActivePatch component would then be used to automatically perform the update. Any third-party component or library which provides an implementation of these protocols may be used including SocketTools (which includes both an FTP and HTTP component).

Electronic Mail

In addition to direct downloads over the Internet, patch files or packages may be encoded and attached to e-mail messages. Because patches are typically much smaller than compressed archives (such as Zip or cabinet files), e-mail delivery may often be practical, particularly for those updates that are made on an individual basis to end-users. Similar to providing a link to a patch or package file, this method of deployment is simple, but requires that your users take additional steps such as extracting the attachment from the e-mail message.

The method that your application uses for deployment depends on the specific needs of your software and your end-users.