ahstax
Goto Top

Java installieren, Meldung interaktiver Dienste

Hallo,

via GPO und Anmeldescript lasse ich in unserem Netzwerk (Win7 Pro 64bit-Clients) Java-Updates installieren.

Bis vor kurzem funktionierte das mit

call msiexec.exe /i \\SERVER\NETLOGON\MSIFiles\V7u25MSI\jre1.7.0_25.msi AgreeToLicense=YES ADDLOCAL=ALL IEXPLORER=1 NETSCAPE=1 MOZILLA=1 REBOOT=Suppress JAVAUPDATE=0 /quiet /norestart

hinbekommen (ich bin mir aber nicht im Ansatz sicher, ob alle Parameter notwendig sind bzw überhaupt eine Wirkung haben).

Jetzt mit dem Update 7.51 funktioniert das irgendwie nicht mehr mit msiexec.exe. Der Aufruf erfolgt jetzt mit

"\\SERVER\netlogon\MSIFiles\V7u51MSI\jre-7u51-windows-i586.exe" /s STATIC=1 WEB_JAVA=1

Das funktioniert zwar, hat aber eine "Meldung interaktiver Dienste" zur Folge. Sinngemäß lautet die eigentliche Meldung, dass eine dll nicht mehr verfügbar sei. Nach Bestätigen der Meldung funktioniert die Java-Installation aber.

Daher nun meine Frage(n)
Wie könnte ich Java wieder über msiexec installieren lassen? Geht das überhaupt noch?
Kann man "Meldungen interaktiver Dienste" irgendwie vorgangsabhängig unterdrücken, also z.B. im Zusammenhang mit der Installation unterdrücken, anschließend wieder aktiv?
Gibt es eine einfachere Möglichkeit für einen Netzwerkadmin mit gefährlichem, oblatendünnem Halbwissen, Java-Updates auszurollen?

Ich bin gespannt auf Eure Antworten.

Neugierige Grüße,
Andreas

Content-Key: 228645

Url: https://administrator.de/contentid/228645

Printed on: April 24, 2024 at 22:04 o'clock

Member: psannz
psannz Feb 04, 2014 at 09:40:47 (UTC)
Goto Top
Sers,

und 'tschuldigung für den OT Beitrag, aber du packst deine Installationsroutinen in NETLOGON? Wirklich? Also, im vollen Ernst wird Netlogon von dir als Adminfreigabe verwendet? Ok.... ohne Worte.


Zum Problem: Du versuchst ein Upgrade durchzuführen das schief geht. Du wirst feststellen dass das Java-Zielverzeichnis fast leer sein wird. Was in den paar Fällen die mir untergekommen sind immer funktioniert: Java deinstallieren, Neustart, Datenreste von Java löschen, daraufhin Java neu installieren und gut ist es.

Und was dir in deinen Variablen noch fehlt wenn du die automatischen Updates deaktivieren willst: JU=0 und AUTOUPDATECHECK=0.
Die Variable NETSCAPE gibt es nicht mehr.

Warum erstellst du nicht einfach eine MST zur verpackten MSI (Bekommst du aus %appdata%\localrow\Sun\ nach Installation) und definierst die Variablen darüber? Dann kannst auch weiterhin über MSIEXEC installieren. Oder gleich via GPO.

Grüße,
Philip
Member: ahstax
ahstax Feb 04, 2014 at 10:24:38 (UTC)
Goto Top
Hallo Philip,

Danke für Deine Nachricht.

Wie gesagt:
gefährlichem, oblatendünnem Halbwissen...


Java wird (meiner Ansicht nach) in dem "Script" vor der Neuinstallation deinstalliert:
...
:V7.0.21
call msiexec.exe /x {26A24AE4-039D-4CA4-87B4-2F83217021FF} /q /norestart
:V7.0.25
call msiexec.exe /x {26A24AE4-039D-4CA4-87B4-2F83217025FF} /q /norestart
:V7.0.45
call msiexec.exe /x {26A24AE4-039D-4CA4-87B4-2F83217045FF} /q /norestart
:V7.0.51
call msiexec.exe /x {26A24AE4-039D-4CA4-87B4-2F83217051FF} /q /norestart

Allerdings ohne Neustart...


Ich würde den Vorschlag mit der GPO gerne aufgreifen, habe dazu aber zu wenig Ahnung von der Erstellung von MST-Dateien und was ich der Richtline dazu zu sagen habe...
Du weißt nicht zufällig, wo ich dazu mein Halbwissen (gerne direkt auf Java bezogen) ergänzen kann?
Member: psannz
Solution psannz Feb 04, 2014 updated at 13:17:54 (UTC)
Goto Top
Direktes Deployment von JAVA JRE via GPO:

Du brauchst:
  • ORCA, Teil von Windows SDK Components for Windows Installer Developers
  • JAVA JRE Offline Installationspaket gibt es Oracle (wichtig: das normale JRE, Griffel weg vom Server-JRE wenn du nicht weisst was du tust)
  • Optimalerweise: eine DFS-Freigabe damit beim Wechsel des Dateiservernamens oder der Pfade zu den Ordnern der Installationsdaten nichts verloren geht.

Erstellung der DFS Freigabe setze ich jetzt mal voraus. Technet: How DFS Works, Technet: Bereitstellen von DFS-Namespaces

Ich etwa erstelle für Installationsquellen fürs GPO Deployment immer eine separate Freigabe auf einem Datengrab und biete diese dann via DFS an. Der DFS-Pfad geht dann nach dem Prinzip \\meine.domäne\Deployment\GPODeploymentQuellen. Dass hierauf nur Lesezugriff für alle Non-Admins besteht ist hoffentlich selbsterklärend.

  1. Du hast das JRE also in x86 und x64 runtergeladen und installierst beide Setups direkt auf deinem Rechner.
  2. Unter c:\Benuter\DeinBenutzerName\AppData\LocalRow\Sun\Java\ findest du jetzt 2 neue Ordner: jre1.7.0_51 und jre1.7.0_51_x64
  3. ORCA starten und die MSI aus jre1.7.0_51 öffnen.
  4. Menü --> Transform --> New Transform
  5. Unter dem Eintrag Property einmal oben auf NAME klicken um die Sache sauber zu sortieren
  6. Jetzt die gewünschten Einträge anpassen: IEXPLORE=1, Mozialla=1, etc, etc, etc.
    • Sind effektiv dieselben Werte die du zuvor via /Schalter gesteuert hast
  7. Werte angepasst? Dann im Menü --> Transform --> Generate Transform und eine MST Datei erstellt. Die Speicherst du natürlich zur jre1.7.0_51 MSI in den selben Pfad
  8. Das Spiel wiederholst du jetzt für die jre1.7.0_51_x64. Wichtig: vorher via Menü --> File --> Close die alte MSI & MST schließen!
  9. Die beiden Verzeichnisse mit den von dir angepassten MST Dateien kopierst du jetzt in die Freigabe die du für die Installationspakete angelegt hast
  10. Jetzt die Gruppenrichtlinienverwaltung auf, und auf die passende OU (die die Zielrechner enthält) eine neue GPO erstellt. Etwa "Deployment - Java JRE"
  11. Rechtslick auf die GPO, Bearbeiten
  12. Computerkonfiguration --> Richtlinien --> Softwareeinstellungen --> Softwareinstallation
  13. Rechtklick --> Neu --> Pfad angeben, optimalerweise ein DFS Pfad, e.g. \\meine.domäne\Deployment\GPODeploymentQuellen\Oracle\Java JRE\7\jre1.7.0_51\jre1.7.0_51.msi --> Bereitstellungsmethode Erweitert (wir wollen ja die MST verwenden!)
  14. Reiter "Bereitstellung der Software" --> Erweitert --> Haken setzen bei "Diese 32bit-x86-Anwendung für 64Bit-Computer bereitstellen" --> OK
  15. Reiter "Änderungen" --> Hier die MST einfügen. Pfad sollte derselbe wie bei der MSI sein. e.g. \\meine.domäne\Deployment\GPODeploymentQuellen\Oracle\Java JRE\7\jre1.7.0_51\MEINEeigene.mst
  16. ok --> ok. Damit ist die 32bit Version fertig.
  17. Für die x64 Version das ganze nochmal von #7 an das selbe Spiel, nur das idF natürlich #8 übersprungen werden kann
  18. Jetzt die GPO - wenn nicht schon geschehen - auf die Ziel OU anwenden, und die Sache ist drin. Über den Befehl gpupdate /force auf den Clients kannst du die Prüfung auf neue GPOs und bei Bedarf Anwendung dieser erzwingen.

Das war es eigentlich auch schon.


Grüße,
Philip
Member: ahstax
ahstax Feb 04, 2014 at 12:27:37 (UTC)
Goto Top
Hallo Philip,

Herzlichen Dank für Deine Mühe!!! (Ich bin echt platt...! face-wink )

Sollte für das skizzierte Vorgehen der jeweilige PC vorher "frei" von Java-Resten sein?
Kann ich eine darauffolgende Installation einfach mit einer weiteren GPO vornehmen?
Deaktivieren bzw lösche ich die alte GPO dann aus der OU?
Ich nehme mal an, dass das skizzierte Vorgehen auch für eine Erstinstallation geht?

Grüße,
Andreas
Member: psannz
Solution psannz Feb 04, 2014 updated at 13:17:52 (UTC)
Goto Top
Saubere Bestandsinstallationen werden überschrieben. Zu unsauberen Installationen kann ich leider nicht Stellung beziehen.

Weitere Java JREs, etwa 7u60 packst du in dieselbe GPO.
Natürlich mit der vorherigen Bearbeitung/Erstellung der MST, etc.
Wenn du das neuere Java Paket einfügst wird automatisch erkannt dass es sich um eine Aktualisierung handelt und als solche erkannt. Sprich, wenn ein neuer PC sich die GPO zieht wird er nicht erst 7u51 und dann 7u60 installieren, sondern gleich die 7u60. Zu erkennen daran dass sich das Icon der Softwarepakete ändert, und im Reiter Aktualisierungen die entsprechenden Einträge unter "Wird durch folgende Pakete aktualisiert" und "Aktualisiert folgende Pakete" vorhanden sind.

Geht natürlich auch für die Erstinstallation.