114

I've installed Java on Windows Vista, and every day I get a Vista security warning asking me if I want to run "jucheck". Apparently this is the Java automatic updater.

Well, I don't want it to run on its own, ever. I cancel it, and quit it. I right-click on the taskbar and unclick "Check for Updates Automatically", and then click "Never Check", and "Apply". And yet, it never remembers this setting. If I come back to the "Java Control Panel" right after clicking "OK", the very same box is checked again, all on its own.

Is there some way to kill jucheck once and for all? If I simply delete jucheck.exe, will Java (other than the automatic check) still work, and will manual updates still work, and will it stop even trying to update every morning?

10
  • 2
    Also being discussed at Server Fault: serverfault.com/questions/14303 Apr 17, 2010 at 15:32
  • If you don't check for updates you may miss out on security updates which would be a bad thing. In my opinion, advice to disable the feature is highly irresponsible. I would personally recommend switching it to check more often. Jun 12, 2010 at 14:24
  • 13
    Tom: I can't imagine what I'd be protecting against. I have exactly one Java program I use, and it's locally installed and operates only on trusted data. I don't have any Java plugin installed and never run any applets or other untrusted code. I think having a program regularly access install new code over the internet would actually make me less secure. It would definitely be less stable, and far more annoying.
    – Ken
    Jun 14, 2010 at 20:47
  • 2
    (part1 of 3)Just for other users who might want Java: I imagine that some people finding this question have come here not because they don't want the Java update, but because they are annoyed by the security warning taking over their whole computer interrupting them from what they are doing and having to click yes or no - which is why I came here. Oct 7, 2012 at 11:57
  • 12
    @therobyouknow why these comments, just add it as an answer.. Nov 8, 2012 at 17:47

10 Answers 10

58

Open the "Run" Command on the Start Menu, type "msconfig" (w/o the quotes), and go to the "Startup" tab. Check for any Java related programs starting when the computer boots. Then uncheck it, click OK, and reboot the computer...

If that doesn't work, open the "Run" command again, type services.msc, and look for any Java related services, especially a Java Service with the word 'update' or 'automatic' in it...Then right-click it, select properties, and disable the service...click OK, and you're done...Hope this helps!

worst case scenario, but this is not recommended: Disable UAC...

2
  • 3
    And hopefully this is not a "Google Updater"/Terminator kind which will come back to put itself the next boot.
    – Gnoupi
    Apr 14, 2010 at 18:41
  • 4
    Now in Windows 8 one can disable it through the Task Manager. Just go to tab Startup right click on the jucheck and choose disable. I think that will do the trick.
    – Devid
    Jan 16, 2014 at 11:21
91

Refer to the following answer at Server Fault - Can’t seem to disable Java Automatic Update:

