37

On my Windows 7 machine the Java update consistently fails with this error message.

(edit: The same thing happens on Windows 8).

Failed to download required installation files.

This seems to a common problem, does anyone have an insight into what's going wrong, and is there a fix for it other than either disabling the update check (seems a bad idea from a security point of view) or waiting for the nag message and then manually installing the new version (annoying and stupid from a usability point of view).

Note that I did install the previous version manually (updating from 6.23 to 6.30 I think?), thinking that might resolve the issue, but no luck.

3
  • Have you tried fully uninstalling/reinstalling Java? Apr 22, 2012 at 2:24
  • @rishimaharaj I uninstalled and reinstalled the last time this happened, though it's possible there was some cruft left in the registry. Apr 22, 2012 at 2:28
  • 1
    I get this error every time I try to install java updates from my user account (even with elevated permissions). I have to actually log into my admin account, and the problem goes away. Jun 23, 2012 at 8:29

5 Answers 5

31

I finally got this working after reading the following:

It turns out that when the java updater attempts to download new updates, it uses the Windows service called “Background Intelligent Transfer Service” (BITS). If the logged on user is only a standard user, then the java updater fails to correctly use the BITS service to download the new update. However, if the BITS service is not available for use by the java updater (either the service is disabled or permissions are denied to the calling process), the java updater uses an alternate mechanism for downloading and applying updates that works successfully, even if the original user was just a standard user with limited rights (no administrative rights).

In order to elevate the java updater so that standard users can install java updates, we must first set the application compatibility mode of the java updater so that will run in compatibility mode for Windows 2000, which did not have the “Background Intelligent Transfer Service”. This will force the Java updater to use the alternate mechanism to download the java updates.

http://privilegeforum.scriptlogic.com/Forum/aff/3/aft/193/afv/topic.aspx

So what you do is:

  1. find jucheck.exe (typically under %PROGRAMFILES%\Common Files\Java\Java Update or %PROGRAMFILES(x86)%\Common Files\Java\Java Update)
  2. open it’s properties and set it to run in Windows 2000 compatibility mode (for all users or at least for your elevated one!)
  3. check for updates again through Java Control Panel

The installer will nagg about your OS not being supported, but will allow you to install the update.

I got this working after about ~3 years of searching for a solution. Still waiting for Oracle to fix it. They simply fail to understand that running as superuser all the time is bad practice and a thing of the past.

9
  • Nice, I'll check that out! May 9, 2013 at 21:19
  • 4
    I'll accept this, though I've upgraded to Windows 8 since I asked the question and this doesn't work there since the compatibility mode functionality has changed. Would be good to get another answer that works for Windows 8. May 19, 2013 at 3:15
  • 1
    Thank you so much - this has been such an annoying issue. My only hope is the update that java is downloading resolves this issue....can't say I'll be holding my breath.
    – Andy
    Jun 11, 2013 at 12:41
  • 3
    This worked for me, but I had to choose "Change Settings for All Users" when setting compatibility mode. Aug 7, 2014 at 0:40
  • 5
    Today, almost two years later, I still have the same problem. It is unbelievable that Oracle still hasn't fixed it. Feb 19, 2015 at 21:17
3

Another non-permanent but quick solution is simply running jucheck.exe in administrator mode:

  1. Find Java updater executable jucheck.exe by using one of the following:
    • type jucheck in the search field of start menu.
    • Look in %PROGRAM_FILES%\Common Files\Java\Java Update
  2. Run Java updater jucheck.exe in administrator mode via context menu:
    1. Push right mouse button on `jucheck.exe
    2. Select "Run as administrator".
5
  • 1
    FYI: This doesn't work on Windows 8.1.
    – jvriesem
    Dec 30, 2014 at 16:50
  • jvriesem, work for me. Nov 27, 2015 at 12:04
  • Works for me on Windows 7. @YShinkarev, if the answer helped you, you should rather upvote than write such comment. Then everyone can see that solution is appreciated by community, and the author gain reputation.
    – Line
    Oct 20, 2017 at 7:29
  • This is a very simple solution. I can confirm that it works on Windows 7.
    – Georg W.
    Jan 24, 2018 at 14:31
  • 1
    Nah. Didn't work for me on Windows 7.
    – user25366
    Aug 12, 2020 at 1:31
0

I know this is a very old question, but in case this helps someone else:

I was having this problem, and it turns out I had a couple of "jre*" processes running. I assume these are Java Runtime Environments that had failed to work before, and they had some resource locked.

Just make sure you're not running any Java apps, then open Task Manager, look for any processes beginning with "jre", and end them. Then try running jucheck.exe again. Worked for me.

0

If you are like me and have tried it all without success, especially on Windows 7, make sure the problem isn't related to secure channel error 409. You won't see that with jucheck.exe though as it will just keep trying to download an update for a while (0% progress), then fail with download error. It will also fail with Ninite.

What solved it for me and is worth a shot:

  1. Select Internet Options.
  2. In the Internet Properties window select the Advanced tab.
  3. Scroll to the Security section.
  4. Make sure to select all of Use SSL and Use TLS check boxes.
  5. Click Apply, then OK.

That's it. From now on the Java update (as well as Ninite) should work for you. Took me a while to figure this one out, so hopefully it still helps someone in 2022 and beyond :)

-1

You should try installing java with Ninite. You can just go to Ninite.com and select java under runtimes. then when you get a notification about a java update run ninite again and it will install the latest java without using the java update mechanism. it is really simple and easy no questions to answer and you can use the same ninite program to update other apps from that site as well.

3
  • 2
    I'd not heard of it before and was a bit sceptical of allowing a random app to install other software, but Ninite does seem to be legit (worth mentioning that it's recommened by Tom's Hardware, Lifehacker, Techcrunch ninite.com/press ). And it works really smoothly. Sep 22, 2012 at 21:51
  • I'm glad you liked it. I use that program all the time to do updates on my machine and to rebuild it.
    – d4v3y0rk
    Sep 26, 2012 at 0:09
  • 3
    Annoyingly this doesn't actually stop the problem from re-occurring - I seem to have to manually re-run the ninite install for each new Java release. Nov 24, 2012 at 0:34

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .