alternativende
Goto Top

Java 7u25 per Skript entfernen schlägt fehl

Hallo zusammen,
bei meiner letzten Frage bat ich um ein Skript um alle alten Javainstallationen aus meinen Netzerwerken zu verbannen und mir wurde auch geholfen:
Alle alten Java Versionen per Skript entfernen?

Leider stellt sich nun bei dieser Updaterunde von 7u25 auf 7u40 heraus das das Skript nicht mehr funktioniert.

Beim Ausführen des Uninstallskripts taucht eine Fehlermeldung auf das er ein Modul nicht laden könne, was zum Abbruch der Installation führt.

Kann das jemand bestätigen oder weiß Abhilfe dagegen?

Eine manuelle Deinstallation ist viel zu aufwendig und es wäre sehr schade wenn das schöne Skript von nun an nutzlos wäre.

Habt Vielen Dank!

Gruß

Content-ID: 218803

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

Ausgedruckt am: 04.11.2024 um 22:11 Uhr

Chonta
Chonta 08.10.2013 um 16:25:07 Uhr
Goto Top
Hallo,

welches Modul denn?
Genaue Fehlerbeschreibung bitte.

Gruß

Chonta
Alternativende
Alternativende 08.10.2013 um 16:43:59 Uhr
Goto Top
C:\Program Files\Java7\bin\\installer.dll oder so ähnlich.

Ich denke der Haken an der Sache ist der doppelte \\ am Ende des Aufrufs. Leider kann ich keinen Screenshot von der Meldung machen.
Den exakten Wortlaut könnte ich Morgen nachreichen.
Chonta
Chonta 08.10.2013 um 16:56:37 Uhr
Goto Top
Hallo,

dann überprüfe mal den Pfad generell. Und \\ ist nicht der Grund.
Mach ein dir <pfad> mit \ une einmal mit \\ wird beidese das selbe ausgeben.

Gruß

Chonta
Alternativende
Alternativende 08.10.2013 um 16:58:01 Uhr
Goto Top
Ich habe die Java7u25 normal per MSI installiert. Das System sollte doch wissen wie es zu entfernen ist oder?
Fidel83
Fidel83 08.10.2013 um 22:09:24 Uhr
Goto Top
Hallo

Bist du dir denn sicher, das da nur eine Updateversion deinstalliert wird? Ich kenn die Fehlermeldung fehlender dlls, wenn mehrere Updates einer Version in einem Skript deinstalliert werden.

LG
Alternativende
Alternativende 09.10.2013 um 08:53:05 Uhr
Goto Top
Nein es sollen ja mehrere Versionen auf einmal deinstalliert werden. In diesem Fall sind es zwei.
Dafür habe ich ja das Skript, andernfalls müsste ich eine Zeile für jede zu entfernende Version anlegen.
Alternativende
Alternativende 09.10.2013 aktualisiert um 16:30:59 Uhr
Goto Top
Hallo,
ne das funktioniert auch nicht. Ein Aufruf von folgendem Befehl an einem Testrechner gibt leider auch denselben Fehler aus.

WMIC /interactive:on product where 'name like "%%java 7 Update 17%%" ' call uninstall   
Fidel83
Fidel83 09.10.2013 um 18:59:20 Uhr
Goto Top
Hallo

Weil die Programmbibliotheken, die nach dem ersten Uninstallaufruf entfernt werden, beim zweiten fehlen, wenn du innerhalb der gleichen Version deinstallieren willst. Das kann man so ohne weiteres nicht umgehen. Eine Reparaturinstallation der noch zu entfernenden Updateversion bringt dir die Bibliotheken wieder. Wenn du das in dein Skript einarbeitest, könnte es unter Umständen schon gehen.

Allgemein würde ich es eh vermeiden mehrere Updates einer Version parallel zu installieren.

LG
Alternativende
Alternativende 09.10.2013 um 19:56:24 Uhr
Goto Top
Hi,
sicherlich war es nie meine Absicht mehrere Updateversionen von Java parallel installiert zu haben. Ich mache die Updates ja nur aus Sicherheitsgründen aber manchmal scheint Oracle nicht in der Lage dafür zu sorgen das bei der Installation der neuen, die alte Version entfernt wird.

Ist aber von Rechner zu Rechner unterschiedlich.