Actually this problem is due to the control panel requiring Admin Privileges to allow the java control panel to save your settings (hasn't been fixed for ages, thanks to sun micro).

Basically find the java control panel javacpl.exe here:

C:\Program Files\Java\jre6\bin\javacpl.exe

...right click > run with admin privileges.

Uncheck java update, save and then reopen it to check that the setting is sticking.

My added tip: Windows Vista x64 or Windows 7 x64 users should instead look for:

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

Update: For Java 7 (32-bit), look instead for:

C:\Program Files (x86)\Java\jre7\bin\javacpl.exe .. and yes, Java 7 still has this problem – after all these years they didn't fix it to work properly, so this workaround is still required.

4
  • 5
    This one worked for me. Have I mentioned how much I hate Oracle recently? This is still happening after two years. Jun 24, 2012 at 19:09
  • 2
    Did not work for me. Sure, if I run again as admin, the box is not checked, but if I run as the non-admin user the box remains checked. It's as if running as admin only effects the registry setting for the admin account, but not the currently logged in (non admin) user.
    – EddieB
    Jul 26, 2012 at 12:57
  • 2
    @EddieB The technique doesn't apply to different accounts, but rather elevating the privileges of the program to run as administrator under the existing account you're logged in as. The assumption is your user account has administrator privileges, and invoking the program in the manner described permits the program to take advantage of those privileges. If your user account doesn't have administrator privileges, that's a different problem. Jul 26, 2012 at 14:07
  • 4
    Also note that if you have both the 32-bit and 64-bit runtimes installed, you have to run the 32-bit control panel. If not, the update tab will not be shown. I don't know what happens if you only have the 64-bit runtime, I'd assume the update tab will be there. Feb 6, 2013 at 16:43
12

JUCheck was designed for computers with a single user who is an administrator. For those of us with computers that have multiple users where not all of them are administrators, then your simplest option is to rename jucheck.exe

You could also stop JUCheck from running on start up by using msconfig, following the solution provided by studiohack. To do this on Windows 8, log on as a user with admin rights and press CTRL-ALT-DEL and click on Task Manager. Select the Startup tab and right click Java(TM) Update Scheduler and click Disable.

My preferred solution is not to install the JUCheck component in the first place. It also makes the Update tab of the Java Control Panel disappear cleanly. This is a good approach if you manage hundreds or thousands of computers. Rather than have each computer downloading the update you can download it just once and then distribute it in a controlled manner after testing it with your line of business apps.

  1. Download the offline installer (http://java.com/en/download/manual.jsp)
  2. Log on as an administrator and run the offline installer and make a copy the jre1.X.X_XX.msi and Data1.cab files from the AppData folder
    • for Windows 8 the path is C:\Users\USERNAME\AppData\LocalLow\Sun\Java
  3. Cancel the offline installer and instead start the install with the command
    • msiexec /i jre1.X.X_XX.msi JAVAUPDATE=0

If you don't check for updates you may miss out on security updates which would be a bad thing. In my opinion, advice to disable the feature is highly irresponsible. I would personally recommend switching it to check more often. – Tom Hawtin - tackline Jun 12 '10 at 14:24

It may come as no surprise that Tom is an engineer in Java SE security for Oracle Corporation UK. Any software that requires all users of a computer to have admin rights is "in my opinion" highly irresponsible.

2
  • 1
    JUCheck was designed for computers with a single user who is an administrator. how do you know it? is this a guess, reading, something you were involved with, or what? Just asking out of curiosity.
    – n611x007
    Jul 24, 2015 at 21:36
  • @n611x007 The jucheck system tray updater only works if the user is an administrator and UAC is turned off, but does not prompt for UAC elevation, but just fails with an error. That tells you right there what it was designed for.
    – Shanteva
    Apr 27, 2016 at 20:49
8

Just delete jucheck.exe and jusched.exe. Have you thought of this?

On Java Runtime Environment 1.6 versions newer than or equal to 1.6.0.21, go to %PROGRAMFILES%\Common Files\Java\Java Update\ or %PROGRAMFILES(X86)%\Common Files\Java\Java Update\, then delete/rename jucheck.exe and jusched.exe. The current 1.6.0.21 version changed the update executable locations, according to http://forums.cnet.com/5208-6122_102-0.html?threadID=401634.

On Java Runtime Environment 1.6 versions older than 1.6.0.21, go to %PROGRAMFILES%\Java\jre6\bin\ and %PROGRAMFILES(X86)%\Java\jre6\bin\, then delete/rename jucheck.exe and jusched.exe.

If you have any Adobe products installed, you might want to check for more JRE locations. For example, when Adobe Creative Suite 5 is installed, it automatically installs old versions of JRE into these locations:

  • C:\Program Files (x86)\Adobe\Adobe Dreamweaver CS5\JVM\bin\
  • C:\ProgramData\Adobe\CS5\jre\bin\
  • C:\Program Files (x86)\Adobe\Adobe Flash Builder 4\jre\bin\
  • C:\Program Files (x86)\Adobe\Adobe Flash Catalyst CS5\jre\bin\
  • C:\Program Files (x86)\Adobe\Acrobat 9.0\Designer 8.2\jre\bin\

For each location above, delete/rename jucheck.exe and jusched.exe.

Additionally, do a search for jucheck.exe and jusched.exe to find even more JRE locations!

Next, in both %PROGRAMFILES%\Java\jre6\bin\ and %PROGRAMFILES(X86)%\Java\jre6\bin\, right click on javacpl.exe and select "Run as administrator". Select the Update tab, and disable "Check for Updates Automatically", and select "Never Check" for the update interval. Then, go to the Advanced tab, under JRE Auto-Download, select "Never Auto-Download". Click apply and OK.

Start > Run > msconfig, or use a different startup manager tool, then find and delete all instances of jucheck.exe and jusched.exe for each startup entry type.

Next, create a registry file, Disable Java automatic updates.reg, with this inside:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\SOFTWARE\JavaSoft\Java Update\Policy]
"EnableJavaUpdate"=dword:00000000
"EnableAutoUpdateCheck"=dword:00000000
"NotifyDownload"=dword:00000001
"NotifyInstall"=dword:00000001
"PromptAutoUpdateCheck"=-

[HKEY_CURRENT_USER\SOFTWARE\Wow6432Node\JavaSoft\Java Update\Policy]
"EnableJavaUpdate"=dword:00000000
"EnableAutoUpdateCheck"=dword:00000000
"NotifyDownload"=dword:00000001
"NotifyInstall"=dword:00000001
"PromptAutoUpdateCheck"=-

[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Update\Policy]
"EnableJavaUpdate"=dword:00000000
"EnableAutoUpdateCheck"=dword:00000000
"NotifyDownload"=dword:00000001
"NotifyInstall"=dword:00000001
"PromptAutoUpdateCheck"=-

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\JavaSoft\Java Update\Policy]
"EnableJavaUpdate"=dword:00000000
"EnableAutoUpdateCheck"=dword:00000000
"NotifyDownload"=dword:00000001
"NotifyInstall"=dword:00000001
"PromptAutoUpdateCheck"=-

