77

I'm just tweaking out my new Windows 7 laptop and wanted to disable the automatic Java updating (and thus kill the silly jusched.exe background process), but I can't seem to get it to actually turn it off.

I found the Java Control Panel applet and found the settings on the Update tab that should control it. I can turn them off, apply them, and close the dialog successfully. But if I just open the dialog backup again right away, I see that the changes weren't actually made. I've tried it numerous times and it just doesn't take. What's up with that?

I also tried to disable the icon in the system tray and got the same effect. Changing the size of the Temporary Internet Files cache work however.

Any ideas? Thanks!

Scott Bussinger
  • 1,761
  • 4
  • 23
  • 27
  • 2
    Also being discussed at Super User: http://superuser.com/questions/130961 – Chris W. Rea Apr 17 '10 at 15:32
  • Guess what! In the latest version of Java JRE 6, the frickin "Update" panel option has been REMOVED! – hopeseekr Mar 01 '11 at 14:35
  • @hopeseekr It's back. :) – Mateen Ulhaq Mar 18 '11 at 23:04
  • 1
    Just a bit of follow-on for future readers: I'm using the x64 version of Windows 7 and I think that's where the problem is coming from. My guess is that the Java control panel applet is trying to change the settings in the wrong places since I installed the 32 bit Java on my 64 bit machine (IE typically runs as a 32 bit process even under the 64 OS so I wanted the 32 bit version of Java). – Scott Bussinger Jun 03 '09 at 17:45
  • @ScottBussinger: exact same problem with a pure 32 bits Windows 7 system. – MarcH Jun 20 '12 at 20:25

9 Answers9

83

Actually this problem is due to the control panel requiring administrator privileges to allow the Java control panel to save your settings (it hasn't been fixed for ages, thanks to Sun Microsystems).

First, you need to find the Java Control Panel executable, in one of the following locations:

C:\Program Files\Java\jre[version]\bin\javacpl.exe

or

C:\Program Files (x86)\Java\jre[version]\bin\javacpl.exe

The path will differ depending on your system's architecture and which version of Java you have installed. For example, a 32-bit version of Java 7 installed on a 64-bit version of Windows will have it in:

C:\Program Files (x86)\Java\jre7\bin\javacpl.exe

Once you've found the file, right-click it and select "Run as administrator".

From there, un-check "Check for Updates Automatically" on the Update tab and click OK. You can verify that the setting has been applied by navigating to the same screen as you normally would through the Control Panel.

You can also check your running processes to see that jusched.exe is no longer running - it was automatically terminated when you clicked OK.

Peter Mortensen
  • 2,319
  • 5
  • 23
  • 24
Alexander Lai
  • 1,907
  • 13
  • 4
35

You can disable the update using the registry key,

HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Update\Policy\EnableJavaUpdate

or if your using 64bit Windows

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\JavaSoft\Java Update\Policy\EnableJavaUpdate

Set to 0 to disable this key.

The advantage of this method is that it disables it for all users.

James McMahon
  • 763
  • 2
  • 8
  • 16
  • 2
    This is the only option that works since JRE 6 Update 21. – hopeseekr Mar 01 '11 at 14:35
  • I opened HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Update\Policy and it doesn't have any key or value called 'EnableJavaUpdate'. Only (Default), Country, PostStatysUrl keys. – Spiderman Mar 04 '11 at 21:04
  • 10
    on a Win64 (running windows 7), this key is now: `HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\JavaSoft\Java Update\Policy\EnableJavaUpdate` – ekawas Jun 26 '11 at 14:57
  • ...does the WOW6432Node option control the 64bit version as well though? – Ashley Apr 11 '12 at 09:25
  • Does this approach still work in JRE u33? – blak3r Oct 11 '12 at 22:12
  • This is the trick and it works for Java JRE 7 and 8 as well. – ocean4dream Oct 14 '14 at 06:07
  • I worked in a restricted access corporate environment. Even with local admin rights enabled, the disable update checkbox is never visible in the Java Control Panel (even when specifically running as admin). This was the only solution that worked. – kevinarpe May 26 '15 at 01:16
10

Just remove the program from starting up in the registry - delete if from

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
MrWhite
  • 11,643
  • 4
  • 25
  • 40
Jon Rhoades
  • 4,989
  • 3
  • 30
  • 47
9

On Windows 7 OEM

On a 64bit system: run C:\Program Files (x86)\Java\jre6\bin\javacpl.exe with Administrator priveledges

On 32 bit system: run C:\Program Files\Java\jre6\bin\javacpl.exe with Administrator priveledges

To do this, follow the path in your Windows Explorer browser and Right Click javacpl.exe, then select "Run as Administrator"

Uncheck the "Check for Updates Automatically" Update feature and click on "Never Check" and you are done.

  • As mentioned in other answers, that check box seems to have gone missing around 1.6.0_21 – jimbo Nov 09 '11 at 13:27
7

Download Autoruns (live.sysinternals.com/autoruns.exe) from Sysinternals / Microsoft, and uncheck "SunJavaUpdateSched" under the tab "Logon".

user3542
  • 71
  • 2
1

You can probably do this from System Configuration (Run: msconfig). In the Startup tab uncheck the unwanted service.

dmo
  • 2,100
  • 1
  • 16
  • 22
  • I was wondering about this too...wonder why no one mentioned it to stop that lousy update service from auto-starting. Easiest solution instead of messing w registry and stuff. – killjoy Aug 25 '18 at 23:31
1

Here's my scripted install for Java that disables the auto-update component at install time: http://blog.stealthpuppy.com/unattended/unattended-install-sun-jre-16-update-10

Aaron Parker
  • 116
  • 4
1

I needed to do this in an enterprise Active Directory environment on a lot of machines. I found quite a bit of posts around the Internet, mostly detailing in various ways changes to registry values EnableJavaUpdate and EnableAutoUpdateCheck in HKLM and HKCU.

While the former worked, it wasn't what I wanted, because it disabled the Update tab in the Java control panel which I wanted to retain for manual runs. Flipping EnableAutoUpdateCheck to 0 did not work regardless of which hive I put it in. I don't know if there was a change recently in how Java stores it, but that value is not even DWORD typed on my Windows 7 box. It's a binary value, which I tried duplicating and pushing to other workstations but that did not work.

I ended up simply preventing jusched.exe from running using the following GPO setting:

Users Config → Policies → Admin Templates → System → Don't run specified Windows applications

That prevents the update from running automatically, but it retains the ability to manually run it.

Peter Mortensen
  • 2,319
  • 5
  • 23
  • 24
prl77
  • 410
  • 5
  • 17
  • For those who come after me: prl77's answer is what works for me for Java 8 on Win10 x64. Oracle apparently went to a binary registry key for that feature that gets reactivated with each update (and seemingly at random even without an update.) Keeping jusched from running with group policy did the trick though. – Logan Jones Apr 08 '19 at 16:39
0

Warning: It seems the next time you install a newer Java, it turns back on the "check for updates"; at least it did for me going Java 6 update 15 to Java 6 update 16 on Windows 7.

So for now, the only way I have found to permanently keep disabled "check for updates" is to do scripted installs, such as http://forums.sun.com/thread.jspa?threadID=5198773 or this one:

blog.stealthpuppy.com/scriptcorner/unattended-install-sun-jre-16-update-10

There are lots of gotch-ya's to getting check-for-updates to stay disabled for all users, and the best solution seems to be JRE 1.6.0_05 Automatic Update - deployment.properties problems involving deployment.properties file during each install.

Peter Mortensen
  • 2,319
  • 5
  • 23
  • 24