Solved

Java Plugin 1.3.1.x and 1.4.2.x coexistence issue

Posted on 2004-04-23
22
571 Views
Last Modified: 2013-11-18
Our customer has application where there is must of  JRE 1.3.1.x plugin is needed. But we gave him application which must require JRE 1.4.2.x.
Customer's browser's default JRE is getting overwrriten.
We followed following approache to resolve
1) install JRE1.3.1.x and make that as default JRE
2) Now for JRE1.4.2.x, we told cutomer to go for custom installation so that he should be not selecting this JRE1.4.2.x as default.
Even though customer's system has defined the JRE version in his html for his application, but the jer1.4.2.x is getting used when he tries to acces his application after JRE 1.4.2.x comes and sit in the machine.
Customer wants both co-exist. This looks near not to possible. Is there any way to handle this issue and make my customer happy?
thanks~Veerendra
0
Comment
Question by:j74
  • 12
  • 10
22 Comments
 
LVL 92

Expert Comment

by:objects
ID: 10904162
are you specifying the required classid in your html?
0
 
LVL 92

Expert Comment

by:objects
ID: 10904169
0
 
LVL 92

Expert Comment

by:objects
ID: 10904191
And make sure u install 1.3 *last*.
0
 

Author Comment

by:j74
ID: 10904199
yep. Our customer is using as follows:
//====================
<html>
  <head>
      <title>A. M. S.</title>
  </head>
  <body>
      <p align=center style='text-align:center'><FONT color=blue size=5>
      <b>Account Management System 5.2</b></FONT></p>
      <p align=center style='text-align:center'>
<!--"CONVERTED_APPLET"-->
<!-- HTML CONVERTER -->
<SCRIPT LANGUAGE="JavaScript"><!--
    var _info = navigator.userAgent; var _ns = false; var _ns6 = false;
    var _ie = (_info.indexOf("MSIE") > 0 && _info.indexOf("Win") > 0 && _info.indexOf("Windows 3.1") < 0);
//--></SCRIPT>
<COMMENT><SCRIPT LANGUAGE="JavaScript1.1"><!--
    var _ns = (navigator.appName.indexOf("Netscape") >= 0 && ((_info.indexOf("Win") > 0 && _info.indexOf("Win16") < 0 && java.lang.System.getProperty("os.version").indexOf("3.5") < 0) || (_info.indexOf("Sun") > 0) || (_info.indexOf("Linux") > 0) || (_info.indexOf("AIX") > 0) || (_info.indexOf("OS/2") > 0)));
    var _ns6 = ((_ns == true) && (_info.indexOf("Mozilla/5") >= 0));
//--></SCRIPT></COMMENT>

<SCRIPT LANGUAGE="JavaScript"><!--
    if (_ie == true) document.writeln('<OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" WIDTH = 300 HEIGHT = 150  codebase="http://java.sun.com/products/plugin/1.3.1/jinstall-131-win32.cab#Version=1,3,1,0"><NOEMBED><XMP>');
    else if (_ns == true && _ns6 == false) document.writeln('<EMBED type="application/x-java-applet;jpi-version=1.3.1_01"  CODE = appletprac.AppleTest.class CACHE_OPTION="Plugin" CACHE_ARCHIVE = "Sappletprac.jar"  WIDTH = 300 HEIGHT = 150  scriptable=false pluginspage="http://java.sun.com/products/plugin/1.3.1/plugin-install.html"><NOEMBED><XMP>');
//--></SCRIPT>
<APPLET  CODE = appletprac.AppleTest.class WIDTH = 300 HEIGHT = 150></XMP>
<PARAM NAME = CODE VALUE = appletprac.AppleTest.class >

<PARAM NAME="type" VALUE="application/x-java-applet;jpi-version=1.3.1_01">
<PARAM NAME="scriptable" VALUE="false">
<PARAM NAME = "CACHE_OPTION" VALUE = "Plugin" >
<PARAM NAME = "CACHE_ARCHIVE" VALUE = "Sappletprac.jar" >

alt="Your browser understands the &lt;APPLET&gt; tag but isn't running the applet, for some reason."
      Your browser is completely ignoring the &lt;APPLET&gt; tag!
</APPLET>
</NOEMBED></EMBED></OBJECT>


<!--
<APPLET CODE = appletprac.AppleTest.class WIDTH = 300 HEIGHT = 150>
alt="Your browser understands the &lt;APPLET&gt; tag but isn't running the applet, for some reason."
      Your browser is completely ignoring the &lt;APPLET&gt; tag!

</APPLET>
-->
<!--"END_CONVERTED_APPLET"-->

      </p>
        <p align=center style='text-align:center'><FONT color=blue size=4>Copyright 1999-2002, Network Design and Analysis Corporation</FONT></P>
  </body>
</html>
//========================================

