Pages

Showing posts with label JAVA. Show all posts
Showing posts with label JAVA. Show all posts

Monday, 8 October 2012

Java Deployment (x86)

I've spent many hours searching the net for a definitive guide on how to successfully deploy Java across a network and to newly deployed machines.

In this instance I'm trying to add Java to an Operating System Deployment using Microsoft SCCM with two particular settings automated into the deployment.

I want the automatic updates to be disabled as this is constantly screwing up our clinical systems that get delivered to the users desktop as an update of Java resets several settings we have to configure post install.

The other is the Proxy set to "Direct Connection" as again our clinical systems hate any interference from the Proxy settings.


I've decided to repost my steps here in hope that it will help a fellow tecchy one day:

  • Download your choice of Java - I'm using 1.6.0.31.
  • Run the.exe and run to C:\Users\\AppData\LocalLow\Sun\Java\jre1.6.0_31
  • Copy the Data1.cab and jre1.6.0_31 files out of there into a folder of their own.
  • I already have a working WIM image I captured last week and didn't want to go through another capture so using the DISM GUI tool  I mounted my WIM and added a folder structure and the deployment.properties file to: C:\Users\Default\AppData\LocalLow\Sun\Java\Deployment.  Other settings for the deployment.properties file are available here.
  • Within deployment.properties was the following - it's actually one I created by manually altering the settings from the Java control panel and capturing the file from C:\Users\[username]\AppData\LocalLow\Sun\Java\Deployment
#deployment.properties
#Tue Apr 13 13:59:54 BST 2010
deployment.version=6.0
deployment.proxy.type=0
deployment.javaws.autodownload=NEVER
deployment.javapi.cache.update=true
deployment.security.mixcode=DISABLE
deployment.browser.path=C\:\\Program Files\\Internet Explorer\\iexplore.exe
#Java Deployment jre's
#Tue Apr 13 13:59:54 BST 2010
deployment.javaws.jre.0.product=1.6.0_31
deployment.javaws.jre.0.registered=true
deployment.javaws.jre.0.osname=Windows
deployment.javaws.jre.0.platform=1.6
deployment.javaws.jre.0.path=C\:\\Program Files\\Java\\jre6\\bin\\javaw.exe
deployment.javaws.jre.0.location=http\://java.sun.com/products/autodl/j2se
deployment.javaws.jre.0.enabled=true
deployment.javaws.jre.0.osarch=x86


  • I committed the changes to the Wim and uploaded it back to our deployment server :::EDIT::: DON'T FORGET TO UPDATE THE DISTRIBUTION POINT!!!
  • Created a package for Java 31
  • Used the command line for the package program: msiexec.exe /i jre1.6.0.31.msi /qn
  • Hey presto - I'm now getting a Java deployment that automatically uses the settings defined in the deployment.properties file I created! BOOM !!!

Thursday, 8 March 2012

Error 1723: Can not uninstall JRE update X from Windows 7

I came across this today whilst helping one of our install techs update Java for a customer on a machine he was installing.

It was Windows 7 Ent 64bit SP1 with Java v19 installed.  Upon attempting to uninstall he received the error:

Error 1723: Can not uninstall JRE update from Windows 7.

After a bit of digging around I discovered the error was referring to a missing DLL.

By going into the registry and finding the MSI entry I tried an uninstall using the following command:

msiexec.exe /x{26A24AE4-039D-4CA4-87B4-2F83216019FF}

This was found here: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall   -  this is a great tip for any app packagers needing to discover the msi registered to a piece of software for uninstalls etc...

Again I received the same error message.  To enable error logging I added /L javauninst.log and discovered it was missing the "regutils.dll" located here: C:\Program Files (x86)\Java\jre6\bin

I copied the file across from an existing machine and voilĂ  - it worked !

Another Java/MSI quirk but non the less slightly perplexing to say the least. 

Hope this helps someone else sometime...

C