Jak mogę zapobiec instalowaniu paska narzędzi Ask.com przy każdej aktualizacji Java?

230

Jak wielu jest boleśnie świadomych, Oracle kontynuuje nie tylko pakowanie instalacji Java z bezużytecznym paskiem narzędzi przeglądarki internetowej Ask.com, ale także domyślnie włącza jej instalację. Oprócz paska narzędzi, Ask zastępuje również twoją ulubioną wyszukiwarkę w przeglądarce pytaniem.

Co więcej, instalacja Java idzie tak daleko, że faktycznie zaleca zainstalowanie tego bezużytecznego śmieci, co oznacza, że ​​każda osoba nie znająca się na technologii informatycznej z dużym prawdopodobieństwem pozostawi to zaznaczone i zainstaluje (w końcu została ona domyślnie włączona i przyjazny instalator Java poleciłam, prawda?).

Aby dodać zniewagę do obrażeń, nawet jeśli usuniesz pasek narzędzi Ask, możesz być pewien, że zobaczysz go wkrótce, gdy pojawi się kolejna aktualizacja Java (co zdarza się dość często ostatnio, z powodu wielu poprawek bezpieczeństwa dla Javy, ale to inna historia).

Usunę należycie znacznik wyboru, aby zainstalować pasek narzędzi Ask Toolbar za każdym razem, gdy aktualizuję Javę, ale kiedy wspieram moją rodzinę i przyjaciół, to oczywiste, że tak nie jest.

Jak mogę przede wszystkim zapobiec nieznośnemu paskowi narzędzi Ask.com?

abstrask
źródło
8
Zawsze pobieram wersję java offline, która wydaje się być pozbawiona „reklam”.
kobaltz
2
@kobaltz: Jak zachowuje się ta wersja, kiedy ją aktualizujesz (jeśli tylko naciśniesz next, next, next)? Czy otrzymujesz pasek narzędzi Ask. Mój pomysł z tym rozwiązaniem dotyczy szczególnie implementacji na komputerach, których użytkownicy nie są najbardziej obeznani z IT. Użytkownicy, którzy prawdopodobnie zapomną odznaczyć Ask Toolbar i na pewno nie będą się
bawić w
23
Rozważyć podpisanie tej petycji change.org/petitions/... :)
MXX
3
@RasmusRask - Ask.com nie jest dołączony do instalatora offline.
Ramhound
5
Obowiązkowa lektura: Bliższe spojrzenie na to, jak Oracle Instaluje oszukańcze oprogramowanie aktualizacje Javy - zdnet.com/...
Walt Stoneburner

Odpowiedzi:

248

AKTUALIZACJA 21.02.2016: Wygląda na to, że stary klucz rejestru poniżej nie jest już używany do wyłączania sponsorów. Od wersji Java 7u65 i 8u11 (8u40 w systemie Mac OS X) istnieje obsługiwany sposób wyłączania ofert sponsorów bezpośrednio za pomocą Panelu sterowania Java. W systemie Windows:

Control Panel → Java → Advanced → Miscellaneous (scroll to bottom) →Suppress sponsor offers when installing or updating Java

Od wersji 7u55 (8u40 w systemie Mac OS X) można również wyłączać oferty sponsorów za pomocą wiersza polecenia z instalatorem Java ze specjalnym argumentem:

jre-7u55-windows-i586-iftw.exe SPONSORS=0

Dla tych z Was, którzy nadal muszą wyłączać sponsorów w sposób programowy, wydaje się, że teraz wystarczy dodać następujący wiersz C:\ProgramData\Oracle\Java\java.settings.cfg(utwórz nowy plik, jeśli nie istnieje).

SPONSORS=0

Pamiętaj, że ta ostatnia metoda jest nieudokumentowana i nieobsługiwana , podobnie jak stara!


AKTUALIZACJA 21.02.2016: Poniższa metoda to stara metoda wyłączania sponsorów, działa ona tylko w wersjach Java poniżej 7u65. Nowsze wersje Java patrz wyżej. Zagłębiając się trochę w problem, odkryłem, że istnieje ukryty przełącznik, który wyłącza oferty sponsorów w instalatorze automatycznych aktualizacji.

Otwórz następujące klucze w Edytorze rejestru systemu Windows ( regedit.exe):

  • HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft
  • HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\JavaSoft (dostępne tylko w 64-bitowym systemie Windows)

i utwórz w nich nowy String Value(typ REG_SZ) o nazwie SPONSORSwartość DISABLE(zarówno nazwa, jak i wartość muszą być pisane wielkimi literami).

Możesz też skopiować i wkleić poniższy kod do pliku tekstowego o nazwie disable_java_sponsors.regi kliknąć go dwukrotnie, aby zaimportować te wartości do rejestru.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft]
"SPONSORS"="DISABLE"

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\JavaSoft]
"SPONSORS"="DISABLE"

Należy pamiętać, że ten przełącznik nie tylko wyłącza instalację paska narzędzi Ask.com i monit, ale także wszystkich sponsorów potencjalnie powiązanych z konfiguracją Automatyczna aktualizacja / Konfiguracja online (pasek narzędzi Google, pasek narzędzi Yahoo, coś McAfee itp.)


Innym sposobem, bez konieczności pobierania i zmieniania nazwy lub tworzenia nowego .REGpliku, jest skopiowanie i wklejenie następujących dwóch wierszy do wiersza polecenia CMD z podwyższonym poziomem uprawnień:

reg add HKLM\SOFTWARE\JavaSoft /v "SPONSORS" /t REG_SZ /d "DISABLE" /f 
reg add HKLM\SOFTWARE\Wow6432Node\JavaSoft /v "SPONSORS" /t REG_SZ /d "DISABLE" /f
Danilo Roascio
źródło
13
To naprawdę schludne i eleganckie rozwiązanie. Niezłe znalezisko! Miejmy nadzieję, że Java będzie nadal przestrzegać tego ustawienia rejestru i nagle nie zdecyduje się użyć innej wartości - wiesz, po prostu i tak przeforsować oprogramowanie sponsora ;-)
abstrask
3
Właśnie przetestowałem ustawienia rejestru na maszynie wirtualnej z aktualizacją Java RE 7 17. Pasek narzędzi Ask rzeczywiście nie został zainstalowany. Słodkie! Podoba mi się ta poprawka o wiele bardziej niż moja, więc zmienię przyjętą odpowiedź na to. Dzięki! :-)
abstrask
7
Chciałem tylko potwierdzić, że opcja SPONSORZY = WYŁĄCZ również działa dla mnie. Jest teraz częścią naszego GPO stacji roboczej.
myron-semack
2
Plik do pobrania dla Twojej wygody: pastebin.com/download.php?i=iTkxyPum
dtech
2
Odpowiedź roku !!!!
Matias Nino,
46

Edytuj 02.02.2014 : W JavaRE 7u51 pasek narzędzi Ask instaluje się teraz w podfolderze o nazwie „AskPartnerNetwork” zamiast „Ask.com”. Można mieć podejrzenia, o co w tym wszystkim chodzi ... Tymczasem wartości rejestru @Danilo Roascio są nadal przestrzegane i działają tak samo dobrze jak wcześniej.

To tylko podkreśla, że ​​prosta poprawka rejestru jest nadal najprostszym i najlepszym rozwiązaniem. W przypadku zmiany instalatora Java i zignorowania tej wartości rejestru poniższy skrypt może być nadal używany jako obejście problemu - wystarczy się upewnić, że ścieżka Ask Toolbar została zaktualizowana.


Najprostszym sposobem, aby zapobiec ponownej instalacji Ask Toolbar, jaką mogłem wymyślić, było utworzenie folderu, w którym instaluje się Ask Toolbar, i zmodyfikowanie uprawnień, aby nikt nie mógł do niego pisać.

