This is a known bug of the FusionDebug Setups on Linux and Solaris platforms not saving meta data about the installation in the Java Preferences User Backing Store if the Java Preferences System Backing Store in directory /etc/.java/.systemPrefs does not exist or is write protected.
If the Setup does not detect a previously installed version you can install on top of the existing version to update it.
FusionDebug Setup and FusionDebug itself make use of the Java Preferences API to read and write data about the installation and other parameters from and to the so called Java Preferences Backing Store on the destination computer.
On Windows the location of the Backing Store is in the Windows Registry, on MacOS, Linux and Solaris the location of the Backing Store is typically the file system. The Backing Store itself is made up of a System and a User part that reside in different locations.
On Windows the System Backing Store is located in the registry in [HKEY_LOCAL_MACHINE\Software\JavaSoft\Prefs] whereas the User Backing Store is located in [HKEY_CURRENT_USER\Software\JavaSoft\Prefs].
On MacOS the System Backing Store is a set of *.plist files in the directory /Library/Preferences, the User Backing Store is a set of *.plist files in the directory $HOME/Library/Preferences.
On Linux and Solaris the System and the User Backing Store are a hierarchy of XML files. There can be multiple locations for the System Backing Store. If the directory /etc/.java/.systemPrefs exists and is writable it will be used as the System Backing Store, otherwise the directory $JAVA_HOME/jre/.systemPrefs will be tested. If this directory is writable or can be created it will be used as the System Backing Store. If this does not work no System Backing Store will be available.
The User Backing Store is located in the directory $HOME/.java/.userPrefs.
Depending on the privileges of the user that runs the Setup, data about the installation is stored in one of the two possible places described above. FusionDebug Setup first tries to access the System Backing Store and uses the User Backing Store if it cannot write to the System Backing Store. Due to a bug in a third party API which is used by the FusionDebug Setup this does not work correctly on Linux and Solaris.
Comments are closed.