SBK 3 Geschrieben 24. April 2009 Melden Teilen Geschrieben 24. April 2009 Hallo Leute, Ich möchte ein Skript schreiben, das alle bestehenden Javaversionen auf den Clients deinstalliert und die neueste Version 1.6.13 installiert. Dabei wollte ich die automatischen Updates deaktivieren. Dabei scheitere ich aber bereits kläglich. Früher unter Version 1.5 funktionierte der folgende Regkey: [HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Update\Policy] "EnableAutoUpdateCheck"=dword:00000000 Seit der Version 1.6 ist der inaktiv und man muss die Update-Einstellung über folgenden Key steuern: [HKEY_CURRENT_USER\Software\JavaSoft\Java Update\Policy] "EnableAutoUpdateCheck"=hex:blabla Das Problem hierbei ist, dass der Key bei jedem Client anders lautet und dadurch nicht mit 0 oder 1 eingestellt werden kann. Hat jemand das Problem über ein Skript lösen können? Gruss SBK Zitieren Link zu diesem Kommentar
Babble 11 Geschrieben 25. April 2009 Melden Teilen Geschrieben 25. April 2009 Hallo SBK, ich habe mir dafür ein AutoIt-Script gebastelt. Das installiert im Startupscript die aktuelle Java-Version und kopiert eine Datei in ein Verzecihnis, die die automatische Installation verhindert (lt. Deployment-Guide von Sun). Wenn ich Montag in der Firma bin such ich dir das mal raus. Gruss, Babbel Zitieren Link zu diesem Kommentar
SBK 3 Geschrieben 27. April 2009 Autor Melden Teilen Geschrieben 27. April 2009 Hallo Bubble, Ich habe das Skript soweit zusammen. Zum deinstallieren aller vorgängigen Versionen habe ich folgendes Skript im Einsatz: @echo off & cls Rem List all Installation subkeys from uninstall key. echo Searching Registry for Java Installs for /f %%I in ('reg query HKLM\SOFTWARE\microsoft\windows\currentversion\uninstall') do echo %%I | find "{" > nul && call :All-Installations %%I echo Search Complete.. goto :EOF :All-Installations Rem Filter out all but the Sun Installations for /f "tokens=2*" %%T in ('reg query %1 /v Publisher 2^> nul') do echo %%U | find "Sun" > nul && call :Sun-Installations %1 goto :EOF :Sun-Installations Rem Filter out all but the Sun-Java Installations. Note the tilda + n, which drops all the subkeys from the path for /f "tokens=2*" %%T in ('reg query %1 /v DisplayName 2^> nul') do echo . Uninstalling - %%U: | find "Java" && call :Sun-Java-Installs %~n1 goto :EOF :Sun-Java-Installs Rem Run Uninstaller for the installation MsiExec.exe /x%1 /qb echo . Uninstall Complete, Resuming Search.. goto :EOF Das nachfolgende überprüft ob die aktuelle installiert ist und ruft andernfalls die obenstehende Deinstallationsroutine auf und installiert die aktuelle Version 13. @echo off & setlocal set "Datei=c:\Programme\Java\jre6\bin\java.exe" set "GetV=%Temp%\GetV.vbs" echo Set objWMIService=GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")>"%GetV%" echo Set colFiles=objWMIService.ExecQuery ("SELECT * FROM CIM_Datafile WHERE Name='"^&Replace(WScript.Arguments(0),"\","\\")^&"'")>>"%GetV%" echo For Each objFile in colFiles: WScript.Echo objFile.Version: Next>>"%GetV%" set Version= for /f %%i in ('cscript //nologo "%GetV%" "%Datei%"') do set "Version=%%i" if defined Version if [%Version%]==[6.0.130.3] goto :ende6 del "%GetV%" call \\server\SYSVOL\server.local\scripts\Javauninstall.bat \\server\Java\jAVARUNTIME1.6.0.13.exe /quiet /norestart :ende6 Was mir noch fehlt, ist das deaktivieren der automatischen Updates. Falls Du mir Deine Lösung noch angeben könntest, wäre mir sehr gedient. Gruss SBK Zitieren Link zu diesem Kommentar
Babble 11 Geschrieben 27. April 2009 Melden Teilen Geschrieben 27. April 2009 Hallo SBK, bei mir spielt das so: $myUser = Der Administrator $myDom = @LogonDomain $myPass = Das Administrator-Kennwort $myDir = "C:\Software\" $myTag = "Java-6.13.ins" $myInstall = "\\Fileserver\Netlogon\Software\Java\jre-6u13.exe /passive" $myFileSrc1 = "\\Fileserver\Netlogon\Software\Java\deployment.config" $myFileDest1 = @WindowsDir & "\Sun\Java\Deployment\" $myMessage = "Sun Java Runtime 6U13 wird installiert." If Not IsAdmin() Then RunAs($myUser, $myDom, $myPass, 1, @ScriptFullPath, @ScriptDir, @SW_HIDE) Exit EndIf If Not FileExists ($myDir) Then ; Marker-Verzeichnis existiert nicht. DirCreate ($myDir) ; also Anlegen. EndIf ; Verzeichnis existiert If FileExists($myDir & "\" & $myTag) Then ; Programm-Tag existiert auch, Programm ist schon installiert. Exit ; Script beenden, alles Gut. EndIf BlockInput(1) ; Benutzereingaben sind gesperrrt SplashTextOn("Automatische Software-Installation", @CRLF & " " & $myMessage & @CRLF & " Bitte warten...", 250, 70, -1, 70, 4, "", 10) runwait( $myInstall ) ; Programm-Installation (Silent) FileCopy( $myFileSrc1, $myFileDest1, 9) SplashOff() BlockInput(0) ; Benutzereingaben wieder freigegeben $myFile = FileOpen( $myDir & $myTag, 2) If $myFile = -1 Then MsgBox(0, "Hinweis", "TAG konnte nicht erstellt werden!") Exit EndIf FileClose ($myFile) Das ganze wird kompiliert und im Startup-Skript aufgerufen. Da ich die normale Setup-Routine ausführe wird sauber ein Update auf die neue Version durchgeführt. Danach wird die Datei 'deployment.config' nach '%windir%\Sun\Java\Deployment' kopiert. In der Datei gibt es nur zwei Zeilen: deployment.javaws.autodownload=NEVER deployment.javaws.autodownload.locked= Siehe: System- and User-Level Properties So installiere oder update ich mittlerweile fast alle Nicht-Microsoft-Programme (Firefox, Acrobat Reader etc.) Gruss, Babble Zitieren Link zu diesem Kommentar
SBK 3 Geschrieben 11. August 2009 Autor Melden Teilen Geschrieben 11. August 2009 Hi Babble, Es ist zwar schon ein weilchen her, aber ich muss nochmals auf die Deployment.config zu sprechen kommen. Ich habe die Datei über Loginskript auf alle PC's ins %windir%\Sun\Java\Deployment kopiert. Der Inhalt der Datei besteht wie von Dir angegeben nur aus zwei Zeilen: deployment.javaws.autodownload=NEVER deployment.javaws.autodownload.locked= Die Javaupdates sind aber noch immer aktiv und können nach belieben vom Benutzer verändert werden. Gemäss Filemon.exe wird aber beim starten der JAVA-Konsole in der Systemsteuerung, das deployment.config geladen. Dies hat aber anscheinend keine Auswirkung. Funktioniert es bei Dir wirklich? Gruss SBK Zitieren Link zu diesem Kommentar
SBK 3 Geschrieben 18. August 2009 Autor Melden Teilen Geschrieben 18. August 2009 Hat niemand eine Antwort auf das Javaupdateproblem? SBK Zitieren Link zu diesem Kommentar
Dukel 457 Geschrieben 18. August 2009 Melden Teilen Geschrieben 18. August 2009 Bei mir gibts den Key: EnableJavaUpdate (REG_DWORD) Zitieren Link zu diesem Kommentar
SBK 3 Geschrieben 21. August 2009 Autor Melden Teilen Geschrieben 21. August 2009 Deaktiviert der Registryeintrag das Javaupdate wirklich oder blendet er nur das Register Aktualisierung aus? Wäre super wenn der Eintrag funktioniert. Gruss SBK Zitieren Link zu diesem Kommentar
Stephan Betken 43 Geschrieben 21. August 2009 Melden Teilen Geschrieben 21. August 2009 Wenn das Java-Update deaktiviert werden soll, dann sollte man vielleicht einfach den Start des dafür vorgesehenen Programms unterbinden. reg delete HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v SunJavaUpdateSched /f Zitieren Link zu diesem Kommentar
Sunny61 812 Geschrieben 21. August 2009 Melden Teilen Geschrieben 21. August 2009 Deaktiviert der Registryeintrag das Javaupdate wirklich oder blendet er nur das Register Aktualisierung aus? Wäre super wenn der Eintrag funktioniert. Am besten probierst Du es einmal selbst aus. Mit dem ProcessMonitor kann man ja sehen was geändert wurde. Evtl. hilft dir ja auch dieser Thread weiter: http://www.mcseboard.de/windows-forum-ms-backoffice-31/java-per-gpo-verteilen-regkeys-147404.html Nicht zu vergessen der Hinweis von Stephan Betken. Zitieren Link zu diesem Kommentar
Babble 11 Geschrieben 21. August 2009 Melden Teilen Geschrieben 21. August 2009 Hallo SBK, das ganze funktionierte nicht mehr ab Java 6. Jetzt entferne ich einfach den Autostart von jusched.exe aus dem Run-Key in der Registry. Das Auto-It-Skript verteilt Java weiterhin, löscht aber nach der Installation zusätzlich den Key, den Stephan Betken genannt hat. Das automatische Update ist dann deaktiviert, allerdings ist der Haken noch im Kontrolfeld zu sehen. Kosmetik. Gruss, Babble. Zitieren Link zu diesem Kommentar
SBK 3 Geschrieben 24. August 2009 Autor Melden Teilen Geschrieben 24. August 2009 Danke Leute, den Registryeintrag hatte ich bereits über das Login- resp. Insatallationscript gelöscht: [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run] "SunJavaUpdateSched"=- Ich habe mich aber vom Updatehaken, dass immer noch gesetzt ist, irritieren lassen. Danke und Gruss an alle Beteiligten! SBK Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.