Najpierw upewnij się, że pasek narzędzi Ask został usunięty. Następnie skopiuj następujący kod do Notatnika, zapisz go jako plik .cmd i uruchom w wierszu polecenia z podwyższonym poziomem uprawnień:

REM Detect processor architecture
set proc_arch=x64
if "%PROCESSOR_ARCHITECTURE%" == "x86" ( 
    if not defined PROCESSOR_ARCHITEW6432 set proc_arch=x86
) 

REM Define Ask Toolbar path
if "%proc_arch%" == "x86" set AskPath=%ProgramFiles%\Ask.com
if "%proc_arch%" == "x64" set AskPath=%ProgramFiles(x86)%\Ask.com
set AskReadme=%AskPath%\..\Ask.com_ReadMe.txt
set AskRevert=%AskPath%\..\Ask.com_RestorePermissions.cmd

REM Create dummy Ask Toolbar folder
md "%AskPath%"

REM Add explanatory text file, as to why the dummy folder is there
echo The 'Ask.com' folder is has been created and write protected,> "%AskReadme%"
echo in order to prevent Ask.com Toolbar from being 'accidentally'>> "%AskReadme%"
echo installed, e.g. by Java.>> "%AskPath%\readme.txt">> "%AskReadme%"
echo.>> "%AskReadme%"
echo This has been done using ICACLS by denying write access to the>> "%AskReadme%"
echo EVERYONE security group.>> "%AskReadme%"
echo.>> "%AskReadme%"
echo To revert permissions run:>> "%AskReadme%"
echo %AskRevert%>> "%AskReadme%"

REM Create script to remove restrictions
echo icacls "%AskPath%" /remove:d *S-1-1-0> "%AskRevert%"

REM Deny everyone (SID: S-1-1-0) write access
icacls "%AskPath%" /deny *S-1-1-0:(OI)(CI)W

Uwaga: ICACLS jest zawarty w systemie Windows Vista i nowszych. Możesz pobrać ICACLS dla systemu Windows XP / Server 2003 za pośrednictwem Microsoft KB919240 lub zaktualizowaną wersję za pomocą KB943043 (ale ten drugi należy najpierw poprosić, po czym otrzymasz link e-mailem, aby go pobrać). W tym celu obie wersje powinny działać równie dobrze.

Sprawdziłem za pomocą instalatora aktualizacji Java 1.7 aktualizacja 13, czy pasek narzędzi Ask rzeczywiście nie instaluje się, nawet jeśli pozostawiam zaznaczone pole wyboru.

Podobne podejście można najprawdopodobniej zastosować do zablokowania większości innych rodzajów crapware typu piggybacking.

Edytuj nr 1

Dziwactwo Eksploratora Windows: Odmowa dostępu

Eksplorator Windows zachowuje się trochę dziwnie, jeśli spróbujesz otworzyć folder. Mimo że nadal masz dostęp do odczytu do folderu, Eksplorator Windows poinformuje Cię, że odmowa dostępu, nawet jeśli odmówiono tylko dostępu do zapisu.

Nie dzieje się tak, jeśli po prostu przypisano ci dostęp do odczytu, ale wydaje się, że dzieje się tak, gdy masz przydzielone uprawnienia do odczytu / zapisu do folderu, a następnie odmawiasz mu dostępu do zapisu.

Cofanie uprawnień

Skrypt został zaktualizowany, aby dodać plik tekstowy „czytaj mnie” i skrypt do ponownego usunięcia ograniczenia. Oba są przechowywane w folderze 32-bitowych plików programów.

abstrask
źródło
10
Polecam pozostawienie pliku tekstowego w folderze wyjaśniającego, dlaczego istnieje folder „ask.com” i do czego służy. W ten sposób, gdy spojrzysz na folder za 3 lata, dowiesz się, jaki był tego powód.
Richard
@Richard: Prawdopodobnie dobry pomysł ;-)
abstrask
@Richard: Aagain, bardzo dobry pomysł. Zaktualizowałem skrypt, aby dodać objaśniający plik do odczytu. Jednak z powodu dziwactwa Eksploratora Windows jest on przechowywany bezpośrednio w Program Files, a nie w folderze Ask.com. Skrypt zapisuje teraz również mały skrypt, aby cofnąć zmianę, więc nie musisz pamiętać dokładnie, co zostało zrobione, ani składni ICACLS.
abstrask
Mała aktualizacja skryptu: ścieżka ProgramFiles jest teraz niezależna od ustawień regionalnych.
abstrask
1
@Pacerier: Nie ma powodu, aby tego nie robić. Przeczytaj początek mojej odpowiedzi. Zasugerowałem rozwiązanie przed genialnie prostym modyfikatorem rejestru. Zachowałem swoją odpowiedź jako rezerwową, jeśli Oracle przestanie szanować ustawienie rejestru, lub jako pomysł na zablokowanie innego crapware, niedozwolonego na innym oprogramowaniu niż Java
abstrask
19

Rozważ skorzystanie z https://ninite.com/ Wybierz wszystkie aplikacje, które chcesz zainstalować / zaktualizować, a jednym kliknięciem zainstaluje tylko te aplikacje, bez dodatkowych śmieci, takich jak pasek narzędzi Ask w Javie. Jeśli system ma już najnowszą wersję danej aplikacji, Ninite pominie tę instalację. Nie musisz też ponownie generować pakietu za każdym razem. Ten sam plik .exe zapewni, że zawsze instalujesz najnowsze wersje. Po prostu powiedz swoim znajomym / rodzinie, aby uruchamiali go raz w miesiącu, a upewni się, że są zawsze na bieżąco.

Aktualizacja: Alternatywnie, jeśli zainstalujesz JRE ze strony http://www.oracle.com/technetwork/java/javase/downloads/index.html , nie będzie on dostępny z paskami narzędzi Ask ani McAfee. (Nie jestem pewien, czy później nastąpi automatyczna aktualizacja).

Mxx
źródło
2
Lubię Ninite, ale ma (co najmniej) dwie wady: a) Ninite nie pozwala na rozróżnienie między 32 a 64-bitową Javą (przynajmniej nie wiem o tym) - na 64-bitowych maszynach dostaniesz obie 32 i zainstalowana 64-bitowa Java, ale większość wymaga tylko 32-bitowej wersji. B) Ciche instalacje / aktualizacje to funkcja premium, podczas gdy Java ma wbudowaną automatyczną aktualizację (jakkolwiek by to nie było brzydkie)
abstrask
Czy to naprawdę ważne, czy 64-bitowe środowisko JRE jest również zainstalowane? Nie spowalnia systemu, a gdy przeglądarki uaktualnią się do wersji 64-bitowej, będą miały przygotowane odpowiednie wtyczki. Po prostu powiedz swoim znajomym / rodzinie, kiedy zobaczą wyskakujące aktualizacje Java, aby uruchomić instalator Ninite. Nie potrzebujesz płatnej aplikacji aktualizującej Ninite. Lub nawet umieść Ninite w harmonogramie Windows, aby automatycznie uruchamiał się tak często, jak chcesz i aktualizowałeś te systemy.
Mxx
1
„Czy to naprawdę ważne, czy 64-bitowe środowisko JRE jest również zainstalowane?” - Tak, kiedy w ogóle nie jest potrzebny, myślę, że ma to znaczenie. Ale z drugiej strony jestem trochę pedantyczny, jeśli chodzi o niepotrzebne oprogramowanie ;-). Ponadto miałem wcześniej doświadczenie z Javą zainstalowaną przez Ninite, że wersja 64-bitowa nigdy nie była aktualizowana. Oczywiście można to rozwiązać, po prostu instruując moich „użytkowników”, aby okresowo uruchamiali pakiet Ninite. Ale z drugiej strony, celem było po prostu uniemożliwienie zainstalowania paska narzędzi Ask.com, poprzez Javę lub w inny sposób. Narzędzia takie jak Secunia PSI i CSIS Heimdal mogą aktualizować większość aplikacji innych firm.
abstrask
Java Auto Updater wydaje się aktualizować tylko wersję 32-bitową. Jeśli masz również zainstalowany system 64-bitowy, pozostanie on w tyle.
Martijn Heemels
12

Inną metodą jest zapobieganie rozpoznawaniu DNS domeny ask.com. Przetestowałem to, ustawiając pamięć podręczną / resolver DNS mojej sieci (Bez ograniczeń), aby odrzucać zapytania dla ask.com, a następnie aktualizując java z zaznaczonym polem paska narzędzi Ask. Rezultatem nie była instalacja.

Ta metoda ma tę wadę (jeśli uważasz to za taką), że domena ask.com będzie niedostępna. Ma jednak tę zaletę, że „zainfekowane” systemy ask.com mogą zostać wykryte (ponieważ użytkownicy mogą mieć problemy z wyszukiwaniem), umożliwiając podjęcie leczenia.

Kolejną zaletą jest to, że nie są potrzebne zmiany dla każdego komputera. Rozwiązanie DNS działa natychmiast i jednocześnie dla wszystkich systemów. Należy pamiętać, że inne pamięci podręczne DNS muszą być blokowane - co jest dość typowe w większości kontrolowanych środowisk - zapora sieciowa uniemożliwia dostęp przez port 53 do zewnętrznego DNS ze wszystkich oprócz wewnętrznej pamięci podręcznej / resolvera DNS.


źródło
7
„Ta metoda ma tę wadę (jeśli uważasz to za taką), że domena ask.com będzie niedostępna” - nie uważam tej wady ;-). W przypadku komputerów, które normalnie obsługuję, nie mogę tego skonfigurować na poziomie routera, więc niezależnie od tego byłoby to zadanie na komputer.
abstrask
3
Wzdłuż linii odpowiedzi, darkphader, pozycja pliku hosta 127.0.0.1 www.ask.com może działać dla pojedynczego komputera.
Bryan
10

Listopad 2014: Odpowiedzi są tu w dużej mierze przestarzałe jak Oracle teraz ujawnione to . Przynajmniej możemy powiedzieć, że istnieje teraz „oficjalne” rozwiązanie.

Po pierwsze: pasek narzędzi Ask był zawsze dołączany jako opcja do wersji instalatora Java w wersji konsumenckiej (tej, z której otrzymujesz java.com), podczas gdy wersja korporacyjna instalatora Java (ta, z której otrzymujesz java.sun.com) nigdy go nie miała. Tak więc problem związany z pytaniami był „tylko” problemem dla użytkowników indywidualnych typu prywatnego. Umieszczam „tylko” w cudzysłowie, ponieważ i mnie to irytuje. To nie jest dyskusja, która istniała w korporacyjnym dziale IT, tylko dlatego, że nie było takiej opcji.

Ok, skupmy się na konsumenckiej wersji instalatora Java.

Obecnie widżet Java w Panelu sterowania systemu Windows ma opcję trwałego wyłączenia „monitów”, w których pojawia się pytanie o Zapytaj i gdzie wcześniej trzeba było pamiętać, aby odznaczyć tę opcję.

wprowadź opis zdjęcia tutaj

Musisz to zrobić tylko raz, a potem nigdy więcej. Nadal wolałbym, aby Oracle usunęło go całkowicie z wersji Java dla użytkowników indywidualnych, ale to rozwiązanie oznacza przynajmniej, że musisz powiedzieć „nie” tylko raz.

Istnieje również opcja wiersza poleceń. Więcej informacji tutaj .

to jest fajne
źródło
6

Dla zainteresowanych - stworzyłem szablony administracyjne (jeden dla x86 i jeden dla x64), które mogą być używane w zasadach grupy. Zostały przetestowane i działają w systemach XP i Windows 7.

Aby uzyskać więcej informacji na temat tej procedury, kliknij tutaj .

W zasadach grupy może być konieczne przejście do menu Widok, kliknięcie Filtrowanie i odznacz „Pokaż tylko ustawienia zasad, którymi można w pełni zarządzać”.

Zapisz następujący plik jako nazwa szablonu x86 .adm i zaimportuj w zasadach grupy:

CLASS MACHINE

CATEGORY !!cat01

KEYNAME "Software\JavaSoft"
POLICY !!polname

  SUPPORTED !!supOSes
  EXPLAIN !!poldescr

    PART !!msg01 EDITTEXT REQUIRED DEFAULT "DISABLE"
    VALUENAME "SPONSORS"
    END PART 

END POLICY


END CATEGORY

[strings]
cat01="Java Update Sponsor Offers x86 Windows"
polname="Set Value"
supOSes="Windows 2000+"
poldescr="Enabling this policy and leaving this field reading "DISABLE" will remove sponsor offers during Java updates"
msg01="DISABLED = Sponsor Offers Disabled"

Zapisz następujący plik jako nazwa szablonu x64 .adm i zaimportuj w zasadach grupy:

CLASS MACHINE

CATEGORY !!cat01

KEYNAME "SOFTWARE\Wow6432Node\JavaSoft"
POLICY !!polname

  SUPPORTED !!supOSes
  EXPLAIN !!poldescr

    PART !!msg01 EDITTEXT REQUIRED DEFAULT "DISABLE"
    VALUENAME "SPONSORS"
    END PART 

END POLICY


END CATEGORY

[strings]
cat01="Java Update Sponsor Offers x64 Windows"
polname="Set Value"
supOSes="Windows 2000+"
poldescr="Enabling this policy and leaving this field reading "DISABLE" will remove sponsor offers during Java updates in 64-bit Windows"
msg01="DISABLED = Sponsor Offers Disabled"

Powinieneś zobaczyć je teraz w zasadach grupy: Zasady grupy

Mam nadzieję, że te informacje pomogą innym utrzymać te śmieci poza ich sieciami!

-Mikrofon

Mikrofon
źródło
Przyjemne do wdrażania w przedsiębiorstwie, chociaż osobiście wolę wdrażanie ustawień rejestru przy użyciu Preferencji zasad grupy, zamiast majstrować przy uzyskiwaniu składni w niestandardowych szablonach ADM już w prawo ;-)
abstrask
5

Zostało to wspomniane w komentarzach, ale nie zostało jasno wyjaśnione w żadnej z odpowiedzi:

Offline instalator systemu Windows dla Java nie wyświetla monitu o zainstalowanie paska narzędzi Ask. Łącze do instalatora Java SE JRE (jeśli nie wiesz, co oznacza SE lub JRE, to właśnie tego chcesz) znajduje się obecnie w:

http://www.oracle.com/technetwork/java/javase/downloads/jre7-downloads-1880261.html

Instalator offline systemu Windows dla x86 (tj. Oprogramowanie 32-bitowe, zawiera większość przeglądarek) jest wyraźnie oznaczony. 64-bitowy instalator wydaje się być dostępny tylko w trybie offline.

depquid
źródło
To świetnie, ale nadal będziesz musiał odznaczyć go przy każdej aktualizacji.
Jirka-x1
3

Wydaje się, że pakiet javaruntime w Chocolatey pozwala uniknąć instalowania paska narzędzi Ask. Uruchomiłem ten pakiet i, niestety, automatyczną aktualizację i nie widziałem paska narzędzi Ask zainstalowanego po aktualizacji z tego początkowego źródła. Podejrzewam, że aktualizator Java przestrzega oryginalnych parametrów instalacji.

Do Twojej wiadomości, Chocolatey to menedżer aplikacji / pakietów dla systemu Windows, taki jak apt-get dla Linux.

Anthony Mastrean
źródło