Upgrader is a simple Java-based tool that enables applications developers to add software upgrade capability into their applications. An upgrade process typically involves replacing the old version of the binaries with 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 and/or database changes if the application uses a database. This tool provides framework using which application developers can 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/upgrade. When it is invoked, it determines the current patch level of the system, determines the patch scripts that are needed to be executed, sequence the patch scripts and apply them.