JDK-8030124 : Uninstall JRE 8 - Java Access Bridge can no longer be enabled from Win Control Panel
  • Type: Bug
  • Component: install
  • Affected Version: 8
  • Priority: P4
  • Status: Resolved
  • Resolution: Duplicate
  • OS: windows_7
  • CPU: x86_64
  • Submitted: 2013-12-13
  • Updated: 2015-03-03
  • Resolved: 2014-10-12
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 8
8u40Resolved
Related Reports
Duplicate :  
Duplicate :  
Relates :  
Relates :  
Description
With JRE 7u45 installed, install 8 b120, uninstall 8 b120.  Select Control Panel, Ease of Access, Ease of Access Center, Use the computer without a display.  The Other programs installed section at the bottom of the panel no longer has the check box to enable the Java Access Bridge.  Since that existed when 7u45 was installed it should still be there when 8 is installed and removed.
Comments
Maybe it's too late to make edits but I found the text hard to understand. I tried this rewording: ===== Area: Install Synopsis: Java Access Bridge can be enabled from the Ease of Access Control Panel for 32 bit JREs. In Java 8 in versions prior to 8u40 an error existed as a result of uninstalling the 64 bit JRE under these conditions: - A 32 bit JRE was installed; the Windows Ease of Access Control Panel was updated to include a checkbox to enable the Java Access Bridge - The user installed and then uninstalled 64 bit Java 8 JRE In this scenario the check box on the Ease of Access Control Panel allowing the Java Access Bridge to be enabled was removed, although it should have been remembered that it had been installed by the prior install. This issue has been resolved in version 8u40. ===== Was there an issue with 64 bit 8u20 installed on top of 32 bit 8u20? I am guessing so based on your text; otherwise the text of the first bullet should be narrowed to specify that as follows, "A Java 7 32 bit JRE ..."
03-03-2015

Results of today's testing: Starting with all JREs uninstalled (though some were installed prior to these tests), there is no JAB checkbox and the registry looks like the following even though I assumed it would be empty of JAB keys: This key: HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Accessibility\Configuration with this value: oracle_javaaccessbridge and this key: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Accessibility\ATs\Oracle_JavaAccessBridge with appropriate values and this key: HKEY_USERS\S-1-5-21-224081250-636904985-4222325675-1001\Software\Microsoft\Windows NT\CurrentVersion\Accessibility with this value oracle_javaaccessbridge After installing 7u60 32 bit the registry had this new key HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Accessibility\ATs\Oracle_JavaAccessBridge with appropriate values and this new key HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Accessibility\Session1 with this value: oracle_javaaccessbridge Apparently that last key is what causes the activation of the JAB checkbox. These are the results of various installs: 7u60 32bit install: checkbox is there and checked // Notes 1 and 2 uninstall: checkbox is gone 7u60 64bit install: checkbox is there and checked // Notes 1 and 2 uninstall: checkbox is gone 8u20 b19 32 bit install: no checkbox // What I expected uninstall: no checkbox 8u20 b19 64 bit install: checkbox is there and checked // Notes 1 and 2 uninstall: checkbox is gone 9 b18 32 bit install: no checkbox // What I expected uninstall: no checkbox 9 b18 64 bit install: checkbox is there and checked // Notes 1 and 2 uninstall: checkbox is gone 7u60 32bit install: checkbox is there and checked // Notes 1 and 2 and 3 8u20 b19 32 bit install: checkbox is there and checked uninstall: checkbox is there and checked // 8030124 (this bug) is gone; restored to 7u60 state uninstall: checkbox is gone 7u60 64bit install: checkbox is there and checked // Notes 1 and 2 and 3 8u20 b19 64 bit install: checkbox is there and checked uninstall: checkbox is there and checked // 8030124 (this bug) is gone; restored to 7u60 state uninstall: checkbox is gone Notes: 1) This behavior might not appear on a clean machine. In my case JREs had been installed, but none at the time of the test. 2) At least for a clean machine the checkbox should not be checked at first install. The user should do this (because very few users will need the JAB and thus the JAB overhead would be eliminated). For a "dirty" machine (some JREs were installed prior to this) with no JREs currently installed proper behavior probably is to require the user to recheck the checkbox, but I can see how users would want the installer to remember that at some point in time the checkbox had been checked and so should be checked again even though there were no JREs installed at the time of the new install. 3) For this test I would have checked the checkbox if it had not already been checked.
23-06-2014

Pete, in general, these results match with the ones I sent you via email (copy-pasted below). Here are my findings after installing JRE8 64 bit , JRE8 32 bit, and 7u45 32 bit each on a clean system: 1. 8 64 bit (check box present at Windows Control panel ): I didn't see any 'HKEY_CURRENT_USER\Software\Microsoft\WindowsNT\CurrentVersion\Accessibility\Configuration' key there. It did create 'HKEY_CURRENT_USER\Software\Microsoft\WindowsNT\CurrentVersion\Accessibility\Session1\Configuration', however oracle_javaaccessbridge was not present. 2. 8 32 bit (check box not present): The Session1/Configuration key as created for 64 bit was not present after a 32 bit install. 3. 7u45 32 bit (check box present): However Session1/Configuration was not created in this case It looks like 8 onwards, check-box does not appear when a 32 bit JRE is installed. I looked into the JAB related install source and didn't see check-box at Windows Control Panel being shown from install source. Is this implementation a part of jdk source?
23-06-2014

Glad you were able to repoduce it Avani! Also, to answer your question, in all cases the jre was installed as part of the jdk installation.
17-12-2013

Thanks Pete, I was able to reproduce this issue with the steps you suggested: installed 7u45 32 bit sdk, then 7u45 64 bit sdk, then uninstalled 7u45 64 bit jre (to get back to the state I was in before), then installed 64 bit 8 b120 sdk, the JAB control panel entry was there, then uninstalled the 8 jre, the JAB control panel entry was gone. I noticed 'Enable Java Access bridge' check box was gone as soon as 7u45 64 bit jre was uninstalled. So it doesn't identify 7u45 32 bit jre still exists after 64 bit uninstall. This seems to be a corner case and not reproducible always. I will investigate further for the root cause and suggested fix for 8u20.
17-12-2013

Thanks for the log. Was 7u45 32 bit sdk installed with public jre or without public jre in the above scenario?
17-12-2013

I uninstalled 8 (64 bit) and all 7u45s. I installed 7u45 32 bit sdk, then 7u45 64 bit sdk, then uninstalled 7u45 64 bit jre (to get back to the state I was in before), then installed 64 bit 8 b120 sdk, the JAB control panel entry was there, then uninstalled the 8 jre, the JAB control panel entry was gone. I'll upload jusched.log for the above.
17-12-2013

Not sure why 'Enable Java Access bridge' check box is getting removed when the 7u45 key correctly exists. It shouldn't. I tried on a couple more Win7 64 bit OS machines but no luck reproducing this issue. Could you please share jusched.log from your tests? That might help me in investigating if it's an issue in a particular scenario or with test environment.
16-12-2013

Found the 32 bit key - and it looks good, i.e. there are keys for 1.7 and 1.7.0_45, the later which has an MSI subkey with FullVersion 1.7.0_45-b18 and PRODUCTVERSION 7.0.450 Side note, in the 32 bit JDK entry there is: key 1.4 JavaHome points to 32 bit 7u25 (which isn't installed)
16-12-2013

The reg key location for 32 bit JRE would at the following path: Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\JavaSoft\Java Runtime Environment For 64bit JRE, it would at: "Computer\HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment"
16-12-2013

Reinstalling 32 bit 7u45 JRE doesn't add a JRE key. I also tried reinstalling that JRE via the 32 bit JDK.
16-12-2013

No 7u JRE registry keys seems to be causing issue. When 8 is uninstalled, the installer thinks that only 6u45 is remaining on the system and hence JAB support is not required.
16-12-2013

This is on my own dev machine so lots of SDKs and JREs have been added/removed/updated. Here's what's on it now: JREs: 64 bit 6u45, 32 bit 7u45, 64 bit 8 b120 SDKs: 64 bit 6u45, 32 bit 7u45, 64 but 7u45, 8 b120 The registry key has CurrentVersion 1.8, Java6FamilyVersion 1.6.0_45, Java8FamilyVersion 1.8.0. Also there are subkeys for 1.6, 1.6.0_45, 1.8, 1.8.0. There is an MSI subkey under 1.6.0_45 and 1.8.0. One thing that is interesting is that the 1.6.0_45 key has BuildNumber 120 but its MSI subkey has FullVersion 1.6.0_45_b06 while the 1.8.0 key also has BuildNumber 120 and its MSI subkey has FullVersion 1.8.0-ea-b120. Another interesting point is that there are no 7u JRE keys in the registry. That may be the issue. I'll reinstall 7u45 and see if the key is installed.
16-12-2013

Thanks for the update. Regarding the original issue, I tried reproducing it on a few Win7 64 bit test machines with the steps as below: 1. Install JDK 7u45 32 bit with public JRE. 2. Install JDK 7u45 64 bit WITHOUT public JRE. 3. Install JDK 6u45 64 bit with public JRE. 4. Install JRE8 32 bit. 5. Uninstall JRE8 32 bit. The 'Enable Java Access bridge' check box remains as is after JRE8 uninstall (step 5 above) for me. It would disappear only if 7u45 32 bit is removed which is expected because JAB is not supported by 6u45. Is there anything I am missing in the steps above? Or is it possible that the test machine where this issue was seen is not clean? My suggestion would be to uninstall all the JREs/JDKs and make sure the "Computer\HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment" registry key is clean before trying this scenario again. The installer fetches Java version from this registry location and checks if the existing jre is >= 7u6. JAB is supported only if the existing JRE is newer or equal to 7u6. If, for some reason, the registry was not cleaned properly from previous installs/uninstalls, it might lead to installer fetching wrong java version which could cause JAB not being supported when it should be. Please let me know if its possible to remote login to the test machine where this issue was seen? If yes, I'll try to login and reproduce this issue.
16-12-2013

Yes, that was at a 64 bit prompt. Switching to the 32bit prompt did result in 7u45 being reported. (Thanks for the tip about how to bring up a 32 bit prompt.)
16-12-2013

I think you are probably on a 64 bit windows command prompt (default prompt on 64 bit windows) and that's why java -version shows 6u45 which is the only 64 bit JRE present on the system. Please try switching to 32 bit cmd prompt by running c:\windows\syswow64\cmd.exe on the command line. On a 32 bit prompt, java -version should show 7u45. If it still shows 6u45, there is something wrong and we need to investigate this further.
16-12-2013

I installed 8 and it was there. Then I uninstalled 8 and it was gone. 7u45 32 and 64 bit JDK plus 7u45 32 bit JRE were installed at the time of the 8 b120 install/uninstall. The other installs on the system are 6u45 64 bit JDK and JRE. Interesting that java -version shows 6u45 so apparently 6u45 64 bit JRE trumps 7u45 32 bit JRE on a 64 bit W7.
13-12-2013

Is the "enable Java AccessBridge" checkbox removed only after 8 is uninstalled or immediately after 8 is installed?
13-12-2013

If the user had enabled accessibility via 7u45 they probably aren't going to try to enable it again after uninstalling 8. Uninstalling doesn't disable accessibility, i.e. the lines in c:\Users\<name>\.accessibility.properties are not modified as a side effect of the uninstall.
13-12-2013

8-defer-request justification: Not a stopper, P3. Not a regression.
13-12-2013

This may be a duplicate...Avani, please check.
13-12-2013