382
wiesi200

Java Update installieren oder nicht

Mitglied: TimoBeil
17.05.2011
13:39:01 Uhr
3694 Aufrufe
3 Antworten
Ja es gibt sie, die Perlen im Forum - die es zu finden und polieren gilt.
Angeregt durch diesen Fred - speziell die Unterhaltung mit Meister Biber und der Tatsache, dass ich nun selber den 25er ausrollen mußte.
Ein Erfahrungsbericht und Workaround.
  • Wie man das MSI für die Java Installation bekommt - ist ja bekannt.
(einfach den Offlinerinstaller downloaden und im %appdata% Ordner den Unterordner kopieren)


  • Früher (vor dem oben genannten Fred) hatte ich immer eine Kombination Reg und existiert eine bestimmte Datei (dll) genutzt.
Heute hatte ich einen Client, der nicht wollte, wie er sollte und da schnappte ich mir des Bibers Schnippsel und siehe da - läuft auch nicht..

Der Hintergrund und auch das haben wir in dem besagten Fred nicht explizit beschrieben - läuft ein Browser während der installation oder ist (warum auch immer) das installieren dieser Version vorher mal in die Wicken gegangen - läuft es einfach nicht.

(Nur dann, wenn Java "richtig" installiert ist - bringt der Befehl Java -Version eine Ausgabe) - man könnte zwar auch %errorlevel% danach abfragen - aber das ist ja viel zu einfach...

Dank Biber s Tipp mit STDERR kann man nicht nur theologretisch abfragen, ob Java wirklich sauber lauffähig installiert ist und muß sich (in meinem fall) nicht auf regwerte verlassen.

01.
for /f "tokens=2-4 delims=._" %%a in ('java -version ^2^>^&^1^|find "version"') do if exist %Programfiles%\Java\jre6\bin\npjpi1%%a%%b_%%c.dll goto end
In wie weit diese Zeile auch bei x64 passt.. - bitte selber herausfinden

Ok
eine Zeile macht noch keinen Sommer

01.
:end

fehlt ja noch.

  • upps ging es nicht um installieren? doch ging es

01.
:update 
02.
msiexec /i C:\Install\java\jre1.6.0_25.msi /passive

  • Aber warum schlug das ganze denn nun fehl?
Weil ein Browser geöffnet war
* Und wie fangen wir das ab?

01.
tasklist |find "iexplore" && echo internetExplorer ist an. & taskkill /F /IM "iexplore.exe" 
02.
tasklist |find "Firefox" && echo Firefox ist an. & taskkill /F /IM "firefox.exe"
Wer auf große Safari geht oder sich was Verchromen will - wählt die Alternativen Befehle.

btw: die allererste und letzte Zeile hab ich euch auch unterschlagen. Kenner kennen Sie...

01.
change user /install

01.
change user /execute

  • Wie kein echo off?
Noop
  • Weil ich kein Mädchen bin.
  • Softwareinstallation läuft bei mir immer silent - der User kann dabei aber angemeldet sein.

Und grundsätlich baue ich mein Pakete immer so, dass die auch auf den Terminalservern laufen und die zwei Fehler stören mich silent beim Client auch nicht.

Tut mir leid, dass das solange gedauert hat und das es kein komplettscript, sondern nur Schnippsel gibt - ich kann keine kompletten Bätche mehr schreiben, hab ich verlernt.
stupides C&P ohne olé tut mir weh

edit
wobei mir diese java Geraffel ja schon auf den Senkel geht...
Der Errorlevel dreht sich wie eine Fahne im Wind..
"soviel zum Thema:"
man könnte zwar auch %errorlevel% danach abfragen - aber das ist ja viel zu einfach...

C:\>color 
 
C:\>echo %errorlevel% 
 
C:\>java -version & echo %errorlevel% 
java version "1.6.0_25" 
Java(TM) SE Runtime Environment (build 1.6.0_25-b06) 
Java HotSpot(TM) Client VM (build 20.0-b11, mixed mode, sharing) 
 
