I just got tasked with creating a managed install for Java 7 update 11. Has anyone had luck deploying this using the exe?

Answer Summary:
Cancel
0 Comments   [ + ] Show Comments

Comments

Please log in to comment

Community Chosen Answer

9

I pushed 7u11 today to my XP and Win7 clients, and it's going smoothly as usual.  I'm getting the MSI from the EXE using the following trick:

Download and launch the Sun JRE Windows Offline Installion executable (.exe) file.
    Retrieve the ".msi" file from the LocalAppData folder (the user's Application Data folder). The LocalAppData folder will differ for each Windows platform.

Win7 - C:\Users\username\Appdata\LocalLow\Sun\Java\%version%

There's no need to install Java to get the Data1.cab and jre1.7.0_11.msi files, btw.  Once I have those two files, I update my regular batch file as follows:

taskkill /F /IM iexplorer.exe
taskkill /F /IM iexplore.exe
taskkill /F /IM firefox.exe
taskkill /F /IM chrome.exe
taskkill /F /IM javaw.exe
taskkill /F /IM jqs.exe
taskkill /F /IM jusched.exe
msiexec.exe /x {26A24AE4-039D-4CA4-87B4-2F86417009FF} /qn
taskkill /F /IM iexplorer.exe
taskkill /F /IM iexplore.exe
taskkill /F /IM firefox.exe
taskkill /F /IM chrome.exe
taskkill /F /IM javaw.exe
taskkill /F /IM jqs.exe
taskkill /F /IM jusched.exe
msiexec.exe /i jre1.7.0_11.msi /qn
exit

This kills any browser instances and related Java processes, uninstalls the last version (for me, it was 7u9) and then installs 7u11.  For the MI, I zip all 3 files, upload the zip, set the Installation Command to "Configure Manually", enter the batch file name, and it's ready to go.  Users do get an empty command prompt box for a couple seconds, but this hasn't caused any issues with deployment.

For what it's worth, I've been deploying using this setup for several versions without problems.

Hope that helps!

John

Answered 01/14/2013 by: jverbosk
Red Belt

  • Thank you for this awesome script. I've been trying to figure out how to do an uninstall of any Java version, but I'm coming to the conclusion that it's not possible. I'll have to do the uninstall string for every version I have, right? Seems to work from what I can tell, but it's hard to find uninstall strings for every version out there.
  • Also, do you do patching via the K1000? If so, do you manually do Java updates? I haven't been too happy with K1000 patching since we started, and thinking that I would get more control out of manual distributions or scripts.
  • sfigg - Here's a good writeup on a VB script that iterates through the registry and removes anything MSI based (such as Java): http://www.itninja.com/question/google-earth-uninstall
    • Thanks Chris, that will be very useful.
  • Thanks, Cblake. So I just put "java" in where "itunes" currently is, and it will remove anything Java on the machine, correct? (MSI based, which Java typically is)
  • Here's a blog I posted a while ago on how I removed all of the old versions of Java from my machines, in case it's helpful for anyone:

    http://www.itninja.com/blog/view/uninstall-program-by-name-only-kill-dependent-processes-force-mi-check-in-via-script-w-java-example

    John
    • Thanks I will take a look at this. First priority is to get all users who have 7u(x) to 7u11.
    • I'm having an issue running the VBS script, even manually. It get some sort of compiled error code. I copied the whole section and saved it as a VBS file, but still running into errors. Can you help guide me in the right direction? I need to push out a massive uninstall/install tomorrow (1/17) to get rid of old Java instances and install 7u11.

      Thanks!
  • Take the spaces out and it will work. It's specifically dying here:

    Set objWMIService = GetObject("winmgmts:" _

    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

    ...due to the "_" character telling the Set line to expect something on the next line. If you change this to:

    Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

    ...it will work fine. This was just a formatting issue when posting. I retested the script and it is working fine, but is quite CPU intense. It may not remove later versions of Java 7 as-is, so you may have to add another "Product Where Name Like" section to match whatever version you need to remove (there are several here, just copy one and update).

    John
Please log in to comment

Answers

4

We generally extract the MSI, but I imagine that the .EXE install would be the same as what they used in this thread:

http://www.itninja.com/software/oracle/java-tm-7-update-2-64-bit/7-811

Answered 01/14/2013 by: fjasonduarte
White Belt

Please log in to comment
3

Here is a script that will remove the previous versions of Java and install Java 7 update 11!

http://www.itninja.com/blog/view/kace-install-java-7-update-11-using-a-script-removes-previous-versions

 

Answered 01/31/2013 by: c_brock
Third Degree Brown Belt

Please log in to comment
3

Yes I have it going out with via kbox script.  Today we are using a little help from users by using notifications. Includes notification to start/snooze and notification when done.  Will fail if IE is running; this is why we are using the online notification.

See the xml view:

<?xml version="1.0" encoding="utf-8" ?>
<kbots xmlns="http://kace.com/Kbots.xsd">
<kbot>

<config name="JRE 7.0.11 32bit Brower Install" type="policy" id="616" version="1358188629" description="Ready - Installs JRE 7.0.11 and kills the Java Updater - ws">

  <dependencies>
    <dependency name="/packages/kbots/616/jre-7u11-windows-i586.exe" checksum="fddd6bd553f5c3d34339be80711e0789"  />
  </dependencies>

  <execute disconnected="true" logged_off="true">
  </execute>

</config>

<compliance>

  <verify on_failure="break" attempts="1">

    <process_does_not_exist name="iexplore.exe" />

    <on_verify_success>
      <log_message type="activity" message="Installing JRE 7.0.11" />
      <launch_program path="$(KACE_DEPENDENCY_DIR)" program="jre-7u11-windows-i586.exe" wait="true" parms="/s /qn+ IEXPLORER=1 MOZILLA=1 JAVAUPDATE=0 REBOOT=Suppress" />
      <launch_program path="SYS" program="cmd.exe" wait="true" parms="/C &quot;rd /s /q &quot;$(KACE_DEPENDENCY_DIR)&quot;&quot;" />
      <log_message type="debug" message="Debuging:" />
    </on_verify_success>

    <on_verify_failure>

      <on_remediation_success>
      </on_remediation_success>

      <on_remediation_failure>
      </on_remediation_failure>

    </on_verify_failure>

  </verify>

  <verify on_failure="break" attempts="1">

    <registry_value_exists key="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" name="SunJavaUpdateSched" />

    <on_verify_success>
      <log_message type="activity" message="Removing SunJavaUpdateSched reg" />
      <delete_registry_value key="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" name="SunJavaUpdateSched" />
    </on_verify_success>

    <on_verify_failure>

      <on_remediation_success>
      </on_remediation_success>

      <on_remediation_failure>
      </on_remediation_failure>

    </on_verify_failure>

  </verify>

  <verify on_failure="break" attempts="1">

    <process_exists name="jusched.exe" />

    <on_verify_success>
      <log_message type="activity" message="Killing existing jusched PS" />
      <kill_process name="jusched.exe" />
    </on_verify_success>

    <on_verify_failure>

      <on_remediation_success>
      </on_remediation_success>

      <on_remediation_failure>
      </on_remediation_failure>

    </on_verify_failure>

  </verify>

</compliance>

</kbot>
</kbots>



Answered 01/14/2013 by: worzie
Second Degree Green Belt

  • I'm having an issue with Managed Deployment using the EXE getting pop ups for security certificate revocation
    • Maybe try the /qn after the /s
      • /qn was dumped for /s in 7u9 or u10 I believe
    • I'm actually using /s /qn+ to get a notification to the user when it finishes so I haven't tried the /qn alone and mine is working so far.
    • I stand corrected. So it is with Win7 however it does work yet with XP.
    • /qn+ does work! I found my issue was having an existing JRE already installed. I uninstalled them and the 7u11 went off like a charm!

      BTW, I am using another script to clean out old versions I mentioned here: http://www.itninja.com/question/feds-issue-warning-on-java-security-http-www-politico-com-story-2013-01-feds-issue-warning-on-java-security-86090-html-hp-r3
Please log in to comment
2

Look at this link. It would seem that our command line options have changed again.

http://docs.oracle.com/javase/7/docs/webnotes/install/windows/jre-installer-options.html#running

here is the syntax.

<jre>.exe [/s] [INSTALLDIR=<drive>:\<JRE_install_path>] [STATIC=1] [WEB_JAVA=0/1] [WEB_JAVA_SECURITY_LEVEL=VH/H/M/L]

Answered 01/18/2013 by: GeekSoldier
Red Belt

Please log in to comment
1

I found that extracting the MSI is the least tempermental way of getting the MI to work in our K1000, but it also has the highest failure rate. Java shows up in add/remove programs, but if you try to navigate out to any websites that use Java (IE or Firefox) they won't employ the plugin. So even though it will install easiest with the MSI, I recommend using the exe with the appropriate switches.

Answered 01/17/2013 by: GeekSoldier
Red Belt

  • I posted right below you with my issues with the MSI this time around. MSI's are all I have ever used in SCCM, you can do all the same steps to create and deploy a package and use a exe instead?
  • This may be due to Java-related processes running at the time of the install, which is why I suggest killing them before deploying the MSI. I haven't tested to confirm this, but that would be my guess.

    John
  • I don't suppose you know of a way to kill the processes before running the install using a Managed Installation do you?
  • That's what my batch file does via the taskkill lines.

    John
  • I would be flogged for killing such a process. Rather I validate that no iexplore.exe process is running. For uninstalling JRE, I validate no java.exe process is running else instant reboot seems to occur in my testing.
Please log in to comment
1

I'm having a problem with my SCCM push, I have done this successfully before and it worked using the extracted MSI and data file and the following command line:

msiexec /i jre1.7.0_11.msi /q

When I look at my report to see whats going on it looks good:

When I log into those machines that says it completed with success on, the Java panel in the control panel has the java icon (before I fixed my package program it was a broken icon) but when I click on the icon I get this:

I'm not sure if it actually is installed and the control panel is broken somehow or its not installed, is there logs in the C:\Windows\SysWOW64\CCM\Logs that can help me?

I need to get this out ASAP and Im pretty stuck right now. Any insight would be awesome, thanks!

Answered 01/17/2013 by: TBG_Associate
Senior White Belt

  • So I just looked in the Add Remove Programs it does say it installed, is this version of java just broken at the control panel level?
  • When I run IE x86 version I get a pop up that java 6 wants to make changes and even when I say OK it doesn't seem to work correctly, when I go to www.java.com and click do I have java it just sits there thinking. When I run IE x64 and do the same thing it says I have no working version of java installed, when it clearly shows its installed in Add/Remove programs.
  • Is there anything listed in the MSI logs? Using the method I described earlier, Java is working on my clients (verified in IE8/9 and Firefox).

    John
  • Where is the MSI log, I didn't see it in the CCM logs folder? So you use SCCM and when you create the program in the package, you have a .bat file in there that you point to with the data and msi files, in the same folder and just say that it contains source files etc, etc?
  • I just tried your bat file and ran it locally and it installed beautifully, however it still seems to not be working via SCCM. Do you think its because it looks like its already installed (broken) so it just skips it?
  • That would be my guess, assuming it checks to see if the software is already installed before it deploys it. You might try pushing an uninstall script (batch file) using this command to uninstall Java 7u11, and then rerun the installer (batch file, msi, etc) to see if that gets it working.

    msiexec.exe /X {26A24AE4-039D-4CA4-87B4-2F83217011FF} /qn

    John
  • That's what I thought it should be, but when I run it, its runs really fast and so I can tell it didn't actually do anything, when I check and it didn't uninstall, like that uninstall line isn't executing correctly.
  • I wonder if the dev's changed something because I had Java 7 update 9 installed as well and I ran:
    MsiExec.exe /X {26A24AE4-039D-4CA4-87B4-2F83217009FF} /QN
    and it uninstalled with no issues at all, perfectly, but it doesnt work with
    MsiExec.exe /X {26A24AE4-039D-4CA4-87B4-2F83217011FF} /QN
    how can we check this out? I tried using the UinstallStrings.exe app but it doesnt show an entry for Java 7 update 11 very weird and frustrating beacuse I almost have it! Thanks guys.
    • So I finally figured it out, I have the 64 bit version of java installed and I was using the 32 bit uninstall string, so now to fix my broken versions I have installed out there I have this code mashup that uninstalls any broken versions of 32 and 64 bit java 7 v 11 installs then re-installs it, thanks so much for your help guys!

      taskkill /F /IM iexplorer.exe
      taskkill /F /IM iexplore.exe
      taskkill /F /IM firefox.exe
      taskkill /F /IM chrome.exe
      taskkill /F /IM javaw.exe
      taskkill /F /IM jqs.exe
      taskkill /F /IM jusched.exe
      msiexec.exe /X {26a24ae4-039d-4ca4-87b4-2f86417011FF} /qn
      msiexec.exe /X {26a24ae4-039d-4ca4-87b4-2f83217011FF} /qn
      taskkill /F /IM iexplorer.exe
      taskkill /F /IM iexplore.exe
      taskkill /F /IM firefox.exe
      taskkill /F /IM chrome.exe
      taskkill /F /IM javaw.exe
      taskkill /F /IM jqs.exe
      taskkill /F /IM jusched.exe
      msiexec.exe /i jre1.7.0_11.msi /qn
      exit

      Since I have some power users out there I think I'll just push this out via SCCM as is so that if anyone already has it installed it will cleanly uninstall and reinstall, or just skip to the install.
      • My very last (hopefully) issue is that the "broken" installs out there require user input, since its broken it pops up a error what says etc etc cant be found, you just need to click OK and it continues to run and all's good, what can i put in the batch file to skip the error and continue or click "ok" and continue?
  • If this comes up despite silent/suppression switches being used, you might consider using an AutoIT script to automate this part.

    John
    • This is a pretty crazy project, seems to simple and is such a huge pain, so this works on my machine, I am a domain admin, but when I try it on a few other computers in the patch test group the script runs disappears fast and msiexec.exe sits in the task manager and does nothing...
      • Event log:
        Log Name: Application
        Source: MsiInstaller
        Date: 1/21/2013 3:47:15 PM
        Event ID: 11730
        Task Category: None
        Level: Error
        Keywords: Classic
        User: DOROTHY\rcarrera
        Computer: CCTRAIN-03.riogrande.com
        Description:
        Product: Java 7 Update 11 (64-bit) -- Error 1730.You must be an Administrator to remove this application. To remove this application, you can log on as an Administrator, or contact your technical support group for assistance.
        Event Xml:
        &lt;Event xmlns=&quot;http://schemas.microsoft.com/win/2004/08/events/event&quot;&gt;
        &lt;System&gt;
        &lt;Provider Name=&quot;MsiInstaller&quot; /&gt;
        &lt;EventID Qualifiers=&quot;0&quot;&gt;11730&lt;/EventID&gt;
        &lt;Level&gt;2&lt;/Level&gt;
        &lt;Task&gt;0&lt;/Task&gt;
        &lt;Keywords&gt;0x80000000000000&lt;/Keywords&gt;
        &lt;TimeCreated SystemTime=&quot;2013-01-21T22:47:15.000000000Z&quot; /&gt;
        &lt;EventRecordID&gt;10317&lt;/EventRecordID&gt;
        &lt;Channel&gt;Application&lt;/Channel&gt;
        &lt;Computer&gt;CCTRAIN-03.riogrande.com&lt;/Computer&gt;
        &lt;Security UserID=&quot;S-1-5-21-257961461-561061316-635647708-13173&quot; /&gt;
        &lt;/System&gt;
        &lt;EventData&gt;
        &lt;Data&gt;Product: Java 7 Update 11 (64-bit) -- Error 1730.You must be an Administrator to remove this application. To remove this application, you can log on as an Administrator, or contact your technical support group for assistance.&lt;/Data&gt;
        &lt;Data&gt;(NULL)&lt;/Data&gt;
        &lt;Data&gt;(NULL)&lt;/Data&gt;
        &lt;Data&gt;(NULL)&lt;/Data&gt;
        &lt;Data&gt;(NULL)&lt;/Data&gt;
        &lt;Data&gt;(NULL)&lt;/Data&gt;
        &lt;Data&gt;
        &lt;/Data&gt;
        &lt;Binary&gt;7B32364132344145342D303339442D344341342D383742342D3246383634313730313146467D&lt;/Binary&gt;
        &lt;/EventData&gt;
        &lt;/Event&gt;

        I am an Administrator.
        It does run if I do it as a local Admin, is this gonna work if I try to push it out via SCCM 2007?
Please log in to comment
1

I have a question as well - we have a huge variety of java versions on all machines (XP & 7). Is there a script that will uninstall any version of Java prior to 7u11? We have over 5,000 machines and it seems like this will be a hassle. I would love to get them all up to date with a managed install, but I need to be able to remove any previous version first I would imagine.

Answered 01/14/2013 by: sfigg
Red Belt

  • Here's a good writeup on a VB script that iterates through the registry and removes anything MSI based (such as Java): http://www.itninja.com/question/google-earth-uninstall
  • Here's a blog I posted a while ago on how I removed all of the old versions of Java from my machines, in case it's helpful for anyone:

    http://www.itninja.com/blog/view/uninstall-program-by-name-only-kill-dependent-processes-force-mi-check-in-via-script-w-java-example

    John
  • Here is an article I wrote to do this - http://ivan.dretvic.com/2011/02/who-hates-java-how-to-remove-all-java-installations-on-your-network/
    Hope its helpful,
    Ivan
  • I'm having a problem where on windows 7 machines it installs but it doesn't update the browser plugin. If I go to java in the control panel it says it's installed but if you go to java's website to check the version it comes up with a old version.
Please log in to comment
Answer this question or Comment on this question for clarity