Manually uninstalling plug-ins in iManager 2.5

  • 7006125
  • 25-May-2010
  • 26-Apr-2012

Environment

Novell iManager 2.5

Situation

Uninstalling plug-ins does not remove the plug-in from the Installed Novell Plug-in Modules list
Manually uninstalling plug-ins in iManager 2.5
Manually removing plug-ins in iManager 2.5

Resolution

iManager 2.5 now has the ability to uninstall plug-ins that have been previously installed.  When the plug-in is installed initially, InstallAnywhere creates a registry of where the files are located so that it knows which files to remove during the uninstall.

However it is possible for this registry to become corrupt, thus making it impossible to remove the plug-in through the uninstall feature in iManager 2.5.  To manually uninstall a plug-in on an iManager 2.5 box, you must do the following.

Whenever you need to delete a plug-in, make sure that you first verify whether you have a Role Based Service collection object in the tree that the iManager server is using.  You may also have to delete the the RBS module that is associated to the plug-in that you are uninstalling.  However please be aware that by deleting the RBS module, it affects ALL iManager servers that are using that specific collection.  If you manually remove the files from the local iManager instance but leave the RBS module in the collection you may see an error message after you log back into iManager stating that some of the Roles and Tasks are not installed.  This message will continue to appear until you either delete the RBS module or until you reinstall the iManager plug-in

For our examples below, we will use the variable %TOMCAT_HOME% for the location of the webapps directory.  On a normal installation, the webapps directory is located in the following places:

NetWare:  SYS:\TOMCAT\4
Windows:  C:\Program Files\Novell\Tomcat
SUSE Linux/Solaris:  /var/opt/novell/tomcat4/
Mobile iManager:  \imanager\tomcat\

A *.npm plug-in file is simply a zipped file that contains mostly java files.  You can open a *.npm file or extract a *.npm file manually using a zip utility such as Winzip.  In order to manually remove a plug-in, you need to manually remove all of the files that the *.npm lays down during installation.  The easiest way to get a listing of these files is to open the *.npm in a zip utility.  However, some of these *.npm are rather large and can contain thousands of individual files that are copied to the iManager instance.  However, most of these files go into a set of directories specific to that plug-in.  So, rather than having to manually delete 1,000+ files, you only need to delete between 3-5 directories and possibly a few .jar files.

If you extract a *.npm file to a local workstation, it creates a couple of servlet directories that map to the following locations:

The currentwebapp directory maps to the %TOMCAT_HOME%\webapps\nps directory
The currentmodule\jsp OR the compiledjsps directory maps to the %TOMCAT_HOME%\work\Standalone\localhost\nps directory
The meta-inf\ directory maps to the %TOMCAT_HOME%\webapps\nps\WEB-INF\modules\<plugin_name_dir>

You will also notice that most plugins create a directory for themselves and give that directory a similar name to the plugin.  For example, the pki.npm plug-in creates a directory called PKI in the webapps\nps\portal\modules directory.  In the examples below, we will use <plugin_name_dir> in the place of this directory.

Below is a list of the most common file paths you'll want to check:

\tomcat\work\Standalone\localhost\nps\portal\modules\<plugin_name_dir>
\tomcat\webapps\nps\portal\modules\<plugin_name_dir>
\tomcat\webapps\nps\WEB-INF\modules\<plugin_name_dir>   (This is where the MANIFEST.MF file is located and must be deleted)
\tomcat\webapps\nps\WEB-INF\lib\<plugin_jar_file>
\tomcat\webapps\nps\WEB-INF\classes\com\novell\nps\modules\<plugin_name_dir>

Some plug-ins will also place files in directories outside of the tomcat directory.  For example, the iPrint.npm plug-in places several files in the SYS:SYSTEM directory on a NetWare server.

One other directory you will need to delete is the UninstallerData directory for the specified plug-in.  The UninstallerData directories are located at:

\tomcat\webapps\nps\UninstallerData\Uninstall_<plugin_name>

It is possible that after doing all of the above, the ability to uninstall the plug-in is still not possible.  You can try deleting the ZeroG registry file that may have become corrupt.  The ZeroG registry file is called .com.zerog.registry.xml and is normally located in the following places:

NetWare:  SYS:\
Windows:  C:\Program Files\Zero G Registry\
SUSE Linux: \var\
Mobile iManager:  not applicable

Once all of the above had been completed, you may attempt to reinstall the plug-in..

Additional Information

The InstallAnywhere registry has been corrupted
The UninstallerData is corrupt
Plug-in files have been manually modified since they were originally installed.
Formerly known as TID# 10096957
Formerly known as TID# NOVL101371