C:\>java -versin & echo %errorlevel% 
Unrecognized option: -versin 
Could not create the Java virtual machine. 
 
C:\>java -version & echo %errorlevel% 
java version "1.6.0_25" 
Java(TM) SE Runtime Environment (build 1.6.0_25-b06) 
Java HotSpot(TM) Client VM (build 20.0-b11, mixed mode, sharing) 
 
C:\>javva -version & echo %errorlevel% 
Der Befehl "javva" ist entweder falsch geschrieben oder 
konnte nicht gefunden werden. 
 
C:\>java -version & echo %errorlevel% 
java version "1.6.0_25" 
Java(TM) SE Runtime Environment (build 1.6.0_25-b06) 
Java HotSpot(TM) Client VM (build 20.0-b11, mixed mode, sharing) 
9009 
 
C:\>

Man(n) muß wohl zuerst einen Befehl aufrufen, den es nicht gibt, um dann eine 9009 zu bekommen....

Gruß

Mitglied: bastla
bastla schreibt am 17.05.2011 um 21:29:35 Uhr
Hallo T-Mo!
Man(n) muß wohl zuerst einen Befehl aufrufen, den es nicht gibt, um dann eine 9009 zu bekommen....
9009 hat aber nix mit "java" zu tun, sondern ist die "normale" Folge eines nicht gefundenen Befehles - die ausgegebenen Errorlevel in Deinem Beispiel "hinken" (da Du keine "delayedexpansion" verwendest) einfach nach ...

Grüße
bastla
Mitglied: ovu-p86
ovu-p86 schreibt am 18.06.2011 um 22:46:07 Uhr
Hallo Bastla,

da du ja bekanntermassen einer der cmd-Gurus in diesem Forum bist, eine Frage an dich:
Könntest du, wenn du mal etwas Zeit hast, ein Tuturial speziell zu "DELAYEDEXPANSION" schreiben.

Ich hab das Gefühl, daß das eine Fehlerquelle ist, der man sich oft gar nicht bewußt ist. Oft geht
man dann Umwege u.s.w.

Hoffe die Frage ist nicht zu unverschämt. Aber wäre wirklich mal hilfreich eine gutes Tutorial speziell
zu diesem Thema zu haben, wo man auch die Zusammenhänge versteht und sieht wie und wo das
Problem beispielhaft auftritt.

Danke

Gruß
Uwe
Mitglied: TimoBeil
TimoBeil schreibt am 07.12.2011 um 22:03:39 Uhr
Moin,

frei nach dem Motto - was kümmert mich mein Geschwätz von gestern..

Unter folgender Konstellation geht der obere Abfrage Mechanismus in die Wicken...

  • Win7 64 bit
  • neue 32bit Version von 1.6.29

Bestimmt auch mit anderen Zutaten, aber hier hab ich es erst gemerkt.

  • Die kombination Java 32bit und Windows 32 bit liefert nur eine Ausgabe von Java, weil beim Setup auch (unter anderem) eine Kopie der Java.exe in %windir%\system32 landet.
  • Bei 64Bit OS und 32bit Java passiert das nicht und der Pfad wird ja in keinem Fall um das javahome erweitert.

Vor nachträglichem kopieren der nötigen Dateien in %windir%\system32 rate ich ab.
Und auch das doppelte sowohl installieren von 32bit als auch 64bit auf einem 64bit System ist eher ein weiterer Problemfall.

Ich hab - obwohl es zum laufen der Java Version aus dem Browser heraus nicht nötig ist den Pfad um den Java ProgrammOrdner erweitert.

Nur der Vollständigkeit halber - wobei das beschrieben von einem der x möglichen Szenarien nicht wirklich Vollständig ist....

Gruß
mehr ...Ähnliche Beiträge