JAVA JRE Softwareverteilung für WPP

Stand: 08/2016 - JAVA 8U101

 

Seit JAVA 8U20 JRE wurden die Regeln auf welchen Wegen JAVA eine Softwareverteilung in einem Unternehmen durchläuft deutlich geändert. Oracle sieht zwei Wege vor:

*Einsatz einer kommerziellen Enterprise-MSI, die entsprechend konfiguriert werden kann

*Verwendung des Offline .EXE Installers mit Zusatzparametern oder Konfigurationsfile

 

Der traditionelle Weg, des Gewinnen der MSI aus dem .EXE Installer wird offiziell nicht supportet.

 

Ausgiebige Tests mit den neuen Möglichkeiten des .EXE Installers zeigten das dieser für den Einsatz in einer Updatebasierten Softwareverteilung wie WPP/WSUS nicht geeignet ist. Ausführliche Gründe finden sich in diesem Blogeintrag.

 

Um zum einen die Kontrolle über die wesentlichsten Kofigurationsparameter zu haben, zum anderen aber auch Herr darüber zu sein welche Version ( gegebenenfalls aus Kompartibilitätsgründen auch ältere ) installierte und deinstalliert werden, kommt in Verbindung mit WPP folgendes vorgehen in Frage:

 

Gewinnung der .MSI aus der jrexxxxx.EXE

Anpassen der .MSI mittels ORCA und Erzeugung eines .MST Files

Erstellung des JAVA Installationsupdates in WPP

Erstellung des JAVA Deinstallationsupdates in WPP

 

Die Anleitung setzt vorraus, das im WSUS bereits eine Computergruppe "JAVA" eingerichtet wurde in der die betreffenden Clients Mitglied sind. Ferner sollte auf dem Server ein (versteckter) Ordner für die Softwareverteilung exsistieren, mit Unterordnern für die zu verteilenden Programme und den entsprechenden Freigaben!

 

  • Gewinnung der .MST aus der jrexxxx.EXE

Von Oracle laden wir die Offline-Installationsdatei herunter.

Wir starten die Installation, warten das Entpacken ab und brechen den Vorgang ab.

Die .MSI befindet sich dann unter c:\Users\Username\AppData\LocalLow\Oracle\

Wir kopieren die .MSI in den Ordner der Softwareverteilung, zB. c:\Softwareverteilung$\JAVA

 

  • Anpassen der .MSI mittels ORCA und Erzeugung eines .MST Files

Wir starten das Programm ORCA und öffnen die jrexxxx.msi aus der Softwareverteilung

Wir wählen "Transform-> New Transform" um nachfolgende Änderungen nicht in der Originaldatei vorzunehmen.

Im Table "Property" nehmen wir folgende Änderungen vor:

- AUTOUPDATECHECK -> 0

- JAVUPDATE -> 0

- REBOOTYESNO -> No

Es ist möglich hier weitere Schalter zu setzen, z.B. hinsichtlich des Sicherheitslevels, aber diese drei sind die Basics mit denen man starten sollte. Bei der Recherche nach weiteren Optionen beachten sie bitte: Einige Optionen sind nur für die Enterprice-MSI verfügbar. Andere nur für das .exe CommandLine File gedacht. Auch wenn Schalter verfügbar sind bedeutet es nicht das sie greifen, so sind z.B. InstallExecuteSequence/FindRelatedProducs->RemoveolderJRES=1 und InstallExecuteSequence/RemoveExsistingProducs->RemoveolderJRES=1wirkungslos.

Wir wählen "Transform-> Generate Transform" und speichern die Datei unter einem erkennbaren Namen, zB. JAVA-Firma.mst .

 

  • Erstellung des JAVA Installationsupdates in WPP

Wir starten WPP, und hangeln uns nach Oracle Corporation /JAVA . Falls sie noch kein Oracle JAVA im WPP Verzeichnis haben gleich weiter zu Schritt 2, es wird dann erst angelegt mit dem ersten erstellten Update.

Wir wählen per Rechtsklick "Update erstellen". Unter "Datei" wählen wir die .msi aus, unter "weitere Dateien" die .mst . WEITER .

Im nächsten Assistentenfenster füllen wir die Beschreibung aus, benennen das Produkt ( JAVA ) und den Titel des Updates (JAVA 8Uxx 32bit Install). WEITER

Ab da einfach alle Asistentenfenster durchklicken und Update veröffentlichen. MSI Installer füllen ihr Regelwerk zumeist selbst sofern nicht besondere Anforderungen nötig sind.

Jetzt die Genehmigung. Wir markieren das Update im Übersichtsfenster, wählen im Kontextmenü "Genehmigen..."

Im sich öffnenden Fenster wählen wir die passende Computergruppe (JAVA) und die Option "zur Installation genehmigen"

Ab sofort sollte es bei der nächsten Updatesuche der ausgewählten Clients erscheinen.

 

  • Erstellung des JAVA Deinstallationsupdates in WPP

Die mit diesem Wege verteilten Updates sind STATISCHE Updates, das bedeutet das alle JAVA Versionen parallel installiert werden und alte nicht automatisch deinstalliert werden. Dies passiert automatisch wenn man mit der extrahierten .MSI arbeitet.

Das ist nicht verkehrt, denn es verhindert das alte Versionen die eventuell im Zusammenspiel mit anderen Programmen zwingend nötig sind einfach verschwinden.

Auf der anderen Seite bedeutet es das man sich selber um die Deinstallation alter JAVA Versionen kümmern muss.

 Die WPP Option " zur Deinstallation genehmigen" funktioniert leider nicht bei JAVA.

Also erstellen wir uns extra ein Deinstallations-Update:

Wir starten WPP, und hangeln uns nach Oracle Corporation /JAVA .

Wir wählen per Rechtsklick " benutzerdefiniertes Update erstellen". Im Custom Update Creator wählen wir links "Allow to uninstall one ore more MSI Product", übernehmen es per Doppelklick ins rechte Feld und öffnen es per Doppelklick.

In das obere Eingabefeld kopieren wir den MSI ProductCode des JAVA Updates das deinstalliert werden soll.  Den Code kann man zB über den MSI Manager ermitteln der von dieser Seite aus zugänglich ist. Oder man nimmt ihn von der letzten Seite des WPP Assistenten mit dem das Update damals erstellt wurde. Oder man zieht ihn aus der Registry, oder .......

Nach einem Klick auf OK schließt sich das Fenster und der normale Updateassistent startet, wobei dieser jetzt bereits mit Infos aus dem vorhergehenden Schritt beladen ist, wie sich an der Befehlszeile erkennen läßt, Als Titel sollten wir so etwas wie "JAVA 8Uxx Uninstall" wählen.

Diesmal benötigen wir Regeln.

Im ersten Regelschritt des Assistenten wählen wir als "Regeltyp: MSI Produkt installiert", klicken auf "+Regel hinzufügen", geben wieder den MSI Product Code ein, markieren "Regel umkehren". Der Rest bleibt leer

Im zweiten Regelschritt des Assistenten wählen wir als "Regeltyp: MSI Produkt installiert", klicken auf "+Regel hinzufügen", geben wieder den MSI Product Code ein. Der Rest bleibt leer.

Durchklicken und Update veröffentlichen.

Jetzt die Genehmigung. Wenn ein neues JAVA Update jrexxx+1.exe erscheint, und es wie gezeigt eingebunden wurde, dann setzen wir das bisherige Installationsupdate auf "Abgelaufen" und das Deinstallationsupdate auf  "Genehmigt", natürlich immer schön für die JAVA Computergruppe.

 

Kommentar schreiben

Kommentare: 0