You can install a plug-in by importing the plug-in's JAR file. You can update a plug-in by importing a JAR file that contains just the contents needed to update the plug-in. This type of JAR file is called a patch and should be identified as a patch on the download site.
Patch Characteristics
Patches can be applied in series to upgrade multiple versions.
For example, to upgrade from the 1.0 version to the 1.2 version of a plug-in, first the 1.0 -> 1.1 patch is applied, followed by the 1.1 -> 1.2 patch.
Patches can be created to upgrade from a specific plug-in version to a higher specific version.
It is not possible to create a patch to upgrade from any arbitrary version to a higher version.
Patches can only add content to a plug-in.
Objects created by any version of an plug-in cannot be deleted.
Patches cannot be uninstalled.
To remove patch content, you can delete the plug-in and reinstall the older plug-in version. The provisioning system does not store older versions of a plug-in.
When you upgrade a plug-in, the patch adds new and updated objects to the provisioning system. If a plug-in patch attempts to add an object that already exists by the same name, two outcomes are possible.
The object is updated with a new version number.
If the object is a versioned object, the new object's minor version number increments unless the plug-in definition requires the object to increment by major versions.
The object overwrites the existing object.
If the object is a non-versioned object, the new object replaces the previous definition of the object.
In both the versioned and unversioned cases, the existing object must have been created by a prior version of the plug-in that is attempting to create the new version of the object.