Não consigo desativar a Atualização Automática do Java

77

Estou apenas ajustando meu novo laptop com Windows 7 e queria desativar a atualização automática do Java (e, assim, matar o processo de segundo plano bobo jusched.exe), mas não consigo consegui-lo para realmente desativá-lo.

Encontrei o applet Java Control Panel e encontrei as configurações na guia Atualização que devem controlá-lo. Posso desativá-los, aplicá-los e fechar a caixa de diálogo com êxito. Mas se eu simplesmente abrir o backup da caixa de diálogo imediatamente, vejo que as alterações não foram realmente feitas. Eu tentei várias vezes e simplesmente não é preciso. O que há com isso?

Também tentei desativar o ícone na bandeja do sistema e obtive o mesmo efeito. Alterar o tamanho do cache de arquivos temporários da Internet funciona no entanto.

Alguma ideia? Obrigado!

Scott Bussinger
fonte
1
Apenas um pouco de acompanhamento para futuros leitores: estou usando a versão x64 do Windows 7 e acho que é daí que o problema está surgindo. Meu palpite é que o miniaplicativo do painel de controle Java está tentando alterar as configurações nos lugares errados, desde que instalei o Java de 32 bits na minha máquina de 64 bits (o IE geralmente é executado como um processo de 32 bits, mesmo no sistema operacional 64, então eu queria o 32 versão bit de Java).
22830 Scott Bussinger
2
Também está sendo discutida em Super User: superuser.com/questions/130961
Chris W. Rea
Adivinha! Na versão mais recente do Java JRE 6, a opção do painel "Update" foi removida!
hopeseekr
@hopeseekr Está de volta. :)
Mateen Ulhaq
@ ScottBussinger: exatamente o mesmo problema com um sistema Windows 7 de 32 bits puro.
21412 Marc Marh

Respostas:

80

Na verdade, esse problema ocorre devido ao painel de controle que exige privilégios de administrador para permitir que o painel de controle Java salve suas configurações (ele não foi corrigido por muito tempo, graças à Sun Microsystems ).

Primeiro, você precisa encontrar o Java Control Panel executável, em um dos seguintes locais:

C:\Program Files\Java\jre[version]\bin\javacpl.exe

ou

C:\Program Files (x86)\Java\jre[version]\bin\javacpl.exe

O caminho será diferente dependendo da arquitetura do seu sistema e da versão do Java que você instalou. Por exemplo, uma versão de 32 bits do Java 7 instalada em uma versão de 64 bits do Windows terá em:

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

Depois de encontrar o arquivo, clique com o botão direito do mouse e selecione "Executar como administrador".

A partir daí, desmarque a opção "Verificar atualizações automaticamente" na guia Atualização e clique em OK. Você pode verificar se a configuração foi aplicada navegando para a mesma tela como faria normalmente no Painel de controle.

Você também pode verificar seus processos em execução para ver jusched.exese ele não está mais em execução - ele foi automaticamente encerrado quando você clicou em OK.

Alexander Lai
fonte
3
Adivinha! Na versão mais recente do Java JRE 6, a opção do painel "Update" foi removida! Fale sobre o MALWARE.
hopeseekr
@hopeseekr Concordo com você! Agora, a resposta não é aplicável ao JRE 6 ... @Lai Existe alguma solução alternativa para nós?
Nam G VU
1
O Java 7 tem a guia Atualização novamente.
Iszi
1
na verdade, isso não funciona para versões Java7
scigor
1
A guia Atualização não aparece se javacpl.exenão for aberta com privilégios administrativos.
Auron
34

Você pode desativar a atualização usando a chave do registro,

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

ou se você estiver usando o Windows de 64 bits

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

Defina como 0 para desativar esta chave.

A vantagem desse método é que ele é desativado para todos os usuários.

James McMahon
fonte
2
Esta é a única opção que funciona desde JRE 6 Update 21
hopeseekr
Abri HKEY_LOCAL_MACHINE \ SOFTWARE \ JavaSoft \ Java Update \ Policy e ele não tem nenhuma chave ou valor chamado 'EnableJavaUpdate'. Somente chaves (Padrão), País, PostStatysUrl.
Spiderman
10
em um Win64 (Windows 7), esta chave é agora:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\JavaSoft\Java Update\Policy\EnableJavaUpdate
ekawas
... a opção WOW6432Node controla a versão de 64 bits também?
Ashley
Essa abordagem ainda funciona no JRE u33?
blak3r
10

