如何停止jucheck运行?Java不会记住“自动检查更新”设置


113

我已经在Windows Vista上安装了Java,并且每天我都会收到Vista安全警告,询问我是否要运行“ jucheck”。显然,这是Java自动更新程序。

好吧,我不希望它永远独立运行。我取消并退出。我右键单击任务栏,然后单击“自动检查更新”,然后单击“从不检查”和“应用”。但是,它永远不会记住此设置。如果单击“确定”后立即返回“ Java控制面板”,则会再次选中相同的框,所有框均独立存在。

有什么方法可以一劳永逸地杀死jucheck吗?如果仅删除jucheck.exe,Java(自动检查除外)是否仍然可以使用,手动更新仍然可以使用,甚至每天早晨尝试更新时都将停止吗?


2
还在服务器故障中进行了讨论:serverfault.com/questions/14303
Chris W. Rea 2010年

如果不检查更新,则可能会错过安全更新,这将是一件坏事。我认为,禁用此功能的建议非常不负责任。我个人建议将其切换为更多检查。
Tom Hawtin-大头钉

13
汤姆:我无法想象我会受到什么打击。我只使用了一个Java程序,它在本地安装,仅在受信任的数据上运行。我没有安装任何Java插件,也从未运行过任何applet或其他不受信任的代码。我认为有一个程序定期通过Internet访问安装新的代码实际上会让我不太安全。肯定会不稳定,而且会更烦人。

2
(第1部分,共3部分)只是针对可能需要Java的其他用户:我想有些人找到此问题的原因不是因为他们不想Java更新,而是因为他们对整个计算机的安全警告感到恼火打断他们的工作并必须单击“是”或“否”,这就是我来这里的原因。
therobyouknow 2012年

12
@therobyouknow为什么这些评论,只需添加它作为一个答案..
冈瑟Struyf

Answers:


58

打开“开始”菜单上的“运行”命令,键入“ msconfig”(不带引号),然后转到“启动”选项卡。检查计算机启动时启动的所有与Java相关的程序。然后取消选中它,单击“确定”,然后重新启动计算机...

如果那不起作用,请再次打开“运行”命令,键入services.msc,然后查找任何与Java相关的服务,尤其是其中包含单词“ update”或“ automatic”的Java服务...然后右键-单击它,选择属性,然后禁用该服务...单击“确定”,您就完成了...希望对您有所帮助!

最坏的情况,但是建议这样做:禁用UAC ...


3
希望这不是一种“ Google Updater” / Terminator类型,它将再次出现以进行下一次引导。
Gnoupi

3
现在,在Windows 8中,可以通过任务管理器禁用它。只需转到启动选项卡,右键单击jucheck,然后选择禁用。我认为可以解决问题。
2014年

90

有关服务器故障,请参阅以下答案-似乎无法禁用Java自动更新

实际上,此问题是由于控制面板需要“管理员权限”才能允许Java控制面板保存您的设置(由于sun micro的缘故,该功能尚未修复)。

基本上在这里找到Java控制面板javacpl.exe:

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

...右键单击>以管理员权限运行。

取消选中Java更新,保存并重新打开以检查设置是否正确。

我的补充提示: Windows Vista x64或Windows 7 x64用户应该寻找:

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

更新:对于Java 7(32位),请查找:

C:\Program Files (x86)\Java\jre7\bin\javacpl.exe..是的,Java 7 仍然存在此问题–这些年来,他们一直没有解决它无法正常工作的问题,因此仍然需要此解决方法。


5
这个为我工作。我是否提到过最近对甲骨文的憎恨?两年后,这种情况仍在发生。
汤姆·哈里森(Tom Harrison)

2
没有为我工作。当然,如果我再次以管理员身份运行,则不会选中该框,但是如果以非管理员用户身份运行,则该框仍处于选中状态。好像以admin身份运行只会影响admin帐户的注册表设置,而不会影响当前登录(非admin)的用户。
EddieB 2012年

2
@EddieB该技术不适用于不同的帐户,而是提高了程序的特权,使其可以在您以其身份登录的现有帐户下以管理员身份运行。假定您的用户帐户具有管理员特权,并且以所述方式调用程序将允许程序利用这些特权。如果您的用户帐户没有管理员权限,那就是另一个问题。
克里斯·瑞

