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.