Upgrader is a simple tool that enables Java developers to add software upgrade capability into their applications. An upgrade process typically involves replacing the old version of the binaries with a new version of the binaries and performing data upgrades. It may also need to perform changes to the directory structure. The data upgrade outlined above may involve changes to the configuration files or database. This tool provides a framework which application developers can use to keep track of changes to the application. Every time there is a change in the database schema or configuration files, the application developers can create a "patch" script and add it to the "patch list". The Upgrader tool may be bundled with the application and is typically invoked during the installation and upgrade processes. When it is invoked, it determines the current patch level of the system, determines the patch scripts that need to be executed, sequences the patch scripts, and applies them.