Files
2025-12-14 15:46:14 +01:00

302 lines
11 KiB
Plaintext
Raw Permalink Blame History

'-------------------------------------------------------------------
' Gerd Czaya
' 01.04.2015
' Script JavaUninstall 3.0 erweitert,
' Branding Key wird geschrieben
' die Detection Methods aller im Java Application Pack <Versionsnummer>
' vorhandenen Applications muessen geloescht werden:
' " Java Application Pack"
' DeleteReg "KEY","HKLM\SOFTWARE\ApplicationPacks\JavaAP", 32
' DeleteReg "KEY","HKLM\SOFTWARE\ApplicationPacks\JavaAP", 64
'
' "Reset Java Uninstall"
' DeleteReg "KEY","HKLM\SOFTWARE\AudiAG\InstalledProducts\Audi_JavaUninstall", 32
' DeleteReg "KEY","HKLM\SOFTWARE\AudiAG\InstalledProducts\Audi_JavaUninstall", 64
'
' "Reset Java Security Config"
' DeleteReg "KEY","HKLM\Software\AudiAG\InstalledProducts\Audi_JavaSecurityConfig", 32
' DeleteReg "KEY","HKLM\Software\AudiAG\InstalledProducts\Audi_JavaSecurityConfig", 64
'
' "Reset Java 7u67"
' DeleteReg "VALUE", "HKLM\Software\ApplicationPacks\JavaInstal", 1, 32
'--------------------------------------------------------------------
' Gerd Czaya
' 11.04.2015
' Script fuer JavaInstal 3.1 angepasst
'--------------------------------------------------------------------
Option Explicit
Dim pName, pVersion, pLang, pRevision
Dim pInstallDate, pAES, pCustomer
pName = "Audi_JavaUninstall"
pVersion = "4.0"
pLang = "NTR"
pRevision = "91"
pAES = "AES-1-001386-A"
pCustomer = "VWG"
'----- Functions.vbs einbinden
Dim olibfso : Set olibfso = CreateObject("Scripting.FileSystemObject")
ExecuteGlobal olibfso.OpenTextFile(olibfso.GetParentFolderName(Wscript.ScriptFullName) + "\_Functions.vbs", 1, false).ReadAll
Set olibfso = nothing
LogEnabled = True
ClientInfo()
'----- Clients (Delete this block if not needed)
AC1_32_O = 1
AC2_32_O = 1
AC2_64_O = 1
AC2_32_N = 1
AC2_64_N = 1
AC3_Alpha = 1
AC4_64_O = 1
AC4_64_N = 1
ClientCheck()
'----- START Deinstallation -----
Dim strArgument, bRemoveControlPannel
If WScript.Arguments.Count() < 1 Then
ErrorHandling 16100, "ERROR | Parameter erforderlich."
VbsLog "Parameter: /uninstall:""1.4,1.5"""
VbsLog "Values: 1.4,1.5,1.6,1.7,1.8,Switcher"
FinishScript()
End If
DIM Processes : Processes = "iexplore.exe,firefox.exe,chrome.exe,jusched.exe,jqs.exe,java.exe,javaw.exe,javacpl.exe,Receiver.exe,VisFastStart.exe"
'Blende
If checkProc(Processes) = True Then
' CheckLockScreen()
' If LockScreenActive = true Then
' ErrorHandling 16199, "ERROR | Lockscreen is active"
' FinishScript()
' end if
KillProc Processes
WScript.Sleep 5000
End If
strArgument = WScript.Arguments.Named("Uninstall")
bRemoveControlPannel = True
VbsLog "Uninstall arguments: " & strArgument
VbsLog "---------"
Dim x,i
x = Split(WScript.Arguments.Named("Uninstall"), ",")
For i = LBound(x) To UBound(x)
x(i) = Trim(x(i))
Select Case LCase(x(i))
Case "1.4"
Uninstall "{7148F0A8-6813-11D6-A77B-00B0D0142[0]0}",Null,0,19,"Java 1.4.2_",Null
Case "1.5"
Uninstall "{3248F0A8-6813-11D6-A77B-00B0D0150[0]0}",Null,0,23,"Java 1.5.0_",Null
Case "1.6"
Uninstall "{26A24AE4-039D-4CA4-87B4-2F832160[0]FF}","{3248F0A8-6813-11D6-A77B-00B0D0160[0]0}",0,22,"Java 1.6.0_",Null
Uninstall "{26A24AE4-039D-4CA4-87B4-2F832160[0]FF}","{26A24AE4-039D-4CA4-87B4-2F864160[0]FF}",23,45,"Java 1.6.0_",Null
Case "1.7"
Uninstall "{26A24AE4-039D-4CA4-87B4-2F832170[0]FF}","{26A24AE4-039D-4CA4-87B4-2F864170[0]FF}",1,55,"Java 7u",Null
Uninstall "{26A24AE4-039D-4CA4-87B4-2F032170[0]FF}","{26A24AE4-039D-4CA4-87B4-2F064170[0]FF}",56,72,"Java 7u",Null
Uninstall "{26A24AE4-039D-4CA4-87B4-2F032170[0]FF}","{26A24AE4-039D-4CA4-87B4-2F064170[0]FF}",73,95,"Java 7u",Null
Case "1.8"
Uninstall "{26A24AE4-039D-4CA4-87B4-2F832180[0]F0}","{26A24AE4-039D-4CA4-87B4-2F864180[0]F0}",0,92,"Java 8u",Null
Case "switcher"
UninstallProduct "Audi Java Switcher3.1", "{1E1922B3-DE5E-48E2-9C12-5DBF0A34A10C}"
UninstallProduct "Audi Java Switcher3.2", "{CBC3619D-76C1-4621-857B-FED1C3C7EBA1}"
DeleteReg "KEY", "HKLM\SOFTWARE\Microsoft\Internet Explorer\AdvancedOptions\AUDI_JAVA", GetOSBit()
DeleteReg "KEY", "HKLM\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\AdvancedOptions\AUDI_JAVA", GetOSBit()
End Select
Next
UninstallProduct "SDK SE v1.4.2_11","{35A3A4F4-B792-11D6-A78A-00B0D0142110}"
UninstallProduct "Java jre 6 Update 18","{00BA866C-F2A2-4BB9-A308-3DFA695B6F7C}"
UninstallProduct "Java jdk 6 Update 18","{32A3A4F4-B792-11D6-A78A-00B0D0160180}"
UninstallProduct "Java jre_x64 6 Update 18","{64A3A4F4-B792-11D6-A78A-00B0D0160180}"
UninstallProduct "Java jdk_x64 6 Update 18","{26A24AE4-039D-4CA4-87B4-2F86416018FF}"
UninstallProduct "Java 7u25 SE Development Kit","{32A3A4F4-B792-11D6-A78A-00B0D0170250}"
UninstallProduct "Java 7 Update 25 - SE Development Kit 64-bit","{64A3A4F4-B792-11D6-A78A-00B0D0170250}"
UninstallProduct "Java 8 Update 25","{26A24AE4-039D-4CA4-87B4-2F83218025F0}"
UninstallProduct "Java 8 Update 25 - x64Bit","{26A24AE4-039D-4CA4-87B4-2F86418025F0}"
UninstallProduct "Java jdk 8 Update 60","{32A3A4F4-B792-11D6-A78A-00B0D0180600}"
UninstallProduct "Java jdk 8 Update 60 - x64Bit","{64A3A4F4-B792-11D6-A78A-00B0D0180600}"
DeleteReg "KEY","HKLM\SOFTWARE\Microsoft\Active Setup\Installed Components\Oracle_Java\", GetOSBit()
If bRemoveControlPannel = True And GetOSBit() = 64 Then
'L<>scht Verkn<6B>pfungen in der Systemsteuerung
DeleteReg "KEY", "HKCR\CLSID\{4299124F-F2C3-41b4-9C73-9236B2AD0E8F}", GetOSBit()
DeleteReg "KEY", "HKCR\CLSID\{4299124F-F2C3-41b4-9C73-9236B2AD0E8E}", GetOSBit()
DeleteReg "KEY", "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel\NameSpace\{4299124F-F2C3-41b4-9C73-9236B2AD0E8F}", GetOSBit()
DeleteReg "KEY", "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel\NameSpace\{4299124F-F2C3-41b4-9C73-9236B2AD0E8E}", GetOSBit()
End If
DeleteFile Wshshell.SpecialFolders("AllUsersDesktop") & "\Java Web Start.lnk"
'Benutzerprofile bereinigen
VbsLog "-----> Bereinigung Benutzerprofile"
Dim Dir,LoeschenDir,Item,SunDir,SunItem
If CheckFolder ("c:\users") = True Then
Set Dir = FSO.GetFolder("c:\users")
For Each Item In Dir.SubFolders
LoeschenDir = "c:\users\" & Item.Name & "\AppData\LocalLow\Sun\Java\Deployment"
If CheckFolder(LoeschenDir) Then
Set SunDir = FSO.GetFolder(LoeschenDir)
For Each SunItem In SunDir.SubFolders
If LCase(SunItem.Name) <> "security" Then DeleteFolder SunItem.Path
Next
DeleteFile LoeschenDir & "\deployment.properties"
Else
VbsLog "Information | '" & LoeschenDir & "' nicht gefunden"
End If
Next
Else
VbsLog "Information | 'c:\users' nicht gefunden"
End If
VbsLog "-----> Bereinigung Benutzerprofile beendet"
'Leere Java Ordner l<>schen
VbsLog "-----> Bereinigung Java Ordner"
If CheckFolder(ProgramFiles & "\Java") Then
Set Dir = FSO.GetFolder(ProgramFiles & "\Java")
For Each Item In Dir.SubFolders
If Not CheckFile(Item.Path & "\bin\java.exe") Then
DeleteFolder Item.Path
Else
VbsLog "Information | '" & Item.Path & "' nicht gel<65>scht, da 'bin\java.exe' vorhanden"
End If
Next
Else
VbsLog "Ordner '" & ProgramFiles & "\Java' nicht vorhanden"
End If
If GetOSBit()=64 Then
If CheckFolder(ProgramFiles64 & "\Java") Then
Set Dir = FSO.GetFolder(ProgramFiles64 & "\Java")
For Each Item In Dir.SubFolders
If Not CheckFile(Item.Path & "\bin\java.exe") Then
DeleteFolder Item.Path
End If
Next
Else
VbsLog "Ordner '" & ProgramFiles64 & "\Java' nicht vorhanden"
End If
End If
VbsLog "-----> Bereinigung Java Ordner beendet"
WriteRegInfo "0"
' Notwendiger RegKey f<>r die permanente Neuinstallations-M<>glichkeit sorgt
WriteReg "REG_DWORD", "HKLM\Software\ApplicationPacks\JavaUninstall", 1, 32
' Bereinigen der Detection Keys
VbsLog "-----> Bereinigung Detection Keys"
VbsLog "-----> Reset Java Application Pack"
DeleteReg "KEY","HKLM\SOFTWARE\ApplicationPacks\JavaAP", 32
DeleteReg "KEY","HKLM\SOFTWARE\ApplicationPacks\JavaAP", 64
VbsLog "-----> Reset Java Uninstall"
DeleteReg "KEY","HKLM\SOFTWARE\AudiAG\InstalledProducts\Audi_JavaUninstall", 32
DeleteReg "KEY","HKLM\SOFTWARE\AudiAG\InstalledProducts\Audi_JavaUninstall", 64
VbsLog "-----> Reset Java Security Config"
DeleteReg "KEY","HKLM\Software\AudiAG\InstalledProducts\Audi_JavaSecurityConfig", 32
DeleteReg "KEY","HKLM\Software\AudiAG\InstalledProducts\Audi_JavaSecurityConfig", 64
VbsLog "-----> Reset Java 7u67"
DeleteReg "VALUE", "HKLM\Software\ApplicationPacks\JavaInstal", 32
'----- Write Branding Information
Dim strRegpath : strRegpath = "HKLM\Software\"&pCustomer&"\InstalledProducts"
CreateBrandingInformationExt pName, pVersion, pLang, pRevision, strRegpath
VbsLog "Ende Deinstallation"
'----- ENDE Deinstallation -----
FinishScript()
Sub WriteRegInfo(ErrorLevel)
Dim RegRoot
RegRoot = "HKLM\Software\AudiAG\InstalledProducts\" & pName
WriteReg "SZ",RegRoot & "\Version",pVersion,32
WriteReg "SZ",RegRoot & "\Revision",pRevision,32
WriteReg "SZ",RegRoot & "\Language",pLang,32
If UBound(errorList0)>=0 Then
WriteReg "SZ",RegRoot & "\ErrorLevel",Join(errorList0,","),32
Else
WriteReg "SZ",RegRoot & "\ErrorLevel",ErrorLevel,32
End If
End Sub
Function CheckProduct2(ProductCode)
Dim objInstaller
Set objInstaller = WScript.CreateObject("WindowsInstaller.Installer")
ret = objInstaller.ProductState(ProductCode)
If ret = 5 Then
CheckProduct2 = True
Else
CheckProduct2 = False
End If
End Function
Sub Uninstall(Code1,Code2,Start,Ende,Name,Exception)
Dim j,jf,s1,s2
For j=Start To Ende
If j<10 Then jf="0" & j Else jf=j
If j=Exception And CheckFile(winDir & "\SW-Source\Java-Flags\Java_1.6.0_" & jf & ".flag") Then
VbsLog "Flag-File found: " & winDir & "\SW-Source\Java-Flags\Java_1.6.0_" & jf & ".flag"
VbsLog "Skip uninstall Java 1.6.0_" & jf
bRemoveControlPannel = False
Else
If Not IsNull(Code1) Then
s1=Replace(Code1,"[0]",jf)
If CheckProduct2(s1) Then UninstallProduct2 Name & jf,s1
End If
If Not IsNull(Code2) Then
s2=Replace(Code2,"[0]",jf)
If CheckProduct2(s2) Then UninstallProduct2 Name & jf,s2
End If
End If
Next
End Sub
Function UninstallProduct2(Name,ProductCode)
Dim objInstaller,UninstLogName
UninstLogName = LogDir & "Uninst_" & Name & ".log"
Const msiInstallStateUnknown = -1 'The product is neither advertised or installed.
Set objInstaller = WScript.CreateObject("WindowsInstaller.Installer")
If objInstaller.ProductState(ProductCode) <> msiInstallStateUnknown Then
VbsLog "Uninstall " & Name & ": " & ProductCode
VbsLog "+ ProductName: " & objInstaller.ProductInfo(ProductCode, "ProductName")
VbsLog "+ Version: " & objInstaller.ProductInfo(ProductCode, "VersionString")
VbsLog "+ Publisher: " & objInstaller.ProductInfo(ProductCode, "Publisher")
run "Uninstall","msiexec.exe /x " & ProductCode & " /qn /norestart /lvoicewarmup """ & UninstLogName & """", "0,1605,3010"
UninstallProduct2 = True
Else
VbsLog "Information | Uninstall Function:" & Name & " is not installed " & ProductCode
UninstallProduct2 = False
End If
End Function