Basta remover o programa da inicialização no registro - exclua se de

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
Jon Rhoades
fonte
Obrigado, eu sabia que poderia remover a entrada do registro, mas não consigo descobrir por que fazê-lo da maneira "certa" não funciona. Eu acho que deve ser algum tipo de problema de permissão.
Scott Bussinger
1
Esta é a resposta hacky, mas rápida. Veja a resposta sem alma para obter a resposta suportada.
22139 Ryan Bolger
1
Você sempre pode excluir esse executável também. Apenas vale a pena mencionar.
sinping
9

No Windows 7 OEM

Em um sistema de 64 bits: execute C: \ Arquivos de Programas (x86) \ Java \ jre6 \ bin \ javacpl.exe com privilégios de administrador

No sistema de 32 bits: execute C: \ Arquivos de Programas \ Java \ jre6 \ bin \ javacpl.exe com privilégios de administrador

Para fazer isso, siga o caminho no navegador Windows Explorer e clique com o botão direito do mouse em javacpl.exe e selecione "Executar como Administrador"

Desmarque o recurso de atualização "Verificar atualizações automaticamente" e clique em "Nunca verificar" e pronto.


fonte
Como mencionado em outras respostas, que a caixa de seleção parece ter desaparecido em torno 1.6.0_21
jimbo
7

Faça o download do Autoruns (live.sysinternals.com/autoruns.exe) no Sysinternals / Microsoft e desmarque "SunJavaUpdateSched" na guia "Logon".

user3542
fonte
Não apareceu no Logon, mas em Tudo.
precisa saber é o seguinte
As ferramentas Sysinternals são excelentes.
jimbo
1

Provavelmente, você pode fazer isso na Configuração do sistema (Executar: msconfig). Na guia Inicialização, desmarque o serviço indesejado.

dmo
fonte
Eu estava pensando sobre isso também ... me pergunto por que ninguém mencionou para impedir que esse péssimo serviço de atualização iniciasse automaticamente. Solução mais fácil em vez de mexer no registro e outras coisas.
killjoy
1

Eu precisava fazer isso em um ambiente corporativo do Active Directory em muitas máquinas. Encontrei várias postagens na Internet, detalhando principalmente de várias maneiras alterações nos valores do registro EnableJavaUpdatee EnableAutoUpdateCheckem HKLMe HKCU.

Enquanto o primeiro funcionava, não era o que eu queria, porque desabilitou a guia Atualização no painel de controle Java que eu queria reter para execuções manuais. Mudar EnableAutoUpdateCheckpara 0não funcionou, independentemente da seção em que a coloquei. Não sei se houve uma alteração recente na maneira como o Java a armazena, mas esse valor nem mesmo é DWORD digitado na minha caixa do Windows 7. É um valor binário, que tentei duplicar e enviar para outras estações de trabalho, mas não funcionou.

Acabei impedindo a execução do jusched.exe usando a seguinte configuração de GPO :

Users Config → Policies → Admin Templates → System → Don't run specified Windows applications

Isso impede que a atualização seja executada automaticamente, mas mantém a capacidade de executá-la manualmente.

prl77
fonte
Para quem vem atrás de mim: a resposta do prl77 é o que funciona para mim no Java 8 no Win10 x64. A Oracle aparentemente foi a uma chave de registro binária para esse recurso que é reativado a cada atualização (e aparentemente aleatória mesmo sem uma atualização).
Logan Jones
0

Aviso: parece que na próxima vez que você instala um Java mais recente, ele volta para a "verificação de atualizações"; pelo menos para mim foi a atualização 15 do Java 6 para a atualização 16 do Java 6 no Windows 7.

Por enquanto, a única maneira que encontrei para manter permanentemente desativada a "verificação de atualizações" é fazer instalações com script, como http://forums.sun.com/thread.jspa?threadID=5198773 ou esta:

blog.stealthpuppy.com/scriptcorner/unattended-install-sun-jre-16-update-10

Existem muitos truques para obter a verificação de atualizações para ficar desativado para todos os usuários, e a melhor solução parece ser a Atualização Automática do JRE 1.6.0_05 - problemas de deployment.properties que envolvem o arquivo deployment.properties durante cada instalação.

Peter Mortensen
fonte
Os dois primeiros links estão quebrados.
Peter Mortensen