Ich habe das Skript eben noch mal ein wenig angepasst und im ersten Trockenversuch hat es geklappt, allerdings hatte dieser Rechner nur eine alte Javaversion installiert. Werde es Morgen noch bei anderen Rechnern testen und dann mal eine Rückmeldung geben.
Alternativende
Alternativende 10.10.2013 um 11:37:14 Uhr
Goto Top
Das funktioniert leider nicht.

Folgendes Skript versuche ich auszuführen:

WMIC /interactive:off product where 'name like "%%java 7 Update 10%%" and (vendor like "%%oracle%%" or vendor like "%%sun%%")' call uninstall  
WMIC /interactive:off product where 'name like "%%java 7 Update 15%%" and (vendor like "%%oracle%%" or vendor like "%%sun%%")' call uninstall  
WMIC /interactive:off product where 'name like "%%java 7 Update 17%%" and (vendor like "%%oracle%%" or vendor like "%%sun%%")' call uninstall   
WMIC /interactive:off product where 'name like "%%java 7 Update 21%%" and (vendor like "%%oracle%%" or vendor like "%%sun%%")' call uninstall  
WMIC /interactive:off product where 'name like "%%java 7 Update 25%%" and (vendor like "%%oracle%%" or vendor like "%%sun%%")' call uninstall   

Auf einem anderen Testrechner war nur noch die Alte Java 7u25 installiert, aber ich bekomme dennoch Fehlermeldungen beim ausführen des Skripts.
Dabei spielt es keine Rolle ob es als Bootskript läuft oder ich es nachträglich als Admin starte.
Alternativende
Alternativende 15.10.2013 um 08:21:22 Uhr
Goto Top
Hallo,
also ich habe jetzt eine halbwegs brauchbare Lösung gefunden. Mit dem folgenden Skript funktioniert es meistens.
Leider gibt es immer mal wieder Probleme wenn mehrere Versionen parallel installiert sind.

WMIC /interactive:off product where 'name like "%%java 7 Update 10%%" ' call uninstall  
WMIC /interactive:off product where 'name like "%%java 7 Update 15%%" ' call uninstall  
WMIC /interactive:off product where 'name like "%%java 7 Update 17%%" ' call uninstall   
WMIC /interactive:off product where 'name like "%%java 7 Update 21%%" ' call uninstall   
WMIC /interactive:off product where 'name like "%%java 7 Update 25%%" ' call uninstall   
Alternativende
Alternativende 17.10.2013 um 08:55:17 Uhr
Goto Top
Hallo noch mal,
nun ist Java 7u45 erschienen und ich habe das Skript entsprechend erweitert und mache die ersten Tests.
Leider funktioniert es wieder nicht, bei folgender Konstellation.

Rechner mit Win7 Pro und Java 7u40 installiert. Das Skript wird als Startskript per GPO zugewiesen und sollte ja auch Java7u40 entfernen.

Leider bekomme ich aber wiederum dieselbe Fehlermeldung das das Modul nicht gefunden wurde und Java wird nicht vollständig entfernt.
Wenn ich das Skript manuell als Administrator von einem Rechner aus ausführe erscheint wie gewüsncht ein paar Mal: Keine Instanz vorhanden, bis dann Java 7u40 auch entfernt wird.

Es scheint also irgendwo mit dem Startskript oder so zusammenzuhängen.

Hat da jemand eine Idee?
Alternativende
Alternativende 17.10.2013 um 11:07:45 Uhr
Goto Top
Bin ggf. schon ein Stück weiter. In de Eventlog bemängelt der MSI Installer der aktuellen Java 7u45 das schon eine Installation läuft und bricht daher ab.

Eventuell besteht das Problem also darin das ich versuche die alten Versionen zu entfernen und beim selben Bootvorgang versuche die aktuelle Version per MSI zu installieren.

Das ist eine wirklich sehr ungünstige Sache falls es so sein sollte da ich sonst stets gewährleisten muss das alle alten Javaversionen entfernt werden bevor ich eine neue installiere. Das bedeutet auch das ich sicherstellen muss das alle Rechner diesen Prozess als erstes durchlaufen was wirklich Zeit kostet.

Gibt es da keine anderen Möglichkeiten Java zentral zu entfernen eine robustere vielleicht?
Fidel83
Fidel83 17.10.2013 um 11:27:06 Uhr
Goto Top
Die Java-Einträge innerhalb des Windows Installer und/oder der Registry bereinigen?

