Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

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?

share|improve this question
2  
Also being discussed at Server Fault: serverfault.com/questions/14303 –  Chris W. Rea Apr 17 '10 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. –  Tom Hawtin - tackline Jun 12 '10 at 14:24
10  
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 '10 at 20:47
1  
(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. –  therobyouknow Oct 7 '12 at 11:57
10  
@therobyouknow why these comments, just add it as an answer.. –  Gunther Struyf Nov 8 '12 at 17:47

10 Answers 10

up vote 44 down vote accepted

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...

share|improve this answer
1  
And hopefully this is not a "Google Updater"/Terminator kind which will come back to put itself the next boot. –  Gnoupi Apr 14 '10 at 18:41
1  
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 at 11:21

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.

share|improve this answer
4  
This one worked for me. Have I mentioned how much I hate Oracle recently? This is still happening after two years. –  Tom Harrison Jr Jun 24 '12 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 '12 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. –  Chris W. Rea Jul 26 '12 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. –  Jeff Mercado Feb 6 '13 at 16:43

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.

share|improve this answer

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:

share|improve this answer
    
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 at 22:43

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.)

share|improve this answer

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.

share|improve this answer
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. –  Steve314 Sep 21 '12 at 23:27

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.

share|improve this answer
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 '11 at 2:17

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.
share|improve this answer

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.

share|improve this answer

You can disable Java updates via javacpl and regedit as well. More details are in Update by regedit.

share|improve this answer
2  
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 '13 at 0:58

protected by Community Mar 17 '13 at 14:50

Thank you for your interest in this question. Because it has attracted low-quality answers, posting an answer now requires 10 reputation on this site.

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.