ActivePatch is a software development kit that enables developers to create their own updates in the
form of a patch, and integrate the patch application process directly into their own software.
Unlike other products, ActivePatch does not simply create incremental updates and re-package the files.
ActivePatch analyzes each file at the byte level, and determines the best method for updating the target
file on the user's system. ActivePatch is designed to work on both text and binary files of any type,
including executables, libraries, data files and documents. ActivePatch can be used
to create a patch of a single file, or can be used to create an update for a complete
product, modifying existing files, removing files that are no
longer needed and creating the new files that have been added.
ActivePatch is available as a standard dynamic link library (DLL) and an ActiveX component, and can be used
with virtually any Microsoft Windows development language or scripting tool. The ActivePatch API is designed
to be simple enough to easily integrate into existing products, as well as offer a great degree of power and
flexibility. ActivePatch comes with sample programs written in Visual Basic and C++, and includes utilities that
simplify the creation and application of patches.
Using ActivePatch has a number of important advantages over the common methods of software re-packaging or incremental updates:
Reduce the size of an update
ActivePatch analyzes the original and updated file at the byte level, generating the smallest size patch file required to perform the update. This results in a significant
reduction in the size of the patch, which translates into lower bandwidth usage, shorter download times and increased reliability.
Faster update creation and distribution
Unlike re-packaging or creating incremental updates, generating a patch does not require the developer to create another program or modify an existing script (such
as an InstallShield installation script) for each update that is released.
Improved technical support and customer satisfaction
With the ability to easily generate patches for updated software, there is no reason to keep customers waiting for the next version. Your customers always have the
latest version of your software, reducing the number of technical support issues for those defects which have already been corrected.
Lowered media and distribution costs
The ability to distribute a small patch, rather than re-packaging the complete product, can significantly reduce the costs associated with creating and shipping media.
In addition, the smaller size of the patch files means bandwidth savings when making the update available for download.
Complete integration with the application
The ActivePatch SDK allows the developer to fully integrate the patching process within the application. This provides the flexibility to implement custom user
interfaces, specialized processing on updated files or any other customization required during the patching process or after the patch has been applied.
Safety and security
The patching process is designed to be completely safe, committing the update only if no problems are encountered during the process. The original and updated file
version, checksum and digital signature (if any) are checked to ensure that the file was patched correctly. A patch may be encrypted so that a password is required
before it can be applied. Because the patch consists only of the changes to a file, it requires that the user actually have the software installed on their system, and can
help protect against illegal distributions of updates for your software.
Support for all file types
Patches are generated by analyzing the original and updated file at the byte level, and will work on all file types including text files, binary data files and executable
Optimal patch file generation
The patch generation algorithm is adaptive, selecting the optimal method for creating the patch based on the contents of the file and the extent of the changes between
the original and updated versions of the file. The developer has the option to generate smaller patches at the expense of speed and memory usage, or minimize memory
usage during patch generation at the expense of the patch size.
Fast patch file application
The patch application algorithm is designed for speed and minimal memory and CPU utilization on the target platform.
Update multiple files and directories
Create patch archives which can be used to update multiple files at once. Directories can be recursively scanned, producing a list of files that have been added, deleted
and modified from the original distribution.
Safe error recovery
A patch is only applied when it has been determined that all updated files have been patched successfully and have passed all validation checks. The patch application
process calculates and verifies CRC checksums for each file, compares file version information and validates any AuthentiCode digital signatures present in object
modules. File deletions may be sent to the Windows recycle bin for easy recovery by the user.
Automatic file backup and logging
Backup copies of the files modified during the patching process can be created, allowing the patch to be rolled back if needed. Activity during the patch application
process is automatically logged in a human-readable text format.
Support for file attributes and permissions
After the patch process has completed, the file's timestamp, attributes and permissions are updated to match the new version of the file. The developer can choose to
ignore these values if required.
Support for shared files
A file can be marked as shared and if it is currently in use, it will be replaced after the next system reboot. If a shared file is added or removed from the system, the
file's reference count in the registry will be updated accordingly.
Support for ActiveX components
When a self-registering ActiveX component is updated, it can be automatically registered after the patching process has completed.
Shopping Cart ||
Site Map ||
Search HALLoGRAM ||
Request More Information
CALL TOLL FREE 1-866-340-3404