Sid_F
asked on
Two Java versions on a win 7 machine
I need to run a browser based application that uses java 6 update 25 at the same time the machine needs to run the latest version for other applications. Is there any way for the two to co-exist and work without user interaction?
As to how to set this up - you can install two versions of Java alongside each other with no problem.
The trick is which Java is then used by a given application. That would mean setting the PATH and JAVA_HOME environment variables to the appropriate Java installation that you wished to use for each application.
That can usually be done by having a batch file for a given app, that sets these values and then launches the app. If you then launch through the batch file, that lets you set up different environment variables just for that specific instance of the app - and hence different from other applications on the system.
Does that all make sense?
Doug
P.S. To answer CEHJ's question about how could this happen - I remember running into this when 64-bit Java started to appear. A few legacy apps only supported the 32-bit version (good question as to how they managed to do that, but they did - presumably they had some native code calls) and so I had to use this trick to run 64-bit everywhere except for those specific apps.
The trick is which Java is then used by a given application. That would mean setting the PATH and JAVA_HOME environment variables to the appropriate Java installation that you wished to use for each application.
That can usually be done by having a batch file for a given app, that sets these values and then launches the app. If you then launch through the batch file, that lets you set up different environment variables just for that specific instance of the app - and hence different from other applications on the system.
Does that all make sense?
Doug
P.S. To answer CEHJ's question about how could this happen - I remember running into this when 64-bit Java started to appear. A few legacy apps only supported the 32-bit version (good question as to how they managed to do that, but they did - presumably they had some native code calls) and so I had to use this trick to run 64-bit everywhere except for those specific apps.
You should really ask the vendor the same questions. Java is just about the foremost malware vector. This will give you a flavour of why you should not have any out of date Java on your system
http://www.cvedetails.com/vulnerability-list/vendor_id-5/product_id-1526/cvssscoremin-6/cvssscoremax-6.99/SUN-JRE.html
http://www.cvedetails.com/vulnerability-list/vendor_id-5/product_id-1526/cvssscoremin-6/cvssscoremax-6.99/SUN-JRE.html
ASKER
At the moment it cannot run on anything higher than 6u25. It's an old application and will be updated later in the year but right now I have to get a work around.
The two versions seems like a good option but can you give me some detail as to the batch file and what needs to go in it.
The two versions seems like a good option but can you give me some detail as to the batch file and what needs to go in it.
At the moment it cannot run on anything higher than 6u25.Why? How have they managed to make that (im)possible?
The two versions seems like a good option but can you give me some detail as to the batch file and what needs to go in it.
It should look something like this:
set JAVA_HOME=c:\java\jdk32_1.
set PATH=c:\java\jdk32_1.6.0_4
java -jar c:\myoldprogram\bin\myoldp
Doug
ASKER
I'm not sure I follow as my old app does not have a jar file. I might be missing something so will give further details.
my old app is lets say https://oldserver
The location of the two java versions are
C:\Program Files\Java\jre6
C:\Program Files\Java\jre7
What do I need to do in order to get this to work.
Thanks
my old app is lets say https://oldserver
The location of the two java versions are
C:\Program Files\Java\jre6
C:\Program Files\Java\jre7
What do I need to do in order to get this to work.
Thanks
If the it's browser-based and an app, it follows that there must be a jnlp file from which it's loaded. Can you post that jnlp file (edited if necessary) to be anonymous?
ASKER
Where do I find the jnlp file?
There should be a reference to it in the page from which you load it
ASKER
A reference where?
In the page source. Search it
ASKER
Ok got it
<HTML>
<!-- FILE: basejpi.htm (Oracle Forms) -->
<!-- -->
<!-- This is the default base HTML file for running a form on the -->
<!-- web using the JDK Java Plugin. This is used for example when -->
<!-- running with Netscape on Unix. -->
<!-- -->
<!-- IMPORTANT NOTES: -->
<!-- Default values for all the variables which appear below -->
<!-- (enclosed in percent characters) are defined in the servlet -->
<!-- configuration file (formsweb.cfg). It is preferable to make -->
<!-- changes in that file where possible, rather than this one. -->
<!-- -->
<!-- This file will be REPLACED if you reinstall Oracle Forms, so -->
<!-- you are advised to create your own version if you want to make -->
<!-- any modifications. You should then set the baseHTMLjpi -->
<!-- parameter in the Forms Servlet configuration file (formsweb.cfg) -->
<!-- to point to your new file instead of this one. -->
<HEAD><TITLE>Oracle Application Server Forms Services</TITLE></HEAD>
<BODY >
<COMMENT id="forms_plugin_info"
plug_ver="clsid:CAFEEFAC-0 016-0000-F FFF-ABCDEF FEDCBA"
appheight="100%"
appwidth="100%"
appcodebase="https://java.sun.com/update/1.6.0/jinstall-6u12-windows-i586.cab#Version=1,6,0,12">
</COMMENT>
<!-- Forms applet definition (start) -->
<NOSCRIPT>
<OBJECT classid="clsid:CAFEEFAC-00 16-0000-FF FF-ABCDEFF EDCBA"
codebase="https://java.sun.com/update/1.6.0/jinstall-6u12-windows-i586.cab#Version=1,6,0,12"
WIDTH="100%"
HEIGHT="100%"
HSPACE="0"
VSPACE="0">
</NOSCRIPT>
<SCRIPT LANGUAGE="JavaScript" SRC="java/forms_ie.js"></S CRIPT>
<PARAM NAME="TYPE" VALUE="application/x-java- applet;jpi -version=1 .6.0_12">
<PARAM NAME="CODEBASE" VALUE="/forms/java">
<PARAM NAME="CODE" VALUE="oracle.forms.engine .Main" >
<PARAM NAME="ARCHIVE" VALUE="jacob.jar,images.ja r,frmwebut il.jar,frm all.jar" >
<PARAM NAME="serverURL" VALUE="/forms/lservlet?ifc fs=/forms/ frmservlet ?config=li ve&acceptL anguage=en -IE">
<PARAM NAME="networkRetries" VALUE="30">
<PARAM NAME="serverArgs"
VALUE="escapeParams=true module=hr0000.fmx userid= sso_userid=%20 sso_formsid=formsApp_myser ver.mydoma in.local_5 7994C018CB F11DEBF6C2 3D57D461B2 sso_subDN= sso_usrDN= debug=no host= port= buffer_records=no debug_messages=no array=no obr=no query_only=no quiet=yes render=no record= tracegroup= log= term=">
<PARAM NAME="separateFrame" VALUE="true">
<PARAM NAME="splashScreen" VALUE="no">
<PARAM NAME="background" VALUE="no">
<PARAM NAME="lookAndFeel" VALUE="oracle">
<PARAM NAME="colorScheme" VALUE="blue">
<PARAM NAME="serverApp" VALUE="default">
<PARAM NAME="logo" VALUE="no">
<PARAM NAME="imageBase" VALUE="codebase">
<PARAM NAME="formsMessageListener " VALUE="">
<PARAM NAME="recordFileName" VALUE="">
<PARAM NAME="EndUserMonitoringEna bled" VALUE="">
<PARAM NAME="EndUserMonitoringURL " VALUE="">
<PARAM NAME="heartBeat" VALUE="">
<PARAM NAME="allowAlertClipboard" VALUE="">
<PARAM NAME="disableValidateClipb oard" VALUE="">
<PARAM NAME="enableJavascriptEven t" VALUE="">
<PARAM NAME="MAYSCRIPT" VALUE="">
<PARAM NAME="digitSubstitution" VALUE="">
<COMMENT>
<EMBED SRC="" PLUGINSPAGE="https://myserver/forms/jinitiator/jre-6u12-windows-i586-p.exe"
TYPE="application/x-java-a pplet;jpi- version=1. 6.0_12"
java_codebase="/forms/java "
java_code="oracle.forms.en gine.Main"
java_archive="jacob.jar,im ages.jar,f rmwebutil. jar,frmall .jar"
WIDTH="100%"
HEIGHT="100%"
HSPACE="0"
VSPACE="0"
serverURL="/forms/lservlet ?ifcfs=/fo rms/frmser vlet?confi g=live&acc eptLanguag e=en-IE"
networkRetries="30"
serverArgs="escapeParams=t rue module=hr0000.fmx userid= sso_userid=%20 sso_formsid=formsApp_myser ver.mydoma in.local_5 7994C018CB F11DEBF6C2 3D57FD461B 2 sso_subDN= sso_usrDN= debug=no host= port= buffer_records=no debug_messages=no array=no obr=no query_only=no quiet=yes render=no record= tracegroup= log= term="
separateFrame="true"
splashScreen="no"
background="no"
lookAndFeel="oracle"
colorScheme="blue"
serverApp="default"
logo="no"
imageBase="codebase"
recordFileName=""
EndUserMonitoringEnabled=" "
EndUserMonitoringURL=""
heartBeat=""
disableValidateClipboard=" "
allowAlertClipboard=""
enableJavascriptEvent=""
MAYSCRIPT=""
digitSubstitution=""
>
<NOEMBED>
</COMMENT>
</NOEMBED></EMBED>
</OBJECT>
<!-- Forms applet definition (end) -->
</BODY>
</HTML>
<HTML>
<!-- FILE: basejpi.htm (Oracle Forms) -->
<!-- -->
<!-- This is the default base HTML file for running a form on the -->
<!-- web using the JDK Java Plugin. This is used for example when -->
<!-- running with Netscape on Unix. -->
<!-- -->
<!-- IMPORTANT NOTES: -->
<!-- Default values for all the variables which appear below -->
<!-- (enclosed in percent characters) are defined in the servlet -->
<!-- configuration file (formsweb.cfg). It is preferable to make -->
<!-- changes in that file where possible, rather than this one. -->
<!-- -->
<!-- This file will be REPLACED if you reinstall Oracle Forms, so -->
<!-- you are advised to create your own version if you want to make -->
<!-- any modifications. You should then set the baseHTMLjpi -->
<!-- parameter in the Forms Servlet configuration file (formsweb.cfg) -->
<!-- to point to your new file instead of this one. -->
<HEAD><TITLE>Oracle Application Server Forms Services</TITLE></HEAD>
<BODY >
<COMMENT id="forms_plugin_info"
plug_ver="clsid:CAFEEFAC-0
appheight="100%"
appwidth="100%"
appcodebase="https://java.sun.com/update/1.6.0/jinstall-6u12-windows-i586.cab#Version=1,6,0,12">
</COMMENT>
<!-- Forms applet definition (start) -->
<NOSCRIPT>
<OBJECT classid="clsid:CAFEEFAC-00
codebase="https://java.sun.com/update/1.6.0/jinstall-6u12-windows-i586.cab#Version=1,6,0,12"
WIDTH="100%"
HEIGHT="100%"
HSPACE="0"
VSPACE="0">
</NOSCRIPT>
<SCRIPT LANGUAGE="JavaScript" SRC="java/forms_ie.js"></S
<PARAM NAME="TYPE" VALUE="application/x-java-
<PARAM NAME="CODEBASE" VALUE="/forms/java">
<PARAM NAME="CODE" VALUE="oracle.forms.engine
<PARAM NAME="ARCHIVE" VALUE="jacob.jar,images.ja
<PARAM NAME="serverURL" VALUE="/forms/lservlet?ifc
<PARAM NAME="networkRetries" VALUE="30">
<PARAM NAME="serverArgs"
VALUE="escapeParams=true module=hr0000.fmx userid= sso_userid=%20 sso_formsid=formsApp_myser
<PARAM NAME="separateFrame" VALUE="true">
<PARAM NAME="splashScreen" VALUE="no">
<PARAM NAME="background" VALUE="no">
<PARAM NAME="lookAndFeel" VALUE="oracle">
<PARAM NAME="colorScheme" VALUE="blue">
<PARAM NAME="serverApp" VALUE="default">
<PARAM NAME="logo" VALUE="no">
<PARAM NAME="imageBase" VALUE="codebase">
<PARAM NAME="formsMessageListener
<PARAM NAME="recordFileName" VALUE="">
<PARAM NAME="EndUserMonitoringEna
<PARAM NAME="EndUserMonitoringURL
<PARAM NAME="heartBeat" VALUE="">
<PARAM NAME="allowAlertClipboard"
<PARAM NAME="disableValidateClipb
<PARAM NAME="enableJavascriptEven
<PARAM NAME="MAYSCRIPT" VALUE="">
<PARAM NAME="digitSubstitution" VALUE="">
<COMMENT>
<EMBED SRC="" PLUGINSPAGE="https://myserver/forms/jinitiator/jre-6u12-windows-i586-p.exe"
TYPE="application/x-java-a
java_codebase="/forms/java
java_code="oracle.forms.en
java_archive="jacob.jar,im
WIDTH="100%"
HEIGHT="100%"
HSPACE="0"
VSPACE="0"
serverURL="/forms/lservlet
networkRetries="30"
serverArgs="escapeParams=t
separateFrame="true"
splashScreen="no"
background="no"
lookAndFeel="oracle"
colorScheme="blue"
serverApp="default"
logo="no"
imageBase="codebase"
recordFileName=""
EndUserMonitoringEnabled="
EndUserMonitoringURL=""
heartBeat=""
disableValidateClipboard="
allowAlertClipboard=""
enableJavascriptEvent=""
MAYSCRIPT=""
digitSubstitution=""
>
<NOEMBED>
</COMMENT>
</NOEMBED></EMBED>
</OBJECT>
<!-- Forms applet definition (end) -->
</BODY>
</HTML>
As you can see, that source specifies the version it wants. Personally i would try to change that version to the latest jre for the reasons given earlier, though exactly the way to do this i don't know, as i don't do Oracle Forms.
I would guess the were you to install an additional jre, say the latest, there might not be any problem. Why do you think there would be?
I would guess the were you to install an additional jre, say the latest, there might not be any problem. Why do you think there would be?
ASKER
The software cannot run on anything other than version 6. It will not display correctly. I cannot start to change oracle forms I must work with what I have. My question still stands as I believe there might be a way to do this via a batch file flipping from the old to the new version when required.
If you don't want to change the JRE version in the code you just posted, then just change it for the application/applets(s) you want to use the latest JRE. If you don't, you'll probably find it/they will just use the same as the current
See http://www.oracle.com/technetwork/java/javase/autodownload-140472.html
Note that (probably deliberately) nothing other than the latest version is provided for auto-installation (your current configuration supporting auto-installation)
See http://www.oracle.com/technetwork/java/javase/autodownload-140472.html
Note that (probably deliberately) nothing other than the latest version is provided for auto-installation (your current configuration supporting auto-installation)
ASKER
I am not clear on what you mean but maybe I can recap from my further tests.
If I install java version 6, my old applications runs no problem. If I install the latest java 7 the application is unable to run. Even if I go into the java config and untick V7 and tick V6 the application is still unable to run. I have to uninstall V7 and then it works again
I want to be able to run the two versions together.
If I install java version 6, my old applications runs no problem. If I install the latest java 7 the application is unable to run. Even if I go into the java config and untick V7 and tick V6 the application is still unable to run. I have to uninstall V7 and then it works again
I want to be able to run the two versions together.
Perhaps you haven't taken this on board yet - the code you posted constrains the app to use a specific version (6). This might or might not be a reflection of restrictions inherent in the app
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Resolved