Apply the registry file for all users, and constantly re-apply it every user logon for good measure.

Finally, create a deployment settings file, and place it in %WINDIR%\Sun\Java\Deployment\, %PROGRAMFILES%\Java\jre6\lib\, and %PROGRAMFILES(X86)%\Java\jre6\lib\. Check out:

2
  • I kind of like this solution because I get to keep a .reg file which I can re-use to other computers as well.
    – fedmich
    Apr 20, 2014 at 22:43
  • you want to combine this with Duncan's
    – n611x007
    Jul 24, 2015 at 21:42
1

That seems much more complex than earlier versions which just remembered!

To answer an earlier question - the reason that I want to disable it is because earlier versions weren't very good at uninstalling the previous version before installing the new one. That caused problems with some of the Java software we use at work - also, because work machines have a set version on, I want to ensure that my home pc has the same version - so if I develop stuff for students, it will work. (Some of the elearning software we use doesn't work with newer versions of Java).

I'd rather manually check when I want to, then I can uninstall, download & reinstall.

Were Java to say (as other software does) 'you've already got Java - shall I uninstall it, or do you want two versions' - then I'd let the autoupdate run. (I'd also quite like it if it remembered to ask me before downloading, rather than after. It used to remember these things.)

1

Save this as Java32_Fix.reg and run and it will fix those javacpl.exe as Administrator/Control Panel issues once and for all:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers]
"C:\Program Files\Java\jre6\bin\javacpl.exe"="RUNASADMIN"

Alternately, this is for 64bit OS's running 32bit Java:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers]
"C:\Program Files (x86)\Java\jre6\bin\javacpl.exe"="RUNASADMIN"

Now whenever you click Java in the Control Panel, it will be launched as Administrator automatically.

1
  • 1
    Which means that you'll always see the settings for Administrator, but which doesn't mean that those settings will apply to your user account, so the auto-update will still happen. Comment left because this issue still exists, and is made worse by security certificate "revocation information" issues, so people are still affected by this issue.
    – user31438
    Sep 21, 2012 at 23:27
1

It seems as if Java is ignoring the settings on purpose (in javacpl.exe), but sometimes this is happening because there are more then one version of Java installed on the PC, so one must change the settings for every version separately.

For me the best way is to download Autoruns from Sysinternls and run it as Administrator. From there uncheck Java Updater. I would not do it through msconfig.

Image 1

0

Old versions of Java can be easily removed with the little freeware program JavaRa.

I've used this in Windows XP, Windows Vista and Windows 7 64-bit; it works cleanly and reliably (though you do have to remove a text file log it puts in C:\ detailing the files it has deleted.

1
  • 1
    Javara is a nifty bit of software, but this dosen't quite answer the question, IMO. He wants to turn off a service, rather than remove old versions. I'd also note that java might have lost that annoying old version keeping habit with newer versions.
    – Journeyman Geek
    Nov 9, 2011 at 2:17
0

This is what I did in my part.

  1. I wrote a batch file which registers a .REG (based from XP1's answer)
  2. Task kills jusched.exe, deletes the jucheck.exe, jusched.exe
  3. Remove entry via MS config on start up [manual] <- there are some batch file commands for this too btw.
-2

You can disable Java updates via javacpl and regedit as well.  More details from Fun Bird:

  • Find the java control panel javacpl.exe here:

    C:\Program Files\Java\jre6\bin\javacpl.exe
    

    …right click > run with admin privileges.
    Uncheck java update, save and then reopen it to check that the setting is sticking.
     

  • You can disable the update using the registry key,

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

    or if your you're using 64-bit Windows

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

    Set to 0 to disable this key.

2
  • 4
    Welcome to superuser. Link only answers are frowned on here since if the site goes down, we end up with an utterly meanlingless answer. You may want to paraphrase essential facts from the site you've linked and edit it into your answer.
    – Journeyman Geek
    Jan 3, 2013 at 0:58
  • @JourneymanGeek nice attempt to educate as well as you have the edit button too. luckily I simply hate (read: personally perceive as irritating. I do not actually hate anything.) the fancy of saying to frown (up)on as if people should follow implicit ideas gained from anyone frowning, what a joke, so the good thing is this inspires me to take a move and bring content on the site! So now it's onsite. :)
    – n611x007
    Jul 24, 2015 at 21:34

You must log in to answer this question.

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