unluckyproccess1999
Goto Top

Java 8 Deinstallation per Silent Skript

Hallo zusammen,

ich habe momentan ein kleines Problem. Ich habe ein Batch-Skript erstellt, um die spezifischen Versionen von Java 8 zu deinstallieren. Wenn ich jedoch den Befehl für die Silent-Deinstallation ausführe, passiert nichts – das Programm wird nicht deinstalliert.

Zur Situation: Wir möchten über das Skript die alten Java 8-Versionen von unseren Clients entfernen, um OpenJDK zu installieren. Dafür benötigen wir ein Skript, das alle Java 8-Versionen abfragt und diese deinstalliert.

Hier ist der Befehl, den ich verwendet habe:

msiexec /x {77924AE4-039E-4CA4-87B4-2F32180421F0} /quiet

Ich hatte die Idee, ein Skript zu schreiben, das die GUID abruft und dann in diesem Befehl für die stille Deinstallation verwendet. Allerdings funktioniert der Befehl nicht einmal, wenn ich ihn direkt in der Eingabeaufforderung eingebe.

Vielen Dank für eure Hilfe!

Gruß
Jasha

Content-Key: 12771123519

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

Printed on: August 15, 2024 at 16:08 o'clock

Member: Michi91
Michi91 Aug 15, 2024 at 13:54:32 (UTC)
Goto Top
Moin,
und was passiert ohne /quiet?
Member: Crusher79
Crusher79 Aug 15, 2024 at 13:58:57 (UTC)
Goto Top
Liste mal die Number-Codes und vergleiche die!

get-wmiobject Win32_Product | Sort-Object -Property Name |Format-Table IdentifyingNumber, Name, LocalPackage -AutoSize

Mit PowerShell.

Quelle: https://stackoverflow.com/questions/29937568/how-can-i-find-the-product- ...


Deine ist offiziell die von Oracle aus den Help Inhalten. Lasst mal das Kommando raus und schau welchen Product Code du hast!
Member: SatEddY
SatEddY Aug 15, 2024 at 15:26:21 (UTC)
Goto Top
Ich habe dazu das folgende powershell script:
# Uninstall All Java installation on this machine

# Get all installed Java Versions
$uninstalls32 = gci "HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall" | foreach { gp $_.PSPath } | ? { $_ -like "*Java 8 Update*" } | select UninstallString  
$uninstalls64 = gci "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" | foreach { gp $_.PSPath } | ? { $_ -like "*Java 8 Update*" } | select UninstallString  

# Run msiexec uninstall silently if either registry path has an uninstall string present
if ($uninstalls64) {
    foreach ($uninstall64 in $uninstalls64) {
        $uninstall64 = $uninstall64.UninstallString -Replace "msiexec.exe","" -Replace "/I","" -Replace "/X",""  
        $uninstall64 = $uninstall64.Trim()
        Write-Output "Found Java 8 Update Installer (64bit) - uninstalling..."  
        Start-Process "msiexec.exe" -arg "/X $uninstall64 /qb" -Wait  
    }
}
if ($uninstalls32) {
    foreach ($uninstall32 in $uninstalls32) {
        $uninstall32 = $uninstall32.UninstallString -Replace "msiexec.exe","" -Replace "/I","" -Replace "/X",""  
        $uninstall32 = $uninstall32.Trim()
        Write-Output "Found Java 8 Update Installer (32bit) - uninstalling..."  
        Start-Process "msiexec.exe" -arg "/X $uninstall32 /qb" -Wait  
    }
}