Uninstall2Install Update erstellen

In diesem Beispiel geht es um die Deinstallation von Java 7 Update 76 mit anschließender Installation der Version 8 Update 31. Da bei der Installation von Java 8 Update 31 die Vorversionen nicht deinstalliert werden, hab ich mir mit diesem Tool selbst geholfen.

Benötigt werden dafür mindestens 3 Dateien:
Uninstall2Install.reg
Uninstall2Install_Net351.exe
Uninstall2Install_Net45.exe
(es gibt zwei Versionen, einmal für W7 = .Net 3.5 und einmal für W8/W2012 =.Net 4.5)
Falls auf dem W8.x auch die .Net Version 3.51 installiert ist, kann man natürlich auch die Version für W8.x verwenden. Standardmäßig ist auf W8.x allerdings kein .Net 3.51 installiert. Ist auf W7 .Net 4.5 installiert, kann die Version auch für W7 verwendet werden.

jre1.8.0_31.msi
Woher kommt das MSI? In http://www.klaus-hartnegg.de/gpo/msi_java.html wird ab Extract the MSI-file beschrieben wie man das MSI „bekommt“.

Uninstall2Install.reg
Die Uninstall2Install.reg Datei bitte nicht umbenennen! Die Datei kann für jedes Update gleich benannt sein.

Der Inhalt der Uninstall2Install.reg muss so aussehen:

Der Installstring ist die zu installierende MSI ohne irgendwelche weiteren Pfade, der Uninstallstring ist das zu deinstallierende Programm, in unserem Fall Java 7 Update 76. Den Uninstallstring kann man sich aus der Registry auslesen.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall > Java 7 Update 76 suchen. Nur der Wert zwischen den {} Klammern muss eintragen werden. Falls ein MST vorliegt, kann das natürlich auch mit angegeben werden.

Es können natürlich auch mehrere Uninstallstrings angegeben werden, sie müssen durch ein Semikolon ; getrennt werden.

Auf dem WSUS den WSUS Package Publisher starten, Rechtsklick auf ein Update > Update erstellen anklicken und alle benötigten Dateien auswählen.


 Weiter > anklicken.

 Und wieder weiter:

Jetzt wird der MSI-Produktcode vom zu installierenden Produkt benötigt, in diesem Fall ist das der Code für Java 8 Update 31. Der WSUS Package Publisher bringt einen MSI-Reader mit. Über das Menü Extras > MSI Reader > MSI Datei öffnen > kann man sich den Inhalt des MSI anzeigen lassen. In diesem Beispiel ist der ProductCode in der Tabelle Property zu finden.





Würde man nur das MSI verwenden, wäre hier schon der Produktcode eingetragen.

Ganz wichtig ist bei der zweiten Regel das NOT. Hier wird geprüft ob das Update installiert werden kann. Und es kann nur installiert werden, wenn dieser Produktcode noch nicht vorhanden ist. Regel umkehren muss beim Erstellen der Regel angeklickt werden. Wer will oder muss, kann natürlich noch weitere Regeln hinzufügen.

Der Rest ist identisch zu anderen Updates im WPP auch. Bis zum Veröffentlichen durchklicken und anschließend genehmigen. Ausreichendes und ausführliches Testen kann euch niemand abnehmen.


Was genau macht die Uninstall2Install.exe?

Insgesamt ist alles einfach gehalten.
Zuerst wird die REG-Datei mit REGEDIT /s ‚Name der Regdatei‘ importiert, wir brauchen ja die beiden Strings in der Registry. Anschließend wird pro Uninstallstring, falls mehrere angegeben sind, so ein Prozess gestartet:

Msiexe.exe /X{Inhalt des Uninstallstring} /qn

Sind alle Strings abgearbeitet, wird der Installstring mit der MSI aufgerufen:

Msiexe.exe /i {Name der MSI} /qn

Gibt es ein Transformfile dazu, wird der Installstring angepasst:

Msiexec.exe /i {Name der MSI} /qn TRANSFORMS=Name der MST

Nachdem installiert wurde, wird der Eintrag (HKLM\Software\Uninstall2Install) aus der Registry auch wieder gelöscht. Jede Aktion wird im Ereignisprotokoll (Anwendung) protokolliert. In Bild08 sieht man den kompletten Verlauf sehr gut. Angefangen beim Systemwiederherstellungspunkt, der wird von Windows Update immer angelegt, bis hin zum Beenden des Programmes, wird alles protokolliert.





Happy Patching!

Winfried Sonntag

Diese Webseite verwendet Cookies. Weitere Informationen

Die Cookie-Einstellungen auf dieser Website sind auf "Cookies zulassen" eingestellt, um das beste Surferlebnis zu ermöglichen. Wenn du diese Website ohne Änderung der Cookie-Einstellungen verwendest oder auf "Akzeptieren" klickst, erklärst du sich damit einverstanden.

Schließen