User ends session B, which overwrites the changes to user preferences written by session A. User ends session A, which writes its working copy to the persisted user preferences. User begins session B, which uses a copy of the same persisted user preferences copied by session A. User begins session A, which uses a copy of the persisted user preferences. Sequence of starting and stopping sessions becomes important. Knowing this, it is easy to imagine scenarios where the The working copy is used during the session and when the session ends, the working copy is written back to the persisted user preferences. This is done by making a working copy of the persisted user preferences when a session starts. Manage user preferences for each session separately so that changes to user preferences in one session do not affect other running sessions. In fact, this is necessary when running certain features such as the Production Facility. We allow users to run multiple sessions of the same version of our application simultaneously. Installers know nothing about user preferences.
Even for the same Major.Minor version, installing and uninstalling will not add, remove or modify user preferences. Registered COM interfaces used for Scripting but these are not user preferences. Installing an additional version of our application will affect There is no interaction of preferences between versions. Preferences for different Major.Minor versions of our application are stored separately. Java has APIs that manage user preferences and those are what we use.
Regardless, we do not read or write directly to the Windows registry. On other platforms they are stored differently. On Windows platforms, Java stores user preferences in the Windows registry. IBM SPSS Statistics is a Java application and user preferences are stored as Java user preferences. To explain why this behavior can happen sometimes for some users we need to first explain how Statistics store user preferences.