JDK-8017218 : REGRESSION:Fail to detect Java after upgrade to 7u25 on IE (PnP fails to register plugin in IE)
  • Type: Bug
  • Component: deploy
  • Sub-Component: plugin
  • Priority: P2
  • Status: Closed
  • Resolution: Fixed
  • OS: windows_7
  • CPU: x86
  • Submitted: 2013-06-20
  • Updated: 2014-02-12
  • Resolved: 2013-07-13
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.
7u40 b34Fixed 8Fixed
Java Version:

OS version:
     Operating System: Windows 7 Enterprise 64-bit (6.1, Build 7601) Service Pack 1 

    Reproduced on IE8, may apply to all versions of IE. 

    Attempted to launch a game with an unauthenticated user on IE8 by visiting:


    Only having a problem on IE8, works fine on IE9 and 10.

Clicked ���Start Game���


Clicked ���ok��� on this IE popup

After about a minute of waiting for the game to load. The game never loads. This error screen appeared.

IE appears to not have Java installed even though the 7u25 install completed without errors. Applets/games will run on other browsers on the system (Chrome/FF), just not IE. 
justification: we need this for patch in place to work in 7u40

SQE-OK to get this issue fixed for 7u40

Workaround: Reinstall 7u25 By downloading (if needed) and reinstalling 7u25, the correct registry vale is set and IE can then correctly load the plugin. Click 'yes' on the ".. this is already installed.. install again?" dialog. Download if necessary from java.com: https://java.com/download

I don't think deploy code should be aware of _patch at all. Install should call registerdeploy only when all files are ready and in place. We need discussion with install team on what's the correct fix.

Problem only happens when you do patch in place upgrade from 7u21 to 7u25. It needs to 7u21 FCS b11. And 7u25 online installer. Problem is during patch in place case, when RegisterDeploy is called, there is this file: C:\Program Files\Java\jre7\bin\jp2ssv_patch.dll RegisterDeploy needs to call into jp2ssv.dll for setting various dynamic/static CLSIDs. And in the registerdeploy code, we have code to load jp2ssv.dll, which checks for: // See whether jp2ssv_patch.dll exists in this JRE _sntprintf_s(temp, BUFFER_SIZE, _TRUNCATE, _T("%s\\jp2ssv_patch.dll"), deployHomeBin); struct _stat s; if (_tstat(temp, &s) < 0) { // See whether jp2ssv.dll exists in this JRE _sntprintf_s(temp, BUFFER_SIZE, _TRUNCATE, _T("%s\\jp2ssv.dll"), deployHomeBin); So in this patch in place case - we loaded jp2ssv_patch.dll. Later in the jp2ssv code - it tries to locate it's own loaded module path, but it only checks jp2ssv, not jp2ssv_patch: if (GetLoadedModuleDirectory(_T("jp2ssv.dll"), FALSE, moduleDirPath, BUFFER_SIZE) == FALSE) { if (GetLoadedModuleDirectory(_T("ssv.dll"), FALSE, moduleDirPath, BUFFER_SIZE) == FALSE) { // should not happen return; } } And that's why we simply returned, because only jp2ssv_patch.dll is loaded, and failed to continue to correctly get the latest JRE version and set the TreatAs key correctly.

Reproduced on Win7 x64, IE8

* Tried on x86 Vista(sp2)/public 7u25/ IE 8 (8.0.6001.19418) - java.com detection applet worked as expected - pogo RISK applet game and their pogo com.pogo.client.jvmtest.Applet detected 7u25 properly * x86 XP/IE 8 tested earlier and did not find this issue with pogo games