As you probably know installing and uninstalling Java extensions (“plugins”) into the Lotus Notes client is easy using either File >> Application >> Install, File >> Application >> Application Management or the widget catalog. Sometimes however this doesn’t work and you’ll have to resort to a manual uninstall. This blog post outlines the way to perform a manual uninstall.
We have to start with some basics though. A Java extension in Lotus Notes (also known as a “plugin”) consists of two things:
- Eclipse plugin(s)
The plugin is where the actual code and functionality is stored together with additional resources such as images, string translation etc.
- Eclipse feature
The feature is what’s actually installed from a Lotus Notes perspective. The feature points to the Eclipse plugins that provides the actual functionality. It’s almso important to note that a single feature may reference multiple plugins.
Both an Eclipse plugin and an Eclipse feature are represented in the file system as JAR-files (files with an extension of “JAR”) and both of them are kept in the file system. A JAR-file is just a fancy ZIP-file with a predefined folder structure. Eclipse Features and plugins are stored in two directories beneath your Notes data directory (<Notes data dir.>/workspace/applications/eclipse/features for the features and <Notes data dir.>/workspace/applications/eclipse/plugins for the plugins).
From the above it may seem obvious that simply deleting these files will uninstall a Java extension – unfortunately there’s a final piece to the puzzle. Lotus Notes also keeps a record of what’s installed in a file called platform.xml (stored in <Notes data dir>workspace.configorg.eclipse.update). Simply deleting the feature(s) and plugin(s) may seem to work but will misbehave for instance when activating the File >> Application >> Application Management interface. The solution is to edit this file as well.
The complete steps to manually uninstalling a Java extension is therefore as follows:
- Close Lotus Notes
- Open the “features”-directory (<Notes data dir>workspaceapplicationseclipsefeatures)
- Locate the Eclipse features to uninstall.
- For each Eclipse feature you need to open it and edit the feature.xml file. Locate the <plugin>-tags and fine the names of the referenced plugins. Note that there might be more than one. Combining the plugin id and the plugin version will give the full filename of the plugin (<plugin id>_<plugin version>.jar).
- Delete the Eclipse features you’re uninstalling.
- Open the “plugins”-directory (<Notes data dir>workspaceapplicationseclipseplugins).
- Delete the plugin JAR-file(s) you recorded in the step above.
- Open the directory containing the platform.xml file (<Notes data dir>workspace.configorg.eclipse.update).
- Edit platform.xml and go to the end of the file.
- Remove each entry you see for the features you deleted in the step above.
- Save and close the file.
- Since Lotus Notes also keeps a record of which Java extensions to load it’s best to start Notes with some parameters to make it recompute the Java extension registry: notes.exe -RPARAMS -clean
Let me know if the above doesn’t work for you.
Please note: Manually uninstalling a Java extension installed via a widget descriptor via a widget catalog/policy will probably just make it reinstall once uninstalled.