How to stop jucheck from running? Java won't remember "Check for Updates Automatically" setting

113

23

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?

Ken

Posted 2010-04-14T18:19:34.017

Reputation: 2 669

2

Also being discussed at Server Fault: http://serverfault.com/questions/14303

– Chris W. Rea – 2010-04-17T15:32:32.340

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 – 2010-06-12T14:24:35.467

13Tom: 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 – 2010-06-14T20:47:26.933

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. – therobyouknow – 2012-10-07T11:57:29.267

(part 2 of 3) So, to those folks who want something less interrupting, making the Java Control Panel run with permanent admin rights may be more useful than just disabling - this link shows how: http://www.technize.com/how-to-always-run-programs-as-administrator-in-windows-7/ (rightclick on javacpl.exe in C:\Program Files (x86)\Java\jre7\bin\ select properties, compatibility, run this program as an administrator) Also similar instructions here: http://www.sevenforums.com/tutorials/11841-run-administrator.html

– therobyouknow – 2012-10-07T11:59:01.573

(part 3 of 3) This allows jucheck.exe to run without the admin warning popping up taking over the machine. BUT it doesn't allow the Java update to install, this requires the user to agree. This brings Java update notifications behaviour inline with other plug-in/web content platforms such as Flash and Adobe PDF. The user is still informed if they want to update. If you expect to visit pages that use Java then it would be prudent to keep Java up-to-date as there have been some more vulnerabilities recently whereby native executable code can executed via a Java applet or application. – therobyouknow – 2012-10-07T12:02:59.573

(foot note: I'm sure I may attract negative comments about my suggestion. But what I am trying to do is, for discussion, separate the subjects of Java Update Check (jucheck.exe) and Java itself. My suggestion aims to reduce the inconvenience caused by the jucheck.exe updater whereby a whole screen security warning is displayed with a yes/no dialog to actually just run the updater in the first place BUT AT THE SAME TIME maintaining the updater behaviour wherby it still informs the user that updates are available. – therobyouknow – 2012-10-07T12:06:18.617

P.S. I don't work for Oracle. – therobyouknow – 2012-10-07T12:07:13.077

12@therobyouknow why these comments, just add it as an answer.. – Gunther Struyf – 2012-11-08T17:47:43.547

check my post on another question like this here

– Kaveh – 2013-02-27T20:46:38.867

Answers

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

studiohack

Posted 2010-04-14T18:19:34.017

Reputation: 13 125

3And hopefully this is not a "Google Updater"/Terminator kind which will come back to put itself the next boot. – Gnoupi – 2010-04-14T18:41:03.487

3Now 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 – 2014-01-16T11:21:13.200

90

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.

Chris W. Rea

Posted 2010-04-14T18:19:34.017

Reputation: 10 282

5This one worked for me. Have I mentioned how much I hate Oracle recently? This is still happening after two years. – Tom Harrison Jr – 2012-06-24T19:09:28.733

2Did 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 – 2012-07-26T12:57:20.673

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 – 2012-07-26T14:07:01.040

4Also 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 – 2013-02-06T16:43:33.510

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.

Duncan

Posted 2010-04-14T18:19:34.017

Reputation: 121

1JUCheck 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 – 2015-07-24T21:36:58.710

@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 – 2016-04-27T20:49:07.457

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:

XP1

Posted 2010-04-14T18:19:34.017

Reputation: 924

you want to combine this with Duncan's

– n611x007 – 2015-07-24T21:42:28.897

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 – 2014-04-20T22:43:51.743

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

user50583

Posted 2010-04-14T18:19:34.017

Reputation: 11

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.

Chris

Posted 2010-04-14T18:19:34.017

Reputation: 21

1Which 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 – 2012-09-21T23:27:29.527

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

Devid

Posted 2010-04-14T18:19:34.017

Reputation: 5 566

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.

Ralph Hancock

Posted 2010-04-14T18:19:34.017

Reputation: 11

1Javara 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 – 2011-11-09T02:17:28.103

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.

fedmich

Posted 2010-04-14T18:19:34.017

Reputation: 269

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

user184146

Posted 2010-04-14T18:19:34.017

Reputation: 7

@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 – 2015-07-24T21:34:34.313

4Welcome 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 – 2013-01-03T00:58:41.840