4
还要注意,如果同时安装了32位和64位运行时,则必须运行32位控制面板。否则,update将不会显示该选项卡。如果您只有64位运行时,我不知道会发生什么,我认为更新选项卡就在那里。
Jeff Mercado

12

JUCheck专为具有一个管理员用户的计算机而设计。对于那些拥有多个用户且并非所有人都是管理员的计算机的人,最简单的选择是重命名jucheck.exe

您还可以按照studiohack提供的解决方案,使用msconfig阻止JUCheck在启动时运行。为此,请在Windows 8上以具有管理员权限的用户身份登录,然后按CTRL-ALT-DEL并单击“任务管理器”。选择启动选项卡,然后右键单击Java(TM)更新调度程序,然后单击禁用。

我首选的解决方案不是首先安装JUCheck组件。这也使Java控制面板的“更新”选项卡完全消失。如果您管理数百或数千台计算机,这是一个好方法。不必让每台计算机都下载更新,您可以只下载一次,然后在使用您的业务应用程序对其进行测试之后,以受控的方式分发更新。

  1. 下载离线安装程序(http://java.com/en/download/manual.jsp
  2. 以管理员身份登录并运行脱机安装程序,并从AppData文件夹复制jre1.X.X_XX.msi和Data1.cab文件。
    • 对于Windows 8,路径为C:\ Users \ USERNAME \ AppData \ LocalLow \ Sun \ Java
  3. 取消脱机安装程序,而是使用以下命令开始安装
    • msiexec / i jre1.X.X_XX.msi JAVAUPDATE = 0

如果不检查更新,则可能会错过安全更新,这将是一件坏事。我认为,禁用此功能的建议非常不负责任。我个人建议将其切换为更频繁地检查。– Tom Hawtin-大头钉10年6月12日在14:24

Tom是Oracle Corporation UK的Java SE安全工程师,这并不奇怪。任何“需要计算机的所有用户都具有管理员权限”的软件在我看来都是高度不负责任的。


1
JUCheck was designed for computers with a single user who is an administrator.你怎么知道?这是猜测,阅读,您参与过的事情还是什么?只是出于好奇而问。
n611x007

@ n611x007 jucheck系统任务栏更新程序仅在用户是管理员且UAC已关闭的情况下才起作用,但不会提示UAC提升,而是会失败并显示错误。那可以告诉您它的设计目的。
Shanteva '16

8

只需删除jucheck.exejusched.exe。你想到了吗?

在Java运行时环境1.6版本更新至1.6.0.21大于或等于,去%PROGRAMFILES%\Common Files\Java\Java Update\ %PROGRAMFILES(X86)%\Common Files\Java\Java Update\,然后删除/重命名jucheck.exejusched.exe。根据http://forums.cnet.com/5208-6122_102-0.html?threadID=401634,当前的1.6.0.21版本更改了更新可执行文件的位置。

于1.6.0.21的Java Runtime Environment 1.6版本上,转到%PROGRAMFILES%\Java\jre6\bin\ %PROGRAMFILES(X86)%\Java\jre6\bin\,然后删除/重命名jucheck.exejusched.exe

如果您安装了任何Adobe产品,则可能要检查更多的JRE位置。例如,安装Adobe Creative Suite 5后,它将自动将旧版本的JRE安装到以下位置:

  • 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\

对于以上每个位置,删除/重命名jucheck.exejusched.exe

此外,搜索jucheck.exejusched.exe找到更多JRE位置!

接下来,在%PROGRAMFILES%\Java\jre6\bin\ 和中 %PROGRAMFILES(X86)%\Java\jre6\bin\,右键单击javacpl.exe并选择“以管理员身份运行”。选择更新选项卡,并禁用“自动检查更新”,然后为更新间隔选择“从不检查”。然后,转到“高级”选项卡,在“ JRE自动下载”下,选择“从不自动下载”。单击应用,然后单击确定。

Start > Run > msconfig,或者使用不同的启动管理器工具,然后找到并删除的所有实例jucheck.exe,并jusched.exe为每个启动项的类型。

接下来,在其中创建一个注册表文件Disable Java automatic updates.reg

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"=-

为所有用户应用注册表文件,并在每次用户登录时不断重新应用注册表文件,以取得良好效果。

最后,创建部署设置文件,并将其放置在%WINDIR%\Sun\Java\Deployment\%PROGRAMFILES%\Java\jre6\lib\%PROGRAMFILES(X86)%\Java\jre6\lib\。查看:


我有点喜欢这种解决方案,因为我保留了一个.reg文件,该文件也可以在其他计算机上重复使用。
fedmich 2014年

您想将其与Duncan
-n611x007

1

这似乎比刚刚记住的早期版本复杂得多!

要回答一个较早的问题-我要禁用它的原因是因为较早的版本在安装新版本之前不太擅长卸载先前的版本。这就造成了我们在工作中使用的某些Java软件的问题-而且,因为工作机的版本是固定的,所以我想确保家用PC的版本相同-因此,如果我为学生开发东西,它将可以工作。(我们使用的某些电子学习软件不适用于Java的较新版本)。

我宁愿手动检查何时需要,然后可以卸载,下载并重新安装。

是说Java(就像其他软件一样)“您已经拥有Java-我应该卸载它还是要两个版本”,然后让自动更新运行。(如果它记得在下载之前而不是之后问我,我也很喜欢它。它曾经记住这些东西。)


1

将此另存为Java32_Fix.reg并运行,它将一劳永逸地解决那些javacpl.exe作为Administrator / Control Panel问题的问题:

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"

或者,这适用于运行32位Java的64位OS:

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"

现在,每当您在控制面板中单击Java时,它将以管理员身份自动启动。


1
这意味着您将始终看到Administrator的设置,但这并不意味着这些设置将应用于您的用户帐户,因此自动更新仍然会发生。留下评论是因为此问题仍然存在,并且由于安全证书“吊销信息”问题而变得更糟,因此人们仍然受此问题影响。
2012年

1

似乎Java故意忽略了设置(在中javacpl.exe),但是有时会发生这种情况,因为PC上安装的Java版本不止一个,因此必须分别更改每个版本的设置。

对我来说,最好的方法是从Sysinternls 下载Autoruns并以管理员身份运行它。从那里取消选中Java Updater。我不会这样做msconfig

图片1


0

可以使用少量免费软件JavaRa轻松删除Java的旧版本。

我已经在Windows XP,Windows Vista和Windows 7 64位中使用了此功能。它可以干净,可靠地工作(尽管您必须删除它放在C:\中的文本文件日志,详细说明已删除的文件。


1
Javara是一个很漂亮的软件,但是IMO并不能完全回答这个问题。他想关闭服务,而不是删除旧版本。我还要指出的是,java可能已经失去了那个讨厌的旧版本,而习惯了新版本。
Journeyman Geek

0

这就是我所做的。

  1. 我写了一个批处理文件,注册了一个.REG(基于XP1的答案)
  2. 任务杀死jusched.exe,删除jucheck.exe,jusched.exe
  3. 在启动时通过MS config删除条目[手动] <-也有一些批处理文件命令。

-2

您也可以通过javacpl和禁用Java更新regeditFun Bird的更多详细信息:

  • javacpl.exe此处找到Java控制面板:

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

    …右键单击>以管理员权限运行。
    取消选中Java更新,保存然后重新打开以检查设置是否正确。
     

  • 您可以使用注册表项禁用更新,

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

    或者如果使用的是64位Windows

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

    设置为0以禁用此键。


4
欢迎使用超级用户。仅链接的答案在这里不满意,因为如果站点出现故障,我们最终将获得毫无意义的答案。您可能想从所链接的网站解释一些基本事实,然后将其编辑为答案。
Journeyman Geek

@JourneymanGeek很好地尝试教育以及您也具有编辑按钮。幸运的是,我只是讨厌(读:个人觉得很烦人。我实际上并不讨厌任何东西。)幻想说to frown (up)on人们应该遵循从皱着眉头的人那里得到的隐含想法,这是什么玩笑,所以好事是这激励着我并在网站上带来内容!现在就在现场。:)
n611x007
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.