We are using htmls for our app as follows:
//======
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<HTML><HEAD><TITLE>INTEGRATED CONFIGURATION TOOL</TITLE>
<SCRIPT LANGUAGE="JavaScript"><!-- Hide script
window.history.forward(1);
// End script hiding --></SCRIPT>
</HEAD><BODY>      <OBJECT
            classid =  "clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
            codebase = "/appcontent/apollo/sparx/jinstall-1_4-windows-i586.cab#Version=1,4,0,0"
            WIDTH = 870 HEIGHT = 620 ARCHIVE = "" ID = "ICT" NAME = "ICT">
            <PARAM NAME = CODE                  VALUE = "com.cisco.sparx.SPARXApplet">
            <PARAM NAME = cache_archive_ex      VALUE = "/appcontent/apollo/sparx/SPARXApplet.jar;2.0.3.2,/appcontent/apollo/sparx/ksoap-j2se.jar;1.0.0.0">
            <PARAM NAME = "type"                VALUE = "application/x-java-applet;version=1.4">
            <PARAM NAME = "scriptable"          VALUE = "false">
            <PARAM NAME = "accessKey"           VALUE = "108275746478283691406256991">
            <PARAM NAME = "csid"                VALUE = "">
            <PARAM NAME = "punchoutsession"     VALUE = "N">
            <PARAM NAME = "environment"         VALUE = "Prod">
            <PARAM NAME = "ccouserid"           VALUE = "QASSUS">
            <PARAM NAME = "UIVersion"           VALUE = "2.0.3.2">
            <COMMENT>
                  <EMBED
                        type = "application/x-java-applet;version=1.4"
                        CODE = "com.cisco.sparx.SPARXApplet"
                        WIDTH = 870 HEIGHT = 620 ARCHIVE = "" ID = "ICT" NAME = "ICT"
                        cache_archive = "/appcontent/apollo/sparx/SPARXApplet.jar,/appcontent/apollo/sparx/ksoap-j2se.jar"
                        cache_version = "2.0.3.2,1.0.0.0"
                        scriptable = false
                        pluginspage = "/appcontent/apollo/sparx/JavaPluginIndex.html#download"
                        accessKey = "108275746478283691406256991"
                        csid = "" 
                        punchoutsession = "N"
                        environment     = "Prod"
                        ccouserid       = "QASSUS"
                        UIVersion       = "2.0.3.2" >
                        <NOEMBED></NOEMBED>
                  </EMBED>
            </COMMENT>
      </OBJECT>
</BODY></HTML>
//============================================
0
 
LVL 92

Expert Comment

by:objects
ID: 10904219
Thats using the dynamic classsid.
0
 

Author Comment

by:j74
ID: 10904228
When I stall 1.3.1.x as last, that customer application works. But when he tries my application again he will be prompted to install 1.4.2.x even though he has already installed it.
I am finding the same as mentioned above texts
0
 
LVL 92

Expert Comment

by:objects
ID: 10904245
classid for 1.3.1 specifically is:
CAFEEFAC-0013-0001-0000-ABCDEFFEDCBA
but it's also different for each 'sub' version.

can u explain again exactly what is is you need used.
0
 
LVL 92

Expert Comment

by:objects
ID: 10904257
do you know if your customers html ends up using the object or the applet tag?
0
 

Author Comment

by:j74
ID: 10904259
I got the class id from html converter tool which comes with jdk.
0
 

Author Comment

by:j74
ID: 10904268
Customer is not ready to change his app becuase it is coming as end of life by this year and on top it his application is developed by third party so no supprt on that app. So basically our applet/ way of installing plugin should take care of.
0
 
LVL 92

Expert Comment

by:objects
ID: 10904361
you could try using the following classid fin your html:

CAFEEFAC-0014-0002-0000-ABCDEFFEDCBA

asking for 1.4.2 or later.

its strange that your html prompts for install and theres doesn't considering they both use the same classid. Unless the customers is using the applet tag and thus the default vm.
0
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 

Author Comment

by:j74
ID: 10904414
yeah. I agree. If the customer was using applet tag we could have told him to install JRE 1.3 and make that as default. Then it would be have worked both app.
0
 

Author Comment

by:j74
ID: 10904681
I don't know why SUN is giving same classId for JRE 1.3.1.x and JRE 1.4.2.x (i.e. 8AD9C840-044E-11D1-B3E9-00805F499D93)
0
 
LVL 92

Expert Comment

by:objects
ID: 10904699
thats the dynamic classid, stating to use the default vm.
0
 

Author Comment

by:j74
ID: 10904904
what is dynamic clsid? can we have different clsid. It does not look working if we change the clsid.any other opinion plx to overcome this issue
0
 
LVL 92

Expert Comment

by:objects
ID: 10904984
> what is dynamic clsid?

it is what u are using, it says use *any* version of the plugin.

> can we have different clsid.

yes each version has its own classid
0
 

Author Comment

by:j74
ID: 10905002
I gave CAFEEFAC-0014-0002-0004-ABCDEFFEDCBA which in jinstall-1_4-windows-i586.cab file. We changed the dynamic clsid with this one. Now we get the blank page. Nothing seems working.
0
 
LVL 92

Expert Comment

by:objects
ID: 10905036
what browser
0
 

Author Comment

by:j74
ID: 10905041
IE6.0.2800.x
0
 
LVL 92

Accepted Solution

by:
objects earned 500 total points
ID: 10905096
heres a bug report discussing similiar problem:
http://developer.java.sun.com/developer/bugParade/bugs/4904444.html
0
 

Author Comment

by:j74
ID: 10906096
Thank you all!
0
 
LVL 92

Expert Comment

by:objects
ID: 10906508
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

INTRODUCTION Working with files is a moderately common task in Java.  For most projects hard coding the file names, using parameters in configuration files, or using command-line arguments is sufficient.   However, when your application has vi…
Introduction Java can be integrated with native programs using an interface called JNI(Java Native Interface). Native programs are programs which can directly run on the processor. JNI is simply a naming and calling convention so that the JVM (Java…
Viewers will learn one way to get user input in Java. Introduce the Scanner object: Declare the variable that stores the user input: An example prompting the user for input: Methods you need to invoke in order to properly get  user input:
The viewer will learn how to implement Singleton Design Pattern in Java.

911 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

20 Experts available now in Live!

Get 1:1 Help Now