Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8101361

Runtime installer must support "repair mode" for when same version already installed

    Details

    • Type: Enhancement
    • Status: Closed
    • Priority: P2
    • Resolution: Duplicate
    • Affects Version/s: fx2.0.2
    • Fix Version/s: fx2.1
    • Component/s: install

      Description

      There are a number of problems that users are encountering with the JavaFX runtime install, for example:

      * Various sequences of JRE and FX installations leave the system in a state where it thinks FX is installed but it either isn't or the installation is inoperative.
      * The SDK installer will not install the matching runtime if *any* version of the runtime is installed

      These cases would be addressed by modifying the behavior of the FX RT installer so that:

      If any version of the RT is already installed it will:
        a. attempt to uninstall it
        b. if the uninstall fails it will forcibly install the requested version

      This should work for upgrade and re-install cases. It is not required that it work for downgrade cases.

      No additional UI is required for 2.0.2, if the UX team feels this would improve the experience it can be added in a future release.

      --------------------------------Here is the new description of what this CR is------------------------------------------
      Sometimes the FX Runtime gets installed and the user is unable to uninstall it. For instance:

      Scenario 1: User installs FX Runtime, deletes the install dir. Uninstaller breaks because it can't find fxreg.exe
      Scenario 2: User installs as one person, logs in/out back as different user, can't find add/remove programs entry as new user
      Scenario 3: Some unknown mystery error

      If you run a version of FX Runtime installer, say 2.0.2, when they already have 2.0.2 installed...It will just say "you already have this version installed". It is expected that the user should go to the add/remove programs panel to properly uninstall, and then re-run the FX Runtime...if they want to reinstall.

      The FX group is asking for a new repair feature, where instead of saying "you already have this version installed", it will go and detect if the pre-existing FX Runtime is corrupted in some way and fix it. First off, there are many ways a FX Runtime can be corrupt. It could be registries missing, files missing, MSI caching issues. This would first be a huge project to just go and detect if and how a pre-existing FX Runtime is corrupt. The development and testing of this feature would be several weeks.

      Let's say we can implement the corrupt detection. We will then will need to add a "repair" feature to the FX Runtime installer. This is not trivial at all. There are MSI caching issues for MSI's that can't properly uninstall themselves. We would need a significant MSI rewrite to be able to support repair mode, that would take dev/sqe another several weeks to develop. We've also never supported a repair feature like this before, so there are also risks/unknowns.

      Note that we do not have this feature for the JRE yet. If the user can't uninstall, they are stuck. I don't think this is a reasonable feature for an update release such as 2.0.2. It would be better to look further into the actual reported users that are having the issues (both internal and on forums), and figure out what the problem is and address it.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                billyh William Harnois
                Reporter:
                jmcglynn Joe Mcglynn (Inactive)
              • Votes:
                1 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:
                  Imported: