Sie kennen sicher das Problem: auf möglichst allen Rechnern ist die Java-Runtime gewünscht, doch bis jetzt sind wir noch auf kein wirklich gutes How-to gestoßen, wie man ein automatisiertes Deployment erstellt. Vor genau diesem Problem standen wir Admins im ESCde auch, weshalb wir uns eine angepasste Lösung entwickelt haben, welche wir Ihnen an dieser Stelle nicht vorenthalten möchten. Dieses Deployment basiert auf der Softwareverteilung über Gruppenrichtlinien:
- Zunächst benötigen Sie den Java-Installer, Sie finden diesen als Download auf der Sun Download-Seite. Dort finden Sie die Installationsdateien jeweils in der x86- und x64-Ausgabe, die momentan aktuelle Version ist die “Version 6 Update 20″.
- Die Softwareverteilung über Gruppenrichtlinien ist nur mit *.msi-Dateien möglich, doch glücklicherweise basiert auch der Java-Installer auf einer *.msi-Datei. Um diese *.msi-Datei zu bekommen müssen Sie zunächst den Installer starten. Wenn dieser Dialog erscheint, ist das Entpacken beendet.

- Nun müssen wir die entpackten Dateien noch finden und auf unsere Installationsfreigabe kopieren. Sie finden die Dateien gut versteckt unter “C:\Users\Username\Appdata\LocalLow\Sun\Java\jre1.6.0_20″ bzw “C:\Users\Username\Appdata\LocalLow\Sun\Java\jre1.6.0_20_x64″ für die x64-Version. Wir benötigen für das Deployment die Dateien “Data1.cab” und “jre1.6.0_20.msi”:

- Prinzipiell könnten wir jetzt schon die *.msi-Datei per Gruppenrichtlinie verteilen, jedoch ist es sinnvoll, noch einige Anpassungen vorzunehmen, um wirklich eine “leise” Java-Installation zu bekommen, welche keinerlei Benutzerinteraktion erfordert. Dazu benötigen wir nun das Windows SDK, Sie finden es in der aktuellen Version 7 im Microsoft Download Center zum Download. Wir benötigen jedoch nicht das komplette SDK, sondern nur das Tool “Orca”. Dafür müssen wir das SDK wie im folgenden Screenshot installieren:

- Nach der Installation finden wir im unter “C:\Program Files\Microsoft SDKs\Windows\v7.0\Bin” die Installationsdatei “Orca.msi”, mit der wir Orca nun installieren können.
- Nun können wir endlich mit der Anpassung unserer *.msi-Datei beginnen, hierzu starten wir Orca und öffnen die zuvor gewonnene *.msi-Datei. In der Tabelle “Property” nehmen wir nun folgende Änderungen vor:
- IEXPLORER von “0″ auf “1″, damit wird bewirkt, das dass Java-Plugin für den Internet Explorer installiert wird. Sollten Sie auch Mozilla-Browser einsetzen, so können Sie über Setzen des Werts “MOZILLA” von “0″ auf “1″ die Installation des Browserplugins für Mozilla aktivieren
- “EULA” von “0″ auf “1″, damit wird automatisch das “End User License Agreement (EULA)” akzeptiert
- optionalerweise können wir noch über Setzen von “SYSTRAY” von “1″ auf “0″ das Java-Icon aus der Taskleiste verbannen

- Da die *.msi-Dateien digital signiert sind, kann ein direktes Abspeichern der Änderungen zu Problemen führen, deshalb erstellen wir eine sog. “Transform-Datei”, in welcher die Änderungen zur ursprünglichen *.msi-Datei enthalten sind. Dazu klicken wir auf “Transform -> New Transform” und anschließend auf “Transform -> Generate Transform” und speichern diese Datei in dem Share ab, in dem auch die *.msi-Datei liegt.>

- Nun erstellen wir eine neue Gruppenrichtlinie und linken diese direkt auf eine oder mehrere OUs, auf welche diese Gruppenrichtlinie angewandt werden soll:>

- Das Installationspaket fügen wir unter “Computer Configuration -> Policies -> Software -> Software installation” über einen Rechsklick ->New Package ein. Wichtig ist, dass wir hier den UNC-Netzwerkpfad angeben, denn er muss ja von allen Clients erreicht werden. An dieser Stelle möchte ich Ihnen die Verwendung des “Distributed File System”, kurz DFS genannt ans Herz legen. Damit ersparen Sie sich eine Menge Arbeit, wenn Sie den Deploymentshare einmal auf eine andere Maschine verschieben müssen. Einen sehr guten Artikel zur Funktionsweise von DFS finden Sie in der Microsoft Technet unter dem Artikel How DFS works.

- Wir wählen als Deployment Methode “Advanced” und bestätigen mit “OK”. Im Tab “Modifications” fügen wir über “Add” die *.mst-Datei hinzu, auch hier muss unbedingt ein UNC-Pfad angegeben werden.
- Um den Java-Updater zu deaktivieren, muss ein Registry-Key verteilt werden. Hierzu bieten sich die “Group Policy Preferences” an. Dazu öffnen Sie die in Schritt 9. erstellte Gruppenrichtlinie und fügen unter “Computer Configuration -> Preferences -> Registry” über “Rechtsklick -> New Registry Item” für 64-Bit Systeme folgenden Key mit dem Pfad HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\JavaSoft\Java Update\Policy hinzu. Für 32-Bit Systeme lautet der Pfad HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Update\Policy

Das wars dann auch schon, beim nächsten Neustart sollten alle Clients, auf die diese GPO angewandt wird, mit Java versorgt werden.
Hallo, an sich eine gute Idee, diese Anleitung.
Allerdings finde ich orca.msi nicht unter
C:\Windows\Program Files\Microsoft SDKs\Windows\v7.0\Bin
sondern unter
C:\Program Files\Microsoft SDKs\Windows\v7.0\Bin
Nach dem Klick auf “Transform -> New Transform” und anschließend auf “Transform -> Generate Transform” bekomme ich die FM: “The transformed database is identical to the original database. No transform file was generated.”
Läßt sich die Aufgabe mit “WinIstaller LE” oder Aufrufparameter (http://www.java.com/en/download/help/silent_install.xml) einfacher erledigen?
Wie wäre der nächste Step für z.B. Firefox oder FlashPlayer?
Gruß
Karsten
Hallo,
zunächst einmal vielen Dank für den Hinweis mit dem falschen Pfad. Natürlich befindet sich das Windows SDK unter “C:\Program Files\…” und nicht unter “C:\Windows\Program Files”, ich habe das im Artikel entsprechend korrigiert.
Für die von Ihnen erwähnte Fehlermeldung habe ich einen recht einfachen Workaround:
- anstatt aus der *.msi-Datei direkt ein Transform-File zu erstellen, speichern Sie diese als eine neue *.msi-Datei ab, z.B. “java_edit.msi”
- nun verwenden Sie das Tool “msitran.exe”, welches mit dem Windows SDK mitgeliefert wird und unter “C:\Program Files\Microsoft SDKs\Windows\v7.0\bin\” zu finden ist, um damit die *.mst-Datei zu erzeugen.Dazu öffnen Sie bitte eine Kommandozeile und geben Sie folgenden Befehl ein:
“C:\Program Files\Microsoft SDKs\Windows\v7.0\bin\msitran.exe –g „Pfad zur ursprünglichen jre1.6.0_20.msi“ „Pfad zur mit Orca modifizierten *.msi“ „Pfad zum abspeichern der *.mst““
Nun können Sie im Artikel mit Schritt 8 fortfahren. Eine detailliertere Referenz zu msitran.exe finden Sie in der MSDN Befehlsreferenz zu msitran.
Zu Ihrer zweiten Anmerkung: Eine Installation über Kommandozeilen-Paramter ist natürlich auch möglich. Jedoch benötigen Sie zum Aufruf entweder ein Skript oder Sie verwenden eine Deployment-Lösung wie z.B. den „System Center Configuration Manager“. In meinen Augen ist eine Installation über Group Policy Softare Installation deutlich eleganter als die Installation über ein Skript. Ziel dieses Artikels war es, das Deployment von Java nur unter Zuhilfenahme von Windows „Bordmitteln“ zu bewerkstelligen.
Freundliche Grüße aus Karlsruhe
Florian Raichle
Hallo Herr Raichle,
verstehe ich das richtig das der Registry Pfad
KEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node
den Pfad
HKEY_LOCAL_MACHINE\SOFTWARE
für x64 sowie x86 Systeme ergänz?
Vielen Dank
Robert
Hallo,
der Key HKLM\SOFTWARE\WOW6432Node\ existiert nur auf 64-Bit Systemen. Es handelt sich hierbei um einen sogenannten “Registry Redirector”. Weitere Informationen hierzu finden Sie in der MSDN in der Referenz zum Registry Redirector.
Der Artikel scheint an dieser Stelle etwas ungenau zu sein, für ein 64-Bit Deployment müssen Sie den HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\… Key verwenden, für ein 32-Bit System den HKEY_LOCAL_MACHINE\SOFTWARE\… . Ich habe dies im Artikel entsprechend korrigiert.
Grüße aus Karlsruhe
Florian Raichle
Hallo,
sie schreiben das man als erstes die MSI-Datei öffnen soll, dann die Änderungen vornehmen soll und dann unter Transform -> “New Transform” wählen soll und anschließend auf Transform -> “Generate Transform” klicken soll.
Ich kenne es in anderer Reinfolge und damit sollte der Herr Karsten Kortenhorn auch keine Fehlermeldung mehr erhalten. Damit Orca die MST-Datei erzeugt und keine Fehlermeldung mehr ausgibt sollte man als erstes die MSI-Datei laden dann unter Transform -> New Transform” wählen danach die gewünschten Änderungen vornehmen (dabei wird jede angepasste Zeile von Orca grün umrandet) und jetzt erst auf Transform -> “Generate Transform” klicken damit Orca die entsprechende Datei erzeugt. Die MST-Datei sollte nun mit den entsprechenden Änderungen erzeugt werden.
Wenn auf Javaupdate verzichtet werden soll, reicht es dann nicht wenn unter Property AUTOUPDATECHECK und JAVAUPDATE auf 0 setzt ?
Gruß Marc
Hallo,
warum wurde mein Kommentar entfernt ?
sry erst nachdem ich ebend meine Frage abgeschickt hab, ist meine Antwort aufgetaucht von heut morgen aufgetaucht.
Um die EULA zu deaktivieren muss der Wert EULA übrigens auf 0 gesetzt werden und nicht auf 1.
Pingback: Adobe Reader X (10.0) Deployment mit Gruppenrichtlinien | How the ESCde does IT
Ich hatte auch folgendes Problem:
>>> Nach dem Klick auf “Transform -> New Transform” und anschließend auf “Transform -> Generate Transform” bekomme ich die FM: “The transformed database is identical to the original database. No transform file was generated.” << New Transform” gemacht werden.
Ansonsten vielen Dank für das Tutorial
Sry, die Lösung wurde beim vorherigen Post geschluckt…
Lösung: Die Änderungen dürfen erst nach dem Klick auf “Transform -> New Transform” durchgeführt werden. Dann sollte es klappen.
Pingback: PDF-Volltextsuche mit der Windows Suche | How the ESCde does IT