Upgrading to Sun Java 1.4.2_06
With the Sun Java vulnerability announced (http://secunia.com/advisories/13271/) yesterday, I am researching a good way to upgrade my installations to v1.4.2_06.
I have a mix of workstations with v1.3.x and v1.4.x.
v1.4.x does not seem that problem-matic since it is an MSI package. I can only forsee a few issues with v1.3.x.
I have a mix of workstations with v1.3.x and v1.4.x.
v1.4.x does not seem that problem-matic since it is an MSI package. I can only forsee a few issues with v1.3.x.
0 Comments
[ + ] Show comments
Answers (9)
Please log in to answer
Posted by:
Toupeiro
19 years ago
Just got done with this package. I didn't have our original 2_01 msi package that was deployed to our workstations some time ago, so I didn't have anything to build an upgrade on. I wrapped up some logic to remove our existing 2_01 runtime before 2_06 installed. Kinda rude, but it seems to have worked so far.
It'd be nice if Sun would supply some upgrade codes in their MSI.
It'd be nice if Sun would supply some upgrade codes in their MSI.
Posted by:
kkaminsk
19 years ago
Well upgrading Java is not bad ecept.... When applications require old versions of the runtime. I have yet to be on a site that can run strictly secure J2REs. The issue is that you will have to look at your Java applications and see if they require specific J2REs to be installed. If they do there is not much you can do other than yell at the vendor to change their code.
Posted by:
Da7thson
19 years ago
Sorry to jump in on someone elses Topic, but i have a problem with installing Java as a package (both 1.4.2_02, and 1.4.2_06) and its exactly the same problem.
I create the package using WinInstallLE using hte usual Discovery method. When i deploy it in the AD it installs without any errors. However, when a user logs in (either standard user or an admin), the Tickbox in the setup for Java Runtime that associates it with a Browser (in our case IE) is not ticked, even though it was ticked when i did the Discovery.
So Java installs but will not work with our Browser without the user ticking this tick box (which they can not as they can't get to the control pannel due to the group policy).
Anyone have any surgestions?
(IE is IE 6, Windows is XP Pro with SP1)
Thanks in advance
Andy
I create the package using WinInstallLE using hte usual Discovery method. When i deploy it in the AD it installs without any errors. However, when a user logs in (either standard user or an admin), the Tickbox in the setup for Java Runtime that associates it with a Browser (in our case IE) is not ticked, even though it was ticked when i did the Discovery.
So Java installs but will not work with our Browser without the user ticking this tick box (which they can not as they can't get to the control pannel due to the group policy).
Anyone have any surgestions?
(IE is IE 6, Windows is XP Pro with SP1)
Thanks in advance
Andy
Posted by:
kkaminsk
19 years ago
Usually that part of the package is not a big deal. I you should check for registry entries like:
[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Plug-in\1.4.1_02]
"UseJava2IExplorer"=dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\AdvancedOptions\JAVA_SUN]
"Bitmap"="@ProgFiles\\Java\\j2re1.4.1_02\\bin\\ActPanel.dll,1000"
"Text"="Java (Sun)"
"Type"="group"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\AdvancedOptions\JAVA_SUN\SELECT]
"CheckedValue"=dword:00000001
"DefaultValue"=dword:00000001
"HKeyRoot"=dword:80000002
"RegPath"="Software\\JavaSoft\\Java Plug-in\\1.4.1_02"
"Text"="Use Java 2 v1.4.1_02 for <applet> (requires restart)"
"Type"="checkbox"
"UncheckedValue"=dword:00000000
"ValueName"="UseJava2IExplorer"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Extensions\{08B0E5C0-4FCB-11CF-AAA5-00401C608501}]
"CLSID"="{1FBA04EE-3024-11d2-8F1F-0000F87ABD16}"
"ClsidExtension"="{08B0E5C0-4FCB-11CF-AAA5-00401C608501}"
"MenuText"="Sun Java Console"
Also note if you repackage Java that the java.exe and javaw.exe are not version stamped so you will have to manage those binary versions somehow. What I do since everything is deployed via Active Directory is I wrote a vbscript that uses ADSI at logon to check AD group memberships and detect the latest version of Java assigned to the user then it ensures that the appropriate binaries and registry entries are installed. The reason I say registry entries is that there are a few registry entries that different JVMs will share and yes this too will break certian applications. For example these are the registry entries that change when I install 1.4.1.02 from 1.3.1.02:
[HKEY_CLASSES_ROOT\CLSID\{08B0E5C0-4FCB-11CF-AAA5-00401C608501}\TreatAs]
@="{CAFEEFAC-0014-0001-0002-ABCDEFFEDCBB}"
[HKEY_CLASSES_ROOT\CLSID\{8AD9C840-044E-11D1-B3E9-00805F499D93}]
@="Java Plug-in 1.4.1_02"
[HKEY_CLASSES_ROOT\CLSID\{8AD9C840-044E-11D1-B3E9-00805F499D93}\InprocServer32]
@="@ProgFiles\\Java\\j2re1.4.1_02\\\\bin\\NPJava141_02.dll"
[HKEY_CLASSES_ROOT\jarfile\shell\open\command]
@="\"@ShortProgFiles\\Java\\J2RE14~1.1_0\\bin\\javaw.exe\" -jar \"%1\" %*"
[HKEY_CLASSES_ROOT\JavaPlugin\CLSID]
@="{CAFEEFAC-0014-0001-0002-ABCDEFFEDCBA}"
[HKEY_CURRENT_USER\Software\Microsoft\Java VM]
"EnableJavaConsole"=dword:00000000
[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment]
"CurrentVersion"="1.4"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Code Store Database\Distribution Units\{8AD9C840-044E-11D1-B3E9-00805F499D93}]
@="Java Runtime Environment 1.4.1_02"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Code Store Database\Distribution Units\{8AD9C840-044E-11D1-B3E9-00805F499D93}\DownloadInformation]
"CODEBASE"="http://java.sun.com/products/plugin/1.4/jinstall-14_02-windows-i586.cab"
"INF"=""
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Code Store Database\Distribution Units\{8AD9C840-044E-11D1-B3E9-00805F499D93}\InstalledVersion]
@="1,4,1,2"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\AdvancedOptions\JAVA_SUN]
"Bitmap"="@ProgFiles\\Java\\j2re1.4.1_02\\bin\\actpanel.dll,1000"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\AdvancedOptions\JAVA_SUN\SELECT]
"RegPath"="Software\\JavaSoft\\Java Plug-in\\1.4.1_02"
"Text"="Use Java 2 v1.4.1_02 for <applet> (requires restart)"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\javaw.Exe]
@="@ShortProgFiles\\Java\\J2RE14~1.1_0\\bin\\javaw.exe"
"Path"="@ProgFiles\\Java\\j2re1.4.1_02\\bin\\"
Managing the binaries and registry entries are not a big deal if you can install Java oldest to newest but if you don't then you should be managing the environment somehow.
I only figured these methods out by fixing a multitude of Java integration issues. Hopefully this does not scare you away but this is why Java is so much fun!!!
[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Plug-in\1.4.1_02]
"UseJava2IExplorer"=dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\AdvancedOptions\JAVA_SUN]
"Bitmap"="@ProgFiles\\Java\\j2re1.4.1_02\\bin\\ActPanel.dll,1000"
"Text"="Java (Sun)"
"Type"="group"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\AdvancedOptions\JAVA_SUN\SELECT]
"CheckedValue"=dword:00000001
"DefaultValue"=dword:00000001
"HKeyRoot"=dword:80000002
"RegPath"="Software\\JavaSoft\\Java Plug-in\\1.4.1_02"
"Text"="Use Java 2 v1.4.1_02 for <applet> (requires restart)"
"Type"="checkbox"
"UncheckedValue"=dword:00000000
"ValueName"="UseJava2IExplorer"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Extensions\{08B0E5C0-4FCB-11CF-AAA5-00401C608501}]
"CLSID"="{1FBA04EE-3024-11d2-8F1F-0000F87ABD16}"
"ClsidExtension"="{08B0E5C0-4FCB-11CF-AAA5-00401C608501}"
"MenuText"="Sun Java Console"
Also note if you repackage Java that the java.exe and javaw.exe are not version stamped so you will have to manage those binary versions somehow. What I do since everything is deployed via Active Directory is I wrote a vbscript that uses ADSI at logon to check AD group memberships and detect the latest version of Java assigned to the user then it ensures that the appropriate binaries and registry entries are installed. The reason I say registry entries is that there are a few registry entries that different JVMs will share and yes this too will break certian applications. For example these are the registry entries that change when I install 1.4.1.02 from 1.3.1.02:
[HKEY_CLASSES_ROOT\CLSID\{08B0E5C0-4FCB-11CF-AAA5-00401C608501}\TreatAs]
@="{CAFEEFAC-0014-0001-0002-ABCDEFFEDCBB}"
[HKEY_CLASSES_ROOT\CLSID\{8AD9C840-044E-11D1-B3E9-00805F499D93}]
@="Java Plug-in 1.4.1_02"
[HKEY_CLASSES_ROOT\CLSID\{8AD9C840-044E-11D1-B3E9-00805F499D93}\InprocServer32]
@="@ProgFiles\\Java\\j2re1.4.1_02\\\\bin\\NPJava141_02.dll"
[HKEY_CLASSES_ROOT\jarfile\shell\open\command]
@="\"@ShortProgFiles\\Java\\J2RE14~1.1_0\\bin\\javaw.exe\" -jar \"%1\" %*"
[HKEY_CLASSES_ROOT\JavaPlugin\CLSID]
@="{CAFEEFAC-0014-0001-0002-ABCDEFFEDCBA}"
[HKEY_CURRENT_USER\Software\Microsoft\Java VM]
"EnableJavaConsole"=dword:00000000
[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment]
"CurrentVersion"="1.4"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Code Store Database\Distribution Units\{8AD9C840-044E-11D1-B3E9-00805F499D93}]
@="Java Runtime Environment 1.4.1_02"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Code Store Database\Distribution Units\{8AD9C840-044E-11D1-B3E9-00805F499D93}\DownloadInformation]
"CODEBASE"="http://java.sun.com/products/plugin/1.4/jinstall-14_02-windows-i586.cab"
"INF"=""
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Code Store Database\Distribution Units\{8AD9C840-044E-11D1-B3E9-00805F499D93}\InstalledVersion]
@="1,4,1,2"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\AdvancedOptions\JAVA_SUN]
"Bitmap"="@ProgFiles\\Java\\j2re1.4.1_02\\bin\\actpanel.dll,1000"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\AdvancedOptions\JAVA_SUN\SELECT]
"RegPath"="Software\\JavaSoft\\Java Plug-in\\1.4.1_02"
"Text"="Use Java 2 v1.4.1_02 for <applet> (requires restart)"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\javaw.Exe]
@="@ShortProgFiles\\Java\\J2RE14~1.1_0\\bin\\javaw.exe"
"Path"="@ProgFiles\\Java\\j2re1.4.1_02\\bin\\"
Managing the binaries and registry entries are not a big deal if you can install Java oldest to newest but if you don't then you should be managing the environment somehow.
I only figured these methods out by fixing a multitude of Java integration issues. Hopefully this does not scare you away but this is why Java is so much fun!!!
Posted by:
kkaminsk
19 years ago
Also I should add that the official way to deploy Java is with the Sun installers but even then I have caught one of the Sun 1.3.1 installers fubaring the system state. Also I am not a big fan of how Sun MSI installers work. The last time I checked their MSI it copies a few zip files down then installs everything with custom actions. I had the 1.4.1.02 MSI fail 30% of the time at one client site.
Posted by:
Toupeiro
19 years ago
Posted by:
Da7thson
19 years ago
Posted by:
Gastro
19 years ago
I noticed a problem with the msi-file from the 1.4.6_06 version. If I deploy it with AD, It works great if I deploy it "per machine" or to "per users" with admin rights. If I try to deploy it to users with only user-rights, it hangs....
What I get is in the event viewer (application):
Product: Java 2 Runtime Environment, SE v1.4.2.06 -- Error 1722.There is a problem with this Windows Installer package. A program run as part of the setup did not finish as expected. Contact your support personnel or package vendor. Action unzipcore1, location: C:\WINDOWS\Installer\MSI9.tmp, command: "C:\Program Files\Common Files\Java\Update\Base Images\j2re1.4.2-b28\core1.zip" "C:\Program Files\Java\j2re1.4.2_06\\" "C:\DOCUME~1\tester\LOCALS~1\Temp\java_install.log"
The java_install.log doesnt say much... :
cmdline = "C:\Program Files\Common Files\Java\Update\Base Images\j2re1.4.2-b28\core1.zip" "C:\Program Files\Java\j2re1.4.2_06\\" "C:\DOCUME~1\tester\LOCALS~1\Temp\java_install.log"
Archive: C:\Program Files\Common Files\Java\Update\Base Images\j2re1.4.2-b28\core1.zip
extracting: bin/
extracting: bin/awt.dllError:fopen: while opening file <bin/awt.dll>
And the normal user have the rights to manuel go in the core1.zip and extract the files without any problem....
What I get is in the event viewer (application):
Product: Java 2 Runtime Environment, SE v1.4.2.06 -- Error 1722.There is a problem with this Windows Installer package. A program run as part of the setup did not finish as expected. Contact your support personnel or package vendor. Action unzipcore1, location: C:\WINDOWS\Installer\MSI9.tmp, command: "C:\Program Files\Common Files\Java\Update\Base Images\j2re1.4.2-b28\core1.zip" "C:\Program Files\Java\j2re1.4.2_06\\" "C:\DOCUME~1\tester\LOCALS~1\Temp\java_install.log"
The java_install.log doesnt say much... :
cmdline = "C:\Program Files\Common Files\Java\Update\Base Images\j2re1.4.2-b28\core1.zip" "C:\Program Files\Java\j2re1.4.2_06\\" "C:\DOCUME~1\tester\LOCALS~1\Temp\java_install.log"
Archive: C:\Program Files\Common Files\Java\Update\Base Images\j2re1.4.2-b28\core1.zip
extracting: bin/
extracting: bin/awt.dllError:fopen: while opening file <bin/awt.dll>
And the normal user have the rights to manuel go in the core1.zip and extract the files without any problem....
Posted by:
MarkusW
19 years ago
Hi,
Has anyone been successful in publishing JRE 1.4.x on a per user base in AD yet? In my case I don't get any errors during installation but no regkeys are written and the icons as well as the controlpanel icon are not there... Same for JRE 1.5.0 Update 1. However, running the .MSI from command-promt in an administrative context does work, although the logged-on user is no Admin.
Machine-based installation is no option for me unfortunately...
Thanks
Markus
Has anyone been successful in publishing JRE 1.4.x on a per user base in AD yet? In my case I don't get any errors during installation but no regkeys are written and the icons as well as the controlpanel icon are not there... Same for JRE 1.5.0 Update 1. However, running the .MSI from command-promt in an administrative context does work, although the logged-on user is no Admin.
Machine-based installation is no option for me unfortunately...
Thanks
Markus
Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.
so that the conversation will remain readable.