-
-
Notifications
You must be signed in to change notification settings - Fork 12
Update other plugins
Starting with version 3.0, EarlyUpdatecheck will offer the ability to update other author's plugins as well.
As this is currently work in progress, there is only a pre-release available which was very limited tested so far.
Updating a plugin requires knowledge about where to download the newest version and - if applicable - how to process the downloaded file.
In some cases, it is possible to download the plgx file right away.
In other cases, it could be a dll file instead of a plgx or it could be a zip file that needs to be extracted, ...
EarlyUpdateCheck has been designed in a way that can support various update procedures.
Example use case: WebAutotype is downloaded as a zip file which contains the file WebAutoType.plgx.
In order to update a plugin, EarlyUpdateCheck needs to know the following:
- Information about a new version => This relies on the already existing KeePass update check
- Place to download the new version from => This depends on the respective plugin and EarlyUpdatecheck needs to be informed explicitly
- Update procedures to use => This depends on the respective plugin and EarlyUpdatecheck needs to be informed explicitly
All required information is read from a file named ExternalPluginUpdates.xml
which has to be placed in the plugin folder.
Please have a look at the KeePass plugin security section section to learn why this location is used.
In addition to my plugins, EarlyUpdateCheck can update all other plugins if ExternalPluginUpdates.xml
contains all required information.
There is no special handling required beside making this file available to EarlyUpdateCheck.
To get started, you might want to use ExternalPluginUpdates.xml
located in folder ExternalPluginUpdates
of this repository. Download it here
Please enhance ExternalPluginUpdates.xml
by adding an UpdateInfoExtern
section.
All fields are mandatory and need to be in exactly this sequence:
- PluginName - Name of plugin as shown in KeePass' update check
- PluginURL - Link to the plugin's homepage, doublicking the entry in the update check will open this page
- PluginUpdateURL - Link to the plugin file itself / the zip file containing the plugin
- UpdateMode - This informs EarlyUpdateCheck how to process the downloaded file, currently supported:
- PlgxDirect - Downloaded file is already the required plgx file
- ZipExtractPlgx - File downloaded from PluginUpdateURL is a zip file which contains the required plgx file
- If required, additional update procedures can be implemented.
If you make EarlyUpdateCheck aware of additional plugins, I would appreciate if you create an issue / a pull request so that other users can benefit from that as well.
If the PluginUpdateURL
is not the same for all releases, following placeholders are suported: {MAJOR}
, {MINOR}
, {BUILD}
and {MINORREVISION}
.
A new plugin version of 1.2.3.4 and an PluginUpdateURL of https://www.example.com/MyPlugin-{MAJOR}.{MINOR}.{BUILD}.plgx
would translate to https://www.example.com/MyPlugin-1.2.3.plgx
The target filename is expected to be MyPlugin.plgx.