Nie można wyłączyć funkcji automatycznej aktualizacji Java


77

Właśnie ulepszam mojego nowego laptopa z systemem Windows 7 i chciałem wyłączyć automatyczną aktualizację Java (i w ten sposób zabić głupi proces w tle jusched.exe), ale wydaje mi się, że nie mogę go wyłączyć.

Znalazłem aplet Java Control Panel i na karcie Aktualizacja znalazłem ustawienia, które powinny nim sterować. Mogę je wyłączyć, zastosować i pomyślnie zamknąć okno dialogowe. Ale jeśli po prostu ponownie otworzę kopię zapasową okna dialogowego, zauważę, że zmiany nie zostały w rzeczywistości wprowadzone. Próbowałem wiele razy i to po prostu nie trwa. O co chodzi?

Próbowałem także wyłączyć ikonę w zasobniku systemowym i uzyskałem ten sam efekt. Działa jednak zmiana wielkości bufora tymczasowych plików internetowych.

Jakieś pomysły? Dzięki!


1
Trochę kontynuacji dla przyszłych czytelników: używam wersji x64 systemu Windows 7 i myślę, że stąd pochodzi problem. Domyślam się, że aplet panelu sterowania Java próbuje zmienić ustawienia w niewłaściwych miejscach, ponieważ zainstalowałem 32-bitową Javę na mojej 64-bitowej maszynie (IE zazwyczaj działa jako proces 32-bitowy nawet w 64-OS, więc chciałem 32 bitowa wersja Java).
Scott Bussinger,

2
Również omawiany na Super User: superuser.com/questions/130961
Chris W. Rea

Zgadnij co! W najnowszej wersji środowiska Java JRE 6 usunięto opcję panelu „Aktualizuj”.
hopeseekr

@hopeseekr Wrócił. :)
Mateen Ulhaq,

@ ScottBussinger: dokładnie ten sam problem z czystym 32-bitowym systemem Windows 7.
MarcH

Odpowiedzi:


80

W rzeczywistości ten problem jest spowodowany tym, że panel sterowania wymaga uprawnień administratora, aby zezwolić panelowi sterowania Java na zapisywanie ustawień (nie był naprawiany od wieków, dzięki Sun Microsystems ).

Najpierw musisz znaleźć plik wykonywalny Java Control Panel, w jednej z następujących lokalizacji:

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

lub

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

Ścieżka będzie się różnić w zależności od architektury systemu i zainstalowanej wersji Java. Na przykład 32-bitowa wersja Java 7 zainstalowana w 64-bitowej wersji systemu Windows będzie miała:

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

Po znalezieniu pliku kliknij go prawym przyciskiem myszy i wybierz „Uruchom jako administrator”.

Następnie usuń zaznaczenie opcji „Sprawdź aktualizacje automatycznie” na karcie Aktualizacja i kliknij przycisk OK. Możesz sprawdzić, czy ustawienie zostało zastosowane, przechodząc do tego samego ekranu, jak zwykle w Panelu sterowania.

Możesz również sprawdzić uruchomione procesy, aby zobaczyć, że jusched.exejuż nie działa - został on automatycznie zakończony po kliknięciu OK.


3
Zgadnij co! W najnowszej wersji środowiska Java JRE 6 usunięto opcję panelu „Aktualizuj”. Porozmawiaj o MALWARE.
hopeseekr

@hopeseekr Zgadzam się z tobą! Teraz odpowiedź nie dotyczy JRE 6 ... @Lai Czy istnieje dla nas jakieś rozwiązanie?
Nam G VU

1
Java 7 ma ponownie kartę Aktualizacja.
Iszi

1
tak naprawdę nie działa to dla wersji
java7

1
Karta Aktualizacja nie pojawi się, jeśli javacpl.exenie zostanie otwarta z uprawnieniami administratora.
Auron

34

Możesz wyłączyć aktualizację za pomocą klucza rejestru,

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

lub jeśli używasz 64-bitowego systemu Windows

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

Ustaw na 0, aby wyłączyć ten klucz.

Zaletą tej metody jest to, że wyłącza ją dla wszystkich użytkowników.


2
Jest to jedyna opcja, która działa od wersji 21 JRE 6 Update
hopeseekr

Otworzyłem HKEY_LOCAL_MACHINE \ SOFTWARE \ JavaSoft \ Java Update \ Policy i nie ma on żadnego klucza ani wartości o nazwie „EnableJavaUpdate”. Tylko (Domyślnie), Kraj, PostStatysUrl klucze.
Spiderman

10
na Win64 (z systemem Windows 7) ten klucz jest teraz:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\JavaSoft\Java Update\Policy\EnableJavaUpdate
ekawas

... czy opcja WOW6432Node kontroluje również wersję 64-bitową?
Ashley,

Czy to podejście nadal działa w JRE u33?
blak3r

10

Wystarczy usunąć program z rejestru w rejestrze - usuń, jeśli z

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

