HOW TO: Deploy Java 7 Update 40 (32-bit) & (64-bit) with UAC on or off in the client environment.

Topics: Publishing Issue
Sep 17, 2013 at 7:43 PM
Java 7 Update 40 Install Notes:
First install the standard Java x86 & x64 packages from Sun.

Obtain Cab and MSI from C:\Users\<yourusername>\AppData\LocalLow\Sun\Java (Vista/7 Directory; I forget where it is for XP, should be a quick Google search.

The jre folders therein contain the uncompressed installers; your results may be undesirable if you attempt to uncompress the jre executable installer with 7zip or winRAR and then try to use those installers to create a package; just something I ran into a while back, FYI.

I use the .cab / .msi because of various errors and problems with using the I've EXEs encountered; Sun recommends using the MSI and cab like I do. Save yourself the headache and skip the EXEs; I encounter new issues with each release.

Next, get the install strings for the java release you're deploying; I have listed them for convenience, but you can see how I found them below.

7u40 string:

7u40x64 string:

7u40 updater string: (Unchanged since 7u21)

You can find these by using the WSUS Package Publisher and going to tools > MSI Reader, loading the MSI, and going to the property table. The install string is labeled "ProductCode".

Alternately, if you'd rather verify strings in the registry:

32-bit Install Strings Located: HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall[ProductCode]

64-bit Install Strings Located: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall[ProductCode]
Browse through the strings until you see Java and updater codes.

Now to create the package!
I used the guide as a template, ( so you may need to read that to fill in some gaps, but in summary here's how I built my x86 update:
A. Start Custom Update from WPP
  1. Define Return Code as in guide
  2. Stop Service JavaQuickStarterService
  3. Allow to execute a file with following strings:
    Path to file:
    /i jre1.7.0_40.msi /quiet /norestart AUTOUPDATECHECK=0 IEXPLORER=1 JAVAUPDATE=0 JU=0
    Kill process after 15 minutes, link to "Return Code"
    Add Exit code, link to "Return Code."
  4. You are now done with custom update XML generator, continue on.
    B. Add .CAB and .MSI files to the package; Mark it as an update - Critical update.
    I mostly followed the guide from this point on, except for my install rules; for “already installed”, I used the guide, but for “installable”, I set the x86 java package to install on x86 & x64 machines (since most browsers are 32-bit.) I used the not equal to Itanium CPU type rule to allow for x86 and x64 installation.
    Also, the x64 installer doesn't have an updater package anymore; for more information in what command line options java's MSI accepts, see the slightly outdated article from Sun:
To test, approve for WSUS test group. If retrying a package, or flushing a deleted test package on a test machine, you can stop the Windows Update service, delete “datastore” and “download” folder contents from local cache in C:\Windows\SoftwareDistribution, then check for Windows Updates. (Leave the folders, just delete the contents.)
I hope you find these tips helpful; your mileage may vary. Credit: The people at WSUS Package Publisher who wrote that excellent documentation. I never would have gotten this package working right without the Documentation section.
Marked as answer by DCourtel on 10/12/2013 at 8:49 AM
Jun 3, 2014 at 11:58 AM
Edited Jun 3, 2014 at 12:00 PM
Hi thanks for this nice tutorial,

the problem for me is that the update install a second Java version on the client computer (like if I used the STATIC parameter, and I can't find how to force the patch-in-place method).

Do you have an idea ? I'm trying to update from java 6 update 23 (patch-in-place was the method since 6u10) to 7 update 55 (in XP environment).

Regards, Nicolas
Jun 3, 2014 at 7:23 PM
Read this Thread: At bottom you will find a solution.
Jun 4, 2014 at 8:42 AM
Edited Jun 4, 2014 at 8:42 AM

I tried several times, my Powershell script works locally, I put it before the step to run msiexec in my Custom Update, but the problem is still there.

Where did you place the script step ?

Jun 4, 2014 at 1:36 PM
Well I'm sorry,

my script did not work as expected, but I found another that works perfectly there :

Thanks for help, Nicolas
Aug 31, 2014 at 8:07 AM
nice post shame that guides you step by step to deploy java has been removed.

because the link to the guide has been removed?
Aug 31, 2014 at 8:58 AM
A bug in the codeplex site prevents uploading any document into the 'documentation' tab.
I hope they fix this as soon as possible.