This project has moved. For the latest updates, please go here.

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

Topics: Publishing Issue
Jul 17, 2013 at 8:57 PM
Edited Jul 17, 2013 at 9:01 PM
Took me a little trial and error to get Java 7 Update 25 working with UAC enabled; I thought I'd post my abridged notes below as an addendum to the wonderful documentation that is already provided for Java 7 update 21 under the Documentation section on this site. All praise to the devs!

Java 7 Update 25 32-bit Install Notes:
First install standard Java package from Sun.

Obtain Cab and MSI from LocalLow\Sun for current user Appdata. This is necesary because as of 7U25, the EXE fails to execute with UAC enabled. (Error 643 I believe - I tested executing the installer from the command line and observed failure as well with UAC enabled while using the switches from the 7U21 Documentation.)

Then get install strings:
Install Strings Located: HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall[ProductCode]

Browse through for Java and updater codes.

7u25 string:
{b3789310-29f5-478f-9353-b2c9f1c711f6}

7u25 updater string:
{4A03706F-666A-4037-7777-5F2748764D10}

Follow Guide included mostly, but...

Define Return Code

Stop Service JavaQuickStarterService

Allow to execute a file with following strings:
Path to file:
%windir%\System32\msiexec.exe
Parameters:
/i jre1.7.0_25.msi /quiet /norestart AUTOUPDATECHECK=0 IEXPLORER=1 JAVAUPDATE=0 JU=0
Kill process after 30 minutes, return code

(This Autoupdater is not installed using these strings; while I prefer to use the .EXE Java installer because it checks for prerequisites I believe, I could not get it to work under UAC, it seemed to pass the switches straight to the MSI instead of the .exe.)

Allow to define the return code for this custom update, then done with building, follow guide.

To test, approve for WSUS test group; you have to stop Windows Update service, delete datastore and download folder contents sometimes to flush deleted updates from local cache in C:\Windows\SoftwareDistribution. (leave folders)

Java 7 Update 25 64-bit Install Notes:
First install standard Java package from Sun.
Then get install strings:
Install Strings Located: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall[ProductCode]

Browse through for Java and updater codes.

7u25 x64 string:
{26A24AE4-039D-4CA4-87B4-2F86417025FF}

7u25 updater string:
Currently not present in 64-bit version of Java, see Java release.

Otherwise follow instructions included from WSUS Package Publisher Java document.

To test, approve for test group; you have to stop Windows Update service, delete datastore and download folder contents. (leave folders)
Marked as answer by DCourtel on 10/12/2013 at 8:49 AM
Aug 29, 2013 at 11:28 PM
Hello,

Good post, but could you please clarify a bit all steps that needs to be done to deploy Java 7 update 25 (64bit).

I've just installed WSUS Package Publisher using manual for Java 7_up21 and obviously got an error 643.

Is there only updater code should be changed or I missed something?

Thank you.
Aug 30, 2013 at 4:20 PM
SergeyL,

The 64-bit installer went according to the WSUS Package Publisher manual for me except a few minor changes i made; I did not remove the quick start service, and I did not remove the auto-updater (7u25 x64 does not have one right now.) The installed/installable string was different, I used {26A24AE4-039D-4CA4-87B4-2F86417025FF}, and followed the guide otherwise. Try dumping your software distribution database and downloads folders after stopping the windows update service, then retry building the update following the guide? Sorry I did not encounter your issue with the 64-bit version of the installer; I encountered many an issue with the 32-bit installer.
alreadyinstalledJava7u24x64.rules:
<msiar:MsiProductInstalled ProductCode="{26a24ae4-039d-4ca4-87b4-2f86417025ff}"/>

installableJava7u25x64.rules:
<lar:And>
<bar:Processor Architecture="9"/><lar:Not>
<msiar:MsiProductInstalled ProductCode="{26a24ae4-039d-4ca4-87b4-2f86417025ff}"/>
</lar:Not></lar:And>

.xml from completed cab:
<CustomUpdate>
<Action>
<ElementType>CustomUpdateElements.VariableElement</ElementType>
<Name>Return Code</Name>
<Type>Int</Type>
<ID>245757a2-cf33-43ee-80ea-f283568c6d35</ID>
</Action>
<Action>
<ElementType>CustomUpdateElements.ServiceElement</ElementType>
<ServiceAction>Stop</ServiceAction>
<ServiceName>JavaQuickStartService</ServiceName>
<PathToEXE></PathToEXE>
<StartupMode>Undefined</StartupMode>
<StartingAccount>Undefined</StartingAccount>
<Login></Login>
<Password></Password>
</Action>
<Action>
<ElementType>CustomUpdateElements.ExecutableElement</ElementType>
<PathToExecutable>jre-7u25-windows-x64.exe</PathToExecutable>
<Parameters>/s IExplorer=1</Parameters>
<KillProcess>True</KillProcess>
<TimeBeforeKilling>30</TimeBeforeKilling>
<Variable>245757a2-cf33-43ee-80ea-f283568c6d35</Variable>
</Action>
<Action>
<ElementType>CustomUpdateElements.WaitElement</ElementType>
<Wait>30</Wait>
</Action>
<Action>
<ElementType>CustomUpdateElements.ReturnCodeElement</ElementType>
<ReturnCodeMethod>Variable</ReturnCodeMethod>
<StaticReturnCode>0</StaticReturnCode>
<Variable>245757a2-cf33-43ee-80ea-f283568c6d35</Variable>
</Action>
</CustomUpdate>
Hope this helps, best of luck!
  • Dave