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

好吧,我不希望它永远独立运行。我取消并退出。我右键单击任务栏,然后单击“自动检查更新”,然后单击“从不检查”和“应用”。但是,它永远不会记住此设置。如果单击“确定”后立即回到“ Java控制面板”,则会再次选中相同的框,全部独立。 ?如果仅删除jucheck.exe,Java(自动检查除外)是否仍然可以使用,手动更新仍然可以使用,甚至每天早晨尝试更新时都将停止吗?

评论

服务器故障也在讨论中:serverfault.com/questions/14303

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

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

(第1部分,共3部分)仅针对可能需要Java的其他用户:我想有些人找到此问题的原因不是因为他们不希望Java更新,而是因为他们对整个计算机的安全警告感到恼火打断他们的工作并必须单击“是”或“否”,这就是我来这里的原因。
@therobyou知道为什么这些评论,只需将其添加为答案即可。

#1 楼

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

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

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

评论


希望这不是“ Google Updater” /“终结者”类型,它会再次出现以进行下一次引导。

– Gnoupi
2010年4月14日在18:41

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

–分类
2014年1月16日上午11:21

#2 楼

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


实际上,此问题是由于
控制面板需要Admin
允许java控件<​​br />保存您的设置的权限(由于sun
micro,
已经修复了很长时间了。控制面板
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位),应该寻找: ,Java 7仍然存在此问题-这些年来,他们一直没有对其进行修复以使其正常工作,因此仍然需要此解决方法。

评论


这个为我工作。我是否提过最近对甲骨文的憎恨?两年后,这种情况仍在发生。

–汤姆·哈里森(Tom Harrison Jr)
2012年6月24日19:09

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

– EddieB
2012年7月26日12:57



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

–克里斯·W·雷亚(Chris W. Rea)
2012年7月26日14:07



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

–杰夫·梅卡多(Jeff Mercado)
13年2月6日在16:43

#3 楼

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

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

我的首选解决方案不是首先安装JUCheck组件。这也使Java控制面板的“更新”选项卡完全消失。如果您管理数百或数千台计算机,则这是一种好方法。不必让每台计算机都下载更新,您可以只下载一次,然后在使用您的业务应用程序对其进行测试后以受控方式分发更新。 ://java.com/en/download/manual.jsp)
以管理员身份登录并运行脱机安装程序,并从AppData文件夹复制jre1.X.X_XX.msi和Data1.cab文件。


对于Windows 8,路径为C:\ Users \ USERNAME \ AppData \ LocalLow \ Sun \ Java


取消脱机安装程序使用命令开始安装


msiexec / i jre1.X.X_XX.msi JAVAUPDATE = 0





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


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

评论


JUCheck专为具有一个管理员用户的计算机而设计。你怎么知道?这是猜测,阅读,您参与过的事情还是什么?只是出于好奇而问。

–n611x007
15年7月24日在21:36



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

– Shanteva
16-4-27的20:49

#4 楼

只需删除jucheck.exejusched.exe即可。

在Java Runtime Environment 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版本更改了更新可执行文件的位置。

在Java Runtime Environment 1.6版本上早于1.6.0.21的版本,请转到%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\可以找到更多的JRE位置! br />
接下来,在jucheck.exejusched.exe中,右键单击jucheck.exe并选择“以管理员身份运行”。选择更新选项卡,并禁用“自动检查更新”,然后为更新间隔选择“从不检查”。然后,转到“高级”选项卡,在“ JRE自动下载”下,选择“从不自动下载”。单击“应用”,然后单击“确定”。

jusched.exe,或使用其他启动管理器工具,然后查找并删除每种启动项类型的%PROGRAMFILES%\Java\jre6\bin\%PROGRAMFILES(X86)%\Java\jre6\bin\的所有实例。

接下来,创建一个注册表文件javacpl.exe,其中包含以下内容:

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


为所有用户应用该注册表文件,并不断地在每次用户登录时重新应用该注册表文件,以确保一切正常。

最后,创建一个部署设置文件,并将其放置在Start > Run > msconfigjucheck.exejusched.exe中。检出:


http://www.appdeploy.com/messageboards/tm.asp?m=33488
http://download.oracle.com/javase/1.5.0/docs/guide/deployment/deployment-guide/properties.html

http://download.oracle.com/javase/6 /docs/technotes/guides/deployment/deployment-guide/properties.html。


评论


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

–fedmich
14年4月20日在22:43

你想把它和邓肯的结合起来

–n611x007
15年7月24日在21:42

#5 楼

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

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

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

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

#6 楼

将此另存为Java32_Fix.reg并运行,它将一劳永逸地解决那些javacpl.exe作为Administrator / Control Panel问题的问题。操作系统正在运行32位Java:

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"


现在,只要在控制面板中单击Java,它就会自动以管理员身份启动。

评论


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

–Steve314
2012年9月21日23:27



#7 楼

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

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



#8 楼

可以使用免费的小型软件JavaRa轻松删除Java的旧版本。它干净,可靠地工作(尽管您必须删除它放在C:\中的文本文件日志,详细说明已删除的文件。

评论


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

–游侠怪胎♦
2011年11月9日在2:17

#9 楼

这是我所做的事情。


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


#10 楼

您也可以通过javacplregedit禁用Java更新。
来自Fun Bird的更多详细信息:




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

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以禁用此键。




评论


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

–游侠怪胎♦
13年1月3日,0:58

@JourneymanGeek很好地尝试教育,同时您也具有编辑按钮。幸运的是,我只是讨厌(读:个人认为很烦人。我实际上并不讨厌任何东西。)说皱眉的幻想,就像人们应该遵循从任何皱眉中获得的隐含想法一样,开个玩笑,所以好这会激发我采取行动并在网站上带来内容!现在就在现场。 :)

–n611x007
15年7月24日在21:34