Fehlermeldung Java Datei nicht gefunden

Würde ich zu Beginn an einer Testmaschine versuchen, ehe du das live ausrollst. Mir ist aber nicht bekannt, das man das Installer Clean Up Tool unattended laufen lassen kann. Daher versuch es zuerst nur mit der Bereinigung der Registry. Eventuell reicht es ja schon. Bleiben dann unter Umständen nur die Einträge im Windows Installer zurück. Auch nicht ideal, wenn man dann die Softwareinstallationen auf allen Clients inventarisieren will.
Alternativende
Alternativende 17.10.2013 um 11:56:00 Uhr
Goto Top
hmh ja das klingt ja nicht so gut und vor allem sehr schlecht zu warten.
Ich habe eben noch einen anderen Testrechner gestartet. Java7u45 wurde installiert, ich habe mich an dem Rechner angemeldet. Java 7u25 ist noch vorhanden.
Es läuft ein WMIC Prozess seit einer guten halben Stunde mit den üblichen Fehlermeldungen. Die alte Version ist aber immer noch vorhanden und scheint auch nicht entfernt zu werden.

Ein Neustart wird wohl da auch nichts bringen da die Fehlermeldungen immer wieder auftauchen werden.

Also scheint es so als ob das entfernen von Java mit WMIC und Startskript schlicht nicht funktioniert. Ein manuelles ausführen des Skripts ist Aufgrund der schieren Masse fast ausgeschlossen.
Alternativende
Alternativende 17.10.2013 um 13:10:59 Uhr
Goto Top
Noch ein Update: Ich habe das Skript nun zum Ausführen beim Herunterfahren angewiesen. Ich erhalte nun eine etwas bessere Fehlermeldung in der Eventlog:

Product: Java 7 Update 25 -- Error 1705.A previous installation for this product is in progress. You must undo the changes made by that installation to continue. Do you want to undo those changes?

Ich kann mir nicht vorstellen welche Installation das sein soll oder wie ich mit diesem Fehler umgehen muss. Im Internet kann ich dazu keine brauchbaren Infos finden.
Fidel83
Fidel83 17.10.2013 aktualisiert um 13:28:29 Uhr
Goto Top
Java will immer mal einen Neustart haben nach der Deinstallation einer Vorversion. Kommt nicht bei jeder Uninstall vor, aber tritt gelegentlich auf. Äußert sich eigentlich immer in der Art Fehler, wie du ihn genannt hast.

http://msdn.microsoft.com/en-us/library/windows/desktop/aa372835(v=vs.8 ...

Eventuell splittest du ja dein Script. Uninstall alte Version, Reboot, Install neue Version.
Alternativende
Alternativende 18.10.2013 um 08:38:25 Uhr
Goto Top
Hallo,
ich scheine kurioserweise den Fehler behoben zu haben. Ich habe ein paar zusätzliche GPO Einstellungen in der Softwareinstall GPO hinzugefügt.


1 .Computer Einstellungen\Administrative Vorlagen\System\Anmeldung\Beim Starten immer auf Netzwerk warten


2. Computer Einstellungen\Administrative Einstellungen\System\Gruppenrichtlinie\Wartezeit für Richtlinienverarbeitung beim Systemstart = Aktiviert 120 Sekunden

Habe es nun auf 3 Rechnern mit mehreren alten Javaversionen probiert und bisher hat es anstandslos funktioniert.
xbast1x
xbast1x 05.05.2014 um 13:38:58 Uhr
Goto Top
Ich grabe mal den Thread aus face-smile

Gibt es eine Möglichkeit das Script nur einmal beim herunterfahren ausführen zu lassen?


Grüße sdieste.
Alternativende
Alternativende 06.05.2014 um 08:52:49 Uhr
Goto Top
Hi,
also mich frustriert die ganze Angelegenheit mittlerweile nur noch. Sicherlich kannst Du das Skript auch beim herunterfahren ausführen lassen, aber es wird wohl zu denselben Problemen kommen.

Der Uninstaller bemängelt das Fehlen einiger Module, funktioniert nicht ordentlich usw..

Ich habe keine guten Erfahrungen mit dem automatisierten entfernen von Java im Allgemeinen gemacht.

Aber probier es doch einfach mal aus und berichte ob es bei Dir besser funktioniert.