Bisher habe ich die jeweils neueste Version von Java immer gemäss dieser Anleitung verteilt. Dabei hat man aus der EXE Datei die MSI Datei extrahiert (und dann mit Orca angepasst). Dieses Vorgehen wird aber schon länger nicht mehr von Oracle unterstützt, daher wollte ich bei der neuen Version den von Oracle empfohlenen Weg einschlagen.
Gemäss Oracle kann man die exe Dateil silent installieren. Alternativ bieten sie auch weiterhin ein MSI an, das aber nur kostenpflichtig erhältlich ist:
Vielleicht wär das ja zahlbar und sicher praktisch. Eine Suche war dann aber ziemlich ernüchternd… (CHF9,500.00 – CHF11,668.00)
Also versuchte ich die EXE Datei, die man von www.java.com herunterlädt, gemäss der Beschreibung von Oracle silent zu installieren.
Statt mit dem kostenlosen Download zu beginnen, wählt man alle Java-Downloads und dann die gewünschte Offline Installation aus. Da wir mit dem 32bit Internet-Explorer arbeiten, sollte auch die Java Installation für 32bit ausgewählt werden, unabhängig davon, ob ein 64bit Windows installiert wurde.
Um die Installation zu steuern, kann man ein ”Configuration File” mitgeben oder Optionen für die “Command-Line” Installation anfügen. Die Optionen sind die gleichen, die man auch für das “Configuration File” benutzen kann und finden sich hier.
Dies ergibt dann für meine Bedürfnisse folgende Installation:
jre-8u25-windows-i586.exe AUTO_UPDATE=Disable /s
Ein Problem dabei ist, dass die alte Version (in meinem Fall Java 7 Update 67) nicht deinstalliert wird.
Um diese Version zu deinstallieren, kann man den Befehl
msiexec /x {26A24AE4-039D-4CA4-87B4-2F03217067FF} /qn
verwenden. Bei der neuen Version von SCCM (ab 2012) kann man auch angeben, dass die alte Version gelöscht werden soll, wenn man die neue installiert.
Leider funktioniert diese Vorgehensweise nicht auf 64bit Computern für die 32bit Javaversion (obwohl das der von Oracle empfohlene Weg für eine silent Installation ist), wenn der Befehl über den System Account ausgeführt wird (wie meistens bei Softwareverteilung).
Die EXE Datei extrahiert zuerst ein MSI. Wenn man das als lokaler Administrator durchführt, wird das MSI in c:\users\<username>\appdata\locallow\sun\java\jre<versionsnummer> extrahiert und dann ausgeführt. Wenn der Systemaccount die EXE Datei ausführt, wird die 32bit Version in c:\windows\syswow64\config\systemprofile\appdata\locallow\sun\java\… entpackt, die 64bit Version in c:\windows\system32\… (ist zwar nicht ganz logisch mit 32 und 64, ist aber so…).
Der Windows Installer von einem 64bit Windows ist aber auch eine 64bit Anwendung und sucht die Datei nachher im 64bit Ordner c:\windows\system32\… wo er sie nicht finden kann, was dann mit einem Fehlercode 1619 quittiert wird, den man normalerweise gar nicht zu Gesicht bekommt, weil SCCM (oder andere Deploymentlösungen) die Installation silent mit dem System-Account durchführen…
Nochmals kurz zusammengefasst …
- Oracle empfiehlt eine silent Installation mit der EXE oder mit dem kostenpflichtigen MSI für etwa CHF 10’0000.-
- Wählt man die Installation mit der EXE Datei, kann man ein 32bit Java nur auf ein 64bit Windows installieren, wenn der Benutzer zwar lokale Adminrechte hat, aber nicht der System-Account ist.
- Und schon ist man in der Sackgasse… Danke für die Empfehlung, Oracle.
Es gibt Wege, wie man auch das hinbiegen könnte (wie dieser, der einen Ordner vorab erstellt und dann einen Junction Point benutzt, um dem System vorzugaukeln, dass der Ordner “system32” der gleiche ist wie “syswow64”. Aber ich gehe doch lieber den alten Weg über das extrahierte MSI, der von Oracle nicht mehr unterstützt wird…
Böse, wer dahinter Kalkül von Oracle vermuten würde, das teure MSI zu verkaufen
Hallo,
das MSI Paket erhält man nach wie vor auf die gleiche Weise wie bei Java 7.
http://winxperts4all.at/index.php/software/65-softwareverteilung-gpo/730-java-8-ueber-gpo-verteilen
LG
Bernhard
Hallo Bernhard
Vielen Dank für den Link.
Ich habe die Version auch wieder wie früher über das angepasste MSI verteilt (https://ictschule.wordpress.com/2011/11/06/java-verteilen/). Wenn es verschiedene Wege gibt, etwas zu erreichen, bevorzuge ich meist denjenigen, der „supported“ ist. Das war der Grund, den Weg über die angepasste EXE-Datei zu versuchen, was dann ja recht frustrierend war. Da die Dokumentation dazu bereits begonnen war, habe ich sie fertiggestellt. Vielleicht hält sie ja so die eine oder den anderen davon ab, den gleichen Weg zu beschreiten und Zeit zu verschwenden…
Gruss, Christian