Dzięki, wiedziałem, że mogę usunąć wpis rejestru, ale nie mogę zrozumieć, dlaczego robienie tego w „właściwy” sposób nie działa. Myślę, że to musi być jakiś problem z uprawnieniami.
Scott Bussinger

1
To jest zuchwała, ale szybka odpowiedź. Zobacz obsługiwaną odpowiedź bezduszną.
Ryan Bolger

1
Zawsze możesz po prostu usunąć również plik wykonywalny. Warto tylko wspomnieć.
grzeszy

9

W systemie Windows 7 OEM

W systemie 64-bitowym: uruchom C: \ Program Files (x86) \ Java \ jre6 \ bin \ javacpl.exe z uprawnieniami administratora

W systemie 32-bitowym: uruchom C: \ Program Files \ Java \ jre6 \ bin \ javacpl.exe z uprawnieniami administratora

Aby to zrobić, postępuj zgodnie ze ścieżką w przeglądarce Eksploratora Windows i kliknij prawym przyciskiem myszy javacpl.exe, a następnie wybierz „Uruchom jako administrator”

Odznacz opcję „Sprawdź aktualizacje automatycznie” i kliknij „Nigdy nie sprawdzaj” i gotowe.


Jak wspomniano w innych odpowiedziach, wydaje się, że to pole wyboru zaginęło około 1.6.0_21
jimbo

7

Pobierz Autoruns (live.sysinternals.com/autoruns.exe) z Sysinternals / Microsoft i odznacz „SunJavaUpdateSched” w zakładce „Logowanie”.


Nie pojawił się pod Logonem, ale zrobił wszystko.
rwallace

Narzędzia Sysinternals są doskonałe.
jimbo,

1

Prawdopodobnie możesz to zrobić w Konfiguracji systemu (Uruchom: msconfig). Na karcie Uruchamianie usuń zaznaczenie niechcianej usługi.


Zastanawiałem się też nad tym ... zastanawiam się, dlaczego nikt nie wspomniał o tym, aby powstrzymać tę kiepską usługę aktualizacji przed automatycznym uruchomieniem. Najłatwiejsze rozwiązanie zamiast bałaganu w rejestrze i innych rzeczach.
killjoy


1

Musiałem to zrobić w korporacyjnym środowisku usługi Active Directory na wielu komputerach. Znalazłem sporo postów w Internecie, głównie opisujących na różne sposoby zmiany wartości rejestru EnableJavaUpdateoraz EnableAutoUpdateCheckw HKLMi HKCU.

Podczas gdy ten pierwszy działał, nie było to, czego chciałem, ponieważ wyłączył kartę Aktualizacja w panelu sterowania Java, który chciałem zachować do ręcznego uruchamiania. Przerzucanie EnableAutoUpdateCheckna 0nie działało bez względu na to, w której gałęzi go umieściłem. Nie wiem, czy ostatnio była zmiana w sposobie przechowywania go przez Javę, ale ta wartość nie jest nawet napisana DWORD na moim Windows 7. Jest to wartość binarna, którą próbowałem powielić i wypchnąć na inne stacje robocze, ale to nie zadziałało.

Skończyło się na tym, że po prostu uniemożliwiłem uruchomienie pliku jusched.exe przy użyciu następującego ustawienia GPO :

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

Uniemożliwia to automatyczne uruchomienie aktualizacji, ale zachowuje możliwość jej ręcznego uruchomienia.


Dla tych, którzy mnie ścigają: odpowiedź prl77 działa dla mnie w Javie 8 na Win10 x64. Oracle najwyraźniej poszedł do binarnego klucza rejestru dla tej funkcji, która jest reaktywowana z każdą aktualizacją (i najwyraźniej losowo, nawet bez aktualizacji). Ucieczka przed uruchomieniem z zasadami grupy załatwiła sprawę.
Logan Jones

0

Ostrzeżenie: Wydaje się, że następnym razem, gdy instalujesz nowszą Javę, włącza się ponownie „sprawdź dostępność aktualizacji”; przynajmniej zrobiło to dla mnie przejście na aktualizację Java 6 15 do aktualizacji Java 6 16 w systemie Windows 7.

Na razie jedynym sposobem, w jaki udało mi się na stałe pozostawić wyłączone „sprawdzanie aktualizacji”, jest wykonywanie skryptowych instalacji, takich jak http://forums.sun.com/thread.jspa?threadID=5198773 lub ten:

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

Jest wiele problemów z pobieraniem sprawdzania aktualizacji, aby pozostały wyłączone dla wszystkich użytkowników, a najlepszym rozwiązaniem wydaje się być JRE 1.6.0_05 Automatyczna aktualizacja - problemy z wdrożeniem. Dotyczące właściwości pliku wdrażania.properties podczas każdej instalacji.


Pierwsze dwa linki są zepsute.
Peter Mortensen,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.