Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

IE 11 can't find Java Plugin to run Applet

I have application build with Java Applets, which works fine for Windows 7 with IE 9. Now I'm trying move it to another environment. There is Internet Explorer 11.

To run applet I'm using Oracle Deployment Toolkit Script with latest version taken from https://www.java.com/js/deployJava.txt. But the script doesn't detect Java Plugin. It only redirects to page java.com (suggesting to download latest JRE).

But my browser has Java Plugin installed (here JRE 1.7.80):

enter image description here

There are also two SSV Helpers - maybe they cause the problem?

enter image description here

Java 8 (u144) cause the same problem.

Question:

How to detect Java Plugin in IE 11 and run applet?

Is it problem with deployJava.js or IE 11 configuration?

More explanations:

Oracle deployJava.js script uses such code to detect JRE version in IE (deployJava source - lines 1172-1188):

testUsingActiveX: function(version) {
    var objectName = 'JavaWebStart.isInstalled.' + version + '.0';

    // we need the typeof check here for this to run on FF/Chrome
    // the check needs to be in place here - cannot even pass ActiveXObject
    // as arg to another function
    if (typeof ActiveXObject == 'undefined' || !ActiveXObject) {
        log('[testUsingActiveX()] Browser claims to be IE, but no ActiveXObject object?');
        return false;
    }

    try {
        return (new ActiveXObject(objectName) != null);
    } catch (exception) {
        return false;
    }
},

Unfortunately, ActiveX seems to be limited, restricted or disabled in IE 11. This topic on SO is here... anyone knows any details?

I run manually (in IE 11.1480 developer console) this code:

new ActiveXObject('JavaWebStart.isInstalled.1.8.0.0');

which returns:

Automation server can't create object

But running the same code in a bit older IE 11.09600 returns object:

[object] { }

I'm confused... Can Oracle do the script better?

Specification:

Internet Explorer 11, Version: 11.1480... Update Versions: 11.0.44

System: Windows Server

Java: tested with 1.8.144 and after 1.7.80

Applets run by Oracle deployJava.js

like image 561
jsosnowski Avatar asked Jul 31 '17 18:07

jsosnowski


1 Answers

I've found a solution:

Applets requires 32-bit JRE installed on client machine (and as IE Plugin). Or to be more specific IE ActiveX mechanism works only with 32-bit Java because all IE are 32-bit by default. There are also 64-bit IE version, but I don't try it.

I used the newest JRE 1.8u144 32 bit.

Some hints for anyone to make applets work (even in 2017):

  1. Check Internet Explorer version (32- or 64-bit) - look at Help -> About Internet Explorer, if there is no 64-bit info, then you probably use 32-bit. Check also Windows Task Manager and search for *32 processes. More info in other SO questions like this.
  2. Disable ActiveX Filtering may also help. But in my situation, this wasn't necessary because IE displays message which warn about running Java plugin and I just need to accept this.
  3. I have disabled option: Enable Protected Mode on Security tab in Internet Options window (for Internet zone).

More information can be retrieved from this discussion:

https://answers.microsoft.com/en-us/ie/forum/ie11-iewindows_10/cannot-access-secure-website-that-requires-java/173f732b-7377-41f6-8c6f-2ae171f4da7a?auth=1

like image 80
jsosnowski Avatar answered Sep 24 '22 19:09

jsosnowski