Menü
Avatar von DAC324
  • DAC324

mehr als 1000 Beiträge seit 06.10.2005

Re: Nein, "Automatisches Update" ist eine Unterstellung

michael_office schrieb am 08.09.2015 18:28:

Gib es das Script eventuell in einer angepassten Form für die aktuellen Java v8 version ohne die Yahoo, Ask oder wie auch immer beigaben?

Ich habe jetzt zwei Skripte für Java 8 geschrieben, die den unsäglichen Java Update Checker vermeiden. Das ist vor allem für die 64-bit-Version wichtig, denn dort gibt es den Java Update Checker sowieso nicht.

Die mit diesen Skripten herunter geladenen Installer bieten (zumindest hier bei mir) keinen Ask-Blödsinn an, sondern laufen ohne weiteren Ärger durch.

Die Bereinigung der Registry, Setzen von Sicherheitseinstellungen und Deaktivierung des Java Update Schedulers habe ich in ein extra Skript ausgelagert, um das Ganze übersichtlicher zu halten. Dieses Skript (hier ganz am Schluss) sollte vor und nach dem eigentlichen Java-Update als Admin ausgeführt werden, denn die Updates setzen einige Einstellungen leider wieder zurück (z.B. Java Update Scheduler).

Hier die Skripte. Wird kein Proxy verwendet, kann diese Überprüfung natürlich entfallen. Benötigt wird eine halbwegs aktuelle Version des Programms cURL (ich verwende 7.41.0.0) - der Pfad zu CURL.EXE muss natürlich angepasst werden.

Download 64-Bit-Version:

@echo off && setlocal enabledelayedexpansion rem setlocal enabledelayedexpansion REM ******************************************************** REM * Java-Update-Skript (64bit-Java) * REM * von DAC324 * REM * Version vom 06.03.2015 * REM ******************************************************** REM * Downloadlink korrigiert * REM ******************************************************** cd /d %~dp0 SET PROXY=10.10.10.10 SET PORT=3128 SET CURDIR=%CD% SET COOKIE="Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" SET UPDATE=Update_JRE64.exe SET VURL=http://www.java.com/de/download/manual.jsp ping -n 2 %PROXY% >nul 2>&1 if errorlevel 1 ( set PROXYCMD= ) else set PROXYCMD=-x %PROXY%:%PORT% SET WGET=..\tools\curl.exe %PROXYCMD% -# -k -b "oraclelicense=a" -L -A "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/6.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)" cls REM Get current version from web server for /f "tokens=1,* delims= " %%i in ('%WGET% %VURL% ^| find "Update"') do set BVERSION="%%j" set BVERSION=%BVERSION:~31,11% set PN=.0_ echo Current Version: %BVERSION% REM Create Java Baseline version out of current version set BVERSION=1.%BVERSION:~0,1%%PN%%BVERSION:~9,2% echo Baseline Version: %BVERSION% rem Page output to parse for link rem <a title="Download der Java-Software für Windows (64-Bit)" href="http://javadl.sun.com/webapps/download/AutoDL?BundleId=103428"> for /f "tokens=8 delims= " %%i in ('%WGET% %VURL% ^| find "(64-Bit)" ^| find "Windows" ^| find "AutoDL"') do ( set URL="%%i" ) echo URL determined for download: %URL:~7,61% SET JAVADIR=%ProgramFiles%\Java\jre%BVERSION%\bin echo %JAVADIR% if not exist "%JAVADIR%" ( echo Installed Java version out of date. Updating... REM set download URL SET URL=%URL:~7,61% %WGET% -o %TEMP%\%UPDATE% !URL! %TEMP%\%UPDATE% /s ) else echo Current version already installed. Exiting... choice /M "Check for old Java versions?" if errorlevel 2 goto end start https://www.java.com/en/download/uninstallapplet.jsp :end cd %CURDIR% if exist %TEMP%\%UPDATE% del %TEMP%\%UPDATE% pause

Hier die 32-bit-Version (für 32-bit Java):

@echo off && setlocal enabledelayedexpansion rem setlocal enabledelayedexpansion REM ******************************************************** REM * Java-Update-Skript (32bit-Java) * REM * von DAC324 * REM * Version vom 25.03.2015 * REM ******************************************************** REM * Downloadlink korrigiert * REM ******************************************************** cd /d %~dp0 SET PROXY=10.10.10.10 SET PORT=3128 SET CURDIR=%CD% SET COOKIE="Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" SET UPDATE=Update_JRE32.exe SET VURL=http://www.java.com/de/download/manual.jsp ping -n 2 %PROXY% >nul 2>&1 if errorlevel 1 ( set PROXYCMD= ) else set PROXYCMD=-x %PROXY%:%PORT% SET WGET=..\tools\curl.exe %PROXYCMD% -# -k -b "oraclelicense=a" -L -A "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/6.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)" cls REM Get current version from web server for /f "tokens=1,* delims= " %%i in ('%WGET% %VURL% ^| find "Update"') do set BVERSION="%%j" set BVERSION=%BVERSION:~31,11% set PN=.0_ echo Current Version: %BVERSION% REM Create Java Baseline version out of current version set BVERSION=1.%BVERSION:~0,1%%PN%%BVERSION:~9,2% echo Baseline Version: %BVERSION% rem Page output to parse for link rem <a title="Download der Java-Software für Windows Offline" href="http://javadl.sun.com/webapps/download/AutoDL?BundleId=103428"> for /f "tokens=8 delims= " %%i in ('%WGET% %VURL% ^| find "Windows" ^| find "Offline" ^| find "AutoDL"') do ( set URL="%%i" ) echo URL determined for download: %URL:~7,61% if defined ProgramFiles(x86) ( SET JAVADIR=%ProgramFiles(x86)% if not "%ProgramFiles(x86)%" == "" set JAVADIR=%ProgramFiles(x86)% SET JAVADIR=%JAVADIR%\Java\jre%BVERSION%\bin ) else SET JAVADIR=%ProgramFiles%\Java\jre%BVERSION%\bin echo %JAVADIR% if not exist "%JAVADIR%" ( echo does not exist. Installed Java version out of date. Updating... REM set download URL SET URL=%URL:~7,61% %WGET% -o %TEMP%\%UPDATE% !URL! %TEMP%\%UPDATE% /s SPONSORS=0 ) else echo Current version already installed. Exiting... choice /M "Check for old Java versions?" if errorlevel 2 goto end start https://www.java.com/en/download/uninstallapplet.jsp :end cd %CURDIR% if exist %TEMP%\%UPDATE% del %TEMP%\%UPDATE% pause

Und zum Schluss noch das Skript zur Bereinigung der Registry (als Admin ausführen!):

@echo off & setlocal enabledelayedexpansion REM ******************************************************** REM * Java-Update-Skript * REM * von Gerd Röthig * REM * Version vom 24.08.2014 * REM ******************************************************** if defined ProgramFiles(x86) ( set PF=%ProgramFiles(x86)% set SWPREFIX=HKLM\SOFTWARE\Wow6432Node\ ) if not defined ProgramFiles(x86) ( set SWPREFIX=HKLM\SOFTWARE\ set PF=%ProgramFiles% ) set AUTOSTART=%SWPREFIX%Microsoft\Windows\CurrentVersion\Run set JSREG=%SWPREFIX%JavaSoft set JQSREG=HKLM\SYSTEM\CurrentControlSet\Services\JavaQuickStarterService SET JUSREG=SunJavaUpdateSched rem echo %SWPREFIX% rem goto :EOF REM disable Ask Toolbar echo Disabling Ask Toolbar installation request reg add %JSREG% /v SPONSORS /t REG_SZ /d DISABLE /F :JQSRemove tasklist|find /i "jqs.exe" if errorlevel 1 ( echo Java Quick Starter does not seem to be running. ) else ( echo Java Quick Starter is running. echo. echo Removing Java Quick Starter... "%PF%\Java\jre7\bin\jqs.exe" -unregister ) reg query %JQSREG% 2>nul >nul if errorlevel 1 ( echo Java Quick Starter registry key does not seem to be present. ) else ( echo RegKey for Java Quick Starter exists. echo. echo removing JQS RegKey... reg delete %JQSREG% /f > nul ) reg query %AUTOSTART% /v %JUSREG% 2>nul >nul if errorlevel 1 ( echo Java Update Scheduler registry key does not seem to be present. ) else ( echo RegKey for Java Update Scheduler exists. echo. echo removing JUS RegKey... reg delete %AUTOSTART% /v %JUSREG% /f > nul ) :Certreg echo. REM ******************************************************** REM * Sicherheitseinstellungen fuer Zertifikate setzen * REM * Nach einem Artikel im Heise-Newsticker: * REM * http://www.heise.de/newsticker/meldung/Java-pfuscht-bei-Zertifikatschecks-1817775.html REM * von DAC324 * REM * Version vom 23.10.2014 * REM ******************************************************** for %%i in (AppDataLow\Software\JavaSoft JavaSoft) do ( SET JAVACERT=HKCU\Software\%%i\DeploymentProperties SET D=deployment. SET DJA=!D!javaws.autodownload SET DS=!D!security. SET R1=!DS!validation.crl true SET R2=!DS!validation.ocsp true SET R3=!DS!TLSv1.1 true SET R4=!DS!TLSv1.2 true SET R5=!DS!askgrantdialog.notinca false SET R6=!D!expiration.check.enabled false SET R7=!DJA! NEVER SET R8=!DS!SSLv3 false SET R9=install.disable.sponsor.offers true SET R10=!DJA!.locked reg add !JAVACERT! /v !R10! /t REG_SZ /f SET CORR=Correcting security settings for echo Validating security settings in !JAVACERT!... echo. for /l %%i in (1,1,9) do ( for /f "tokens=1,2" %%G IN ('echo !R%%i!') DO ( echo. reg query !JAVACERT! /v %%G >nul 2>&1 if errorlevel 1 ( echo %%G not found in registry. echo. echo !CORR! %%G to %%H... reg add !JAVACERT! /v %%G /t REG_SZ /d %%H /f ) else reg query !JAVACERT! /v %%G | find /i "%%G" reg query !JAVACERT! /v %%G | find /i "%%H" 2> nul if errorlevel 1 ( echo !CORR! %%G to %%H... reg add !JAVACERT! /v %%G /t REG_SZ /d %%H /f ) else echo --- OK. ) ) ) echo. echo Finished. echo. pause

Viel Spaß damit :)

DAC324

Das Posting wurde vom Benutzer editiert (11.09.2015 12:42).

Bewerten
- +
Anzeige