JDK-6625173 : Verify whether downgrade uninstallations work
  • Type: Bug
  • Component: deploy
  • Sub-Component: plugin
  • Affected Version: 6u10
  • Priority: P2
  • Status: Closed
  • Resolution: Fixed
  • OS: windows
  • CPU: generic
  • Submitted: 2007-11-02
  • Updated: 2010-09-08
  • Resolved: 2008-02-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.
6u10 b09Fixed
Related Reports
Relates :  
Relates :  
We need to double-check the code added for support of the new Java Plug-In in the installer and verify that it handles the following scenario correctly:

1. Install a version of the JRE supporting the new Java Plug-In.

2. Install a later version of the JRE supporting the new Java Plug-In.

3. Uninstall the JRE from step (2).

The jp2ssv.dll from the install in step (1) should still be registered as a browser helper object.

In the current installation code, the logic which determines whether to re-register ssv.dll from the latest remaining JRE on the system during uninstallation has a hardwired version string ("1.5.0_06") in it -- the first version supporting SSV. Ideally we could do something more general like checking to see whether bin/jp2ssv.dll is present in the last remaining JRE and if so registering it as a browser helper object.

This logic may already be in place, but we need to verify.
The code is definitely not correct as written. The block of code in UnregCurrentVersionKeys (RegInstall.cpp) is guarded with an #ifdef NEW_PLUGIN_IS_DEFAULT. This needs to be changed to universally unregister the browser helper object. The code in RegCurrentVersionKeys which registers jp2ssv.dll needs to do so only if the target JRE actually contains this DLL.

SUGGESTED FIX http://sa.sfbay.sun.com/projects/deployment_data/6u10/6625173.0

EVALUATION Removed hardcoded unregistration of the new plug-in's SSV browser helper object. Replaced it with a check to see whether the latest JRE on the machine contains this browser helper object; if not, it removes its associated registry key. Tested by downgrading to both an unmodified 6u3 as well as a 6u3 with jp2ssv.dll manually copied in to it. Verified that registry key was removed or retained correctly. Verified proper operation of 6u3 plugin after downgrading to an unmodified 6u3. No other test case.

EVALUATION This issue is related to 6635186 and 6581221 and depends on 6635186. We need a more robust detection mechanism for determining when to register and unregister the browser helper objects and broker processes. At that point the needed changes for this bug can be made.