cleaned, unistallscript old java versions, testing
This commit is contained in:
parent
709e37b2a6
commit
14bf43636c
392
CLIENT_DATA/JavaUninstallScript.vbs
Normal file
392
CLIENT_DATA/JavaUninstallScript.vbs
Normal file
@ -0,0 +1,392 @@
|
||||
'***************************************************************************************
|
||||
'Java removal script.
|
||||
'Version: 3.0
|
||||
'Description: Removes specified Java versions based on command line parameters.
|
||||
' !!!!!!USE AT YOUR OWN RISK!!!!!!!
|
||||
'2011.03.09 - 2.0 - First version. Assumes %SYSTEMDRIVE%\Logs exists.
|
||||
'2011.03.23 - 2.1 - Fixes issue running in 32bit SCCM under 64bit Windows.
|
||||
'2011.03.30 - 2.2 - Adds array of versions to keep.
|
||||
'2011.04.24 - 3.0 - Added command line parameters. Still doesn't make the log directory!
|
||||
'
|
||||
'http://www.itninja.com/question/silent-uninstall-java-all-versions
|
||||
'***************************************************************************************
|
||||
'-----------------------------Begin Main Script--------------------------------
|
||||
Option Explicit
|
||||
|
||||
'If help is specified on the command line, show it and quit.
|
||||
If WScript.Arguments.Named.Count < 1 Or WScript.Arguments.Named.Exists("help") Or WScript.Arguments.Named.Exists("?") Then
|
||||
PrintHelp()
|
||||
WScript.Quit(0)
|
||||
End If
|
||||
|
||||
Dim aryVersions, aryVersionsx86Onx64
|
||||
Dim bolKeepJava
|
||||
Dim colNamedArguments, colProcesses
|
||||
Dim objWMIService, objProcessor, objProcess
|
||||
Dim strArgument, strLogFilePath
|
||||
|
||||
'Set default command line parameters.
|
||||
'The script defaults to removing all versions of Java without leaving uninstall logs.
|
||||
bolKeepJava = 1
|
||||
strLogFilePath = ""
|
||||
aryVersions = Array()
|
||||
aryVersionsx86Onx64 = Array()
|
||||
|
||||
'Start script logging.
|
||||
WScript.Echo "**********************************"
|
||||
WScript.Echo "Java uninstall script started at " & Now()
|
||||
|
||||
'Parse command line parameters.
|
||||
If WScript.Arguments.Named.Count > 0 Then
|
||||
Set colNamedArguments = WScript.Arguments.Named
|
||||
|
||||
For Each strArgument in colNamedArguments
|
||||
Select Case LCase(strArgument)
|
||||
Case "keeponly"
|
||||
Case "removeonly"
|
||||
bolKeepJava = 0
|
||||
Case "logfilepath"
|
||||
strLogFilePath = colNamedArguments.Item(strArgument)
|
||||
Case "versions"
|
||||
aryVersions = Split(colNamedArguments.Item(strArgument), ";", -1, 1)
|
||||
Case "versionsx86onx64"
|
||||
aryVersionsx86Onx64 = Split(colNamedArguments.Item(strArgument), ";", -1, 1)
|
||||
Case Else
|
||||
WScript.Echo vbCrLf & "Unknown switch: " & strArgument & "."
|
||||
WScript.Echo vbCrLf & "Java uninstall script finished at " & Now()
|
||||
WScript.Echo "**********************************" & vbCrLf
|
||||
PrintHelp()
|
||||
WScript.Quit(2)
|
||||
End Select
|
||||
Next
|
||||
End If
|
||||
|
||||
'Output the parameters the script was run with.
|
||||
WScript.Echo vbCrLf & "----------------------------------"
|
||||
WScript.Echo "Script parameters:"
|
||||
If bolKeepJava Then
|
||||
WScript.Echo "Specified Java versions found will be kept. Other versions will be removed."
|
||||
Else
|
||||
WScript.Echo "Specified Java versions found will be removed. Other versions will be kept."
|
||||
End If
|
||||
|
||||
'This check is important. It will default the versions array if no versions were specified. Without this the whole thing falls apart.
|
||||
If (Ubound(aryVersions) < 0 ) Then
|
||||
aryVersions = Array("FooBar")
|
||||
WScript.Echo "No native Java versions specified on the command line."
|
||||
Else
|
||||
WScript.Echo "Native Java versions specified on the command line."
|
||||
End If
|
||||
|
||||
'If no non-native versions are specified set the non-native array to the native array.
|
||||
If (Ubound(aryVersionsx86Onx64) < 0) Then
|
||||
aryVersionsx86Onx64 = aryVersions
|
||||
WScript.Echo "No x86 Java versions for x64 systems specified on the command line." & vbCrLf & "Using specified native verions for x86 also."
|
||||
Else
|
||||
WScript.Echo "x86 Java versions for x64 systems specified on the command line."
|
||||
End If
|
||||
|
||||
If strLogFilePath = "" Or IsNull(strLogFilePath) Then
|
||||
WScript.Echo "Uninstall logfile path is empty. Uninstall logs will not be created."
|
||||
Else
|
||||
'If the log file path does not end in a \ put one on there!
|
||||
If (StrComp(Right(strLogFilePath,1), "\") <> 0) Then
|
||||
strLogFilePath = strLogFilePath & "\"
|
||||
End If
|
||||
WScript.Echo "Uninstall log file path: " & strLogFilePath & "."
|
||||
End If
|
||||
WScript.Echo "----------------------------------"
|
||||
|
||||
'Get a WMI Service object.
|
||||
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate, (Debug)}\\.\root\cimv2")
|
||||
|
||||
'Get processor object. objProcessor.AddressWidth will give us bitness. Check objProcessor.AddressWidth = "32" or "64"
|
||||
Set objProcessor = GetObject("winmgmts:\\.\root\cimv2:Win32_Processor='cpu0'")
|
||||
|
||||
'Kill processes that might prevent installs or uninstalls.
|
||||
Set colProcesses = objWMIService.ExecQuery("Select Name from Win32_Process Where Name = 'jqs.exe' OR Name = 'jusched.exe' OR Name = 'jucheck.exe' OR Name = 'jp2launcher.exe' OR Name = 'java.exe' OR Name = 'javaws.exe' OR Name = 'javaw.exe'", "WQL", 48)
|
||||
|
||||
WScript.Echo vbCrLf & "----------------------------------"
|
||||
WScript.Echo "Checking for problematic processes."
|
||||
|
||||
'Set this to look for errors that aren't fatal when killing processes.
|
||||
On Error Resume Next
|
||||
|
||||
'Cycle through found problematic processes and kill them.
|
||||
For Each objProcess in colProcesses
|
||||
|
||||
WScript.Echo "Found process " & objProcess.Name & "."
|
||||
|
||||
objProcess.Terminate()
|
||||
|
||||
Select Case Err.Number
|
||||
Case 0
|
||||
WScript.Echo "Killed process " & objProcess.Name & "."
|
||||
Err.Clear
|
||||
Case -2147217406
|
||||
WScript.Echo "Process " & objProcess.Name & " already closed."
|
||||
Err.Clear
|
||||
Case Else
|
||||
WScript.Echo "Could not kill process " & objProcess.Name & "! Aborting Script!"
|
||||
WScript.Echo "Error Number: " & Err.Number
|
||||
WScript.Echo "Error Description: " & Err.Description
|
||||
WScript.Echo "Finished problematic process check."
|
||||
WScript.Echo "----------------------------------"
|
||||
WScript.Echo vbCrLf & "Java uninstall script finished at " & Now()
|
||||
WScript.Echo "**********************************" & vbCrLf
|
||||
WScript.Quit(1)
|
||||
End Select
|
||||
|
||||
Next
|
||||
|
||||
'Resume normal error handling.
|
||||
On Error Goto 0
|
||||
|
||||
WScript.Echo "Finished problematic process check."
|
||||
WScript.Echo "----------------------------------"
|
||||
|
||||
'This call will remove x64 versions on a x64 system and x86 versions on a x86 system.
|
||||
RemoveJava "Software\Microsoft\Windows\CurrentVersion\Uninstall\", aryVersions, strLogFilePath, objProcessor
|
||||
|
||||
'This call will remove x86 versions on a x64 system.
|
||||
If (objProcessor.AddressWidth = "64") Then
|
||||
RemoveJava "Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\", aryVersionsx86Onx64, strLogFilePath, objProcessor
|
||||
End If
|
||||
|
||||
WScript.Echo vbCrLf & "Java uninstall script finished at " & Now()
|
||||
WScript.Echo "**********************************" & vbCrLf
|
||||
'-------------------------------End Main Script--------------------------------
|
||||
|
||||
'---------------------------------Functions------------------------------------
|
||||
Function RemoveJava(strRegistryPath, aryVersions, strLogFilePath, objProcessor)
|
||||
|
||||
Dim objWSHShell, objRegistry, objWbemContext, objSWbemLocator, objSWbemServices
|
||||
Dim aryUninstallKeys
|
||||
Dim strUninstallKey, strDisplayName, strUninstallString, strVersion
|
||||
Dim intUninstallReturnCode
|
||||
|
||||
Set objWSHShell = CreateObject("WScript.Shell")
|
||||
|
||||
'The following SWbem setup allows a script running in a x86 context, such as under the SCCM client, on a x64 system
|
||||
'to access the full x64 registry. Without this the actual registry paths will be transparently redirected to the
|
||||
'Wow6432Node branch for every registry call to HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall.
|
||||
'Essentially this transparent redirection would hide 64bit Java runtimes from a script running in 32bit mode on a 64bit OS.
|
||||
|
||||
'Provides the bitness context parameters for registry calls.
|
||||
Set objWbemContext = CreateObject("WbemScripting.SWbemNamedValueSet")
|
||||
objWbemContext.Add "__ProviderArchitecture", objProcessor.AddressWidth
|
||||
objWbemContext.Add "__RequiredArchitecture", true
|
||||
|
||||
'Create SWbemLocator to connect to WMI
|
||||
Set objSWbemLocator = CreateObject("WbemScripting.SWbemLocator")
|
||||
|
||||
'Actually connect to the WMI service using the SWbemLocator and the SWbemContext parameters.
|
||||
Set objSWbemServices = objSWbemLocator.ConnectServer(".","root\default","","",,,,objWbemContext)
|
||||
|
||||
'Get the Standard Registry Provider from WMI... finally.
|
||||
Set objRegistry = objSWbemServices.Get("StdRegProv")
|
||||
|
||||
'Find the Java uninstallers hiding in the uninstall key. &H80000002 = HKEY_LOCAL_MACHINE for this function call.
|
||||
objRegistry.EnumKey &H80000002, strRegistryPath, aryUninstallKeys
|
||||
|
||||
'Enable VBS' poor excuse for error handling...
|
||||
On Error Resume Next
|
||||
|
||||
For Each strUninstallKey In aryUninstallKeys
|
||||
|
||||
'These must be reset in case the GetStringValue fails to return a value. This way we don't keep values for other pieces of software.
|
||||
strDisplayName = ""
|
||||
strUninstallString = ""
|
||||
intUninstallReturnCode = ""
|
||||
|
||||
'DisplayName should always be a REG_SZ
|
||||
objRegistry.GetStringValue &H80000002, strRegistryPath & strUninstallKey, "DisplayName", strDisplayName
|
||||
|
||||
'Just in case GetStringValue doesn't retrieve what we want.
|
||||
If Err.Number <> 0 Then
|
||||
Wscript.Echo vbCrLf & "----------------------------------"
|
||||
WScript.Echo "Could not retrieve DisplayName at " & strRegistryPath & strUninstallKey & "!"
|
||||
WScript.Echo "Error Number: " & Err.Number
|
||||
WScript.Echo "Error Description: " & Err.Description
|
||||
Wscript.Echo "----------------------------------"
|
||||
strDisplayName = ""
|
||||
Err.Clear
|
||||
End If
|
||||
|
||||
'In English: If the DisplayName contains either Java OR the DisplayName contains J2SE Runtime Environment
|
||||
'AND if the DisplayName does not contain Development AND if the DisplayName does not contain JavaDB
|
||||
'AND if the DisplayName does not contain Web Start
|
||||
'AND if the DisplayName does not contain SAS
|
||||
'AND if the DisplayName does not contain Java Auto Update then do the if block.
|
||||
'Fun, eh?
|
||||
'You could remove the Web Start line to get rid of JWS but the uninstall string If block would have to account for that. It currently doesn't.
|
||||
|
||||
If ((Instr(1, strDisplayName, "Java", 1) OR (Instr(1, strDisplayName, "J2SE Runtime Environment", 1))) _
|
||||
AND ((Instr(1, strDisplayName, "Development", 1) + Instr(1, strDisplayName, "JavaDB", 1)) < 1) _
|
||||
AND (Instr(1, strDisplayName, "Web Start", 1) < 1) _
|
||||
AND (Instr(1, strDisplayName, "SAS", 1) < 1) _
|
||||
AND (Instr(1, strDisplayName, "Java Auto Update", 1) < 1)) Then
|
||||
|
||||
Wscript.Echo vbCrLf & "----------------------------------"
|
||||
WScript.Echo "Found version: " & strDisplayName
|
||||
WScript.Echo "Found at: HKEY_LOCAL_MACHINE\" & strRegistryPath & strUninstallKey
|
||||
|
||||
'UninstallString might be a REG_EXPAND_SZ but GetStringValue should retrieve what we want.
|
||||
objRegistry.GetStringValue &H80000002, strRegistryPath & strUninstallKey, "UninstallString", strUninstallString
|
||||
|
||||
'Just in case GetStringValue doesn't retrieve what we want.
|
||||
If Err.Number <> 0 Then
|
||||
Wscript.Echo vbCrLf & "----------------------------------"
|
||||
WScript.Echo "Could not retrieve uninstall information for " & strDisplayName & "!"
|
||||
WScript.Echo "Error Number: " & Err.Number
|
||||
WScript.Echo "Error Description: " & Err.Description
|
||||
Wscript.Echo "----------------------------------"
|
||||
strUninstallString = ""
|
||||
Err.Clear
|
||||
End If
|
||||
|
||||
'Slightly convoluted logic that determines if we're keeping or removing specific versions.
|
||||
For Each strVersion In aryVersions
|
||||
If (bolKeepJava) Then
|
||||
If (Instr(1, strDisplayName, strVersion, 1) > 0) Then
|
||||
strUninstallString = ""
|
||||
End If
|
||||
Else
|
||||
If (Instr(1, strDisplayName, strVersion, 1) < 1) Then
|
||||
strUninstallString = ""
|
||||
End If
|
||||
End If
|
||||
Next
|
||||
|
||||
If (strUninstallString <> "") Then
|
||||
'Look for very old JRE 1.1, 1.2.x, or 1.3.0 to 1.3.0_04 and 1.3.1 to 1.3.1_04 InstallShield installs.
|
||||
If (Instr(1, strUninstallKey, "JRE 1", 1)) Then
|
||||
strUninstallString = Replace(strUninstallString, "-f", "-a -x -y -f")
|
||||
'Look for 1.3.0_05 and 1.3.1_05 to 1.3.1_20 InstallShield based installs.
|
||||
ElseIf (Instr(1, strUninstallString, "-uninst", 1)) Then
|
||||
strUninstallString = ""
|
||||
WScript.Echo "Java versions 1.3.0_05 and 1.3.1_05 through 1.3.1_20 cannot be silently uninstalled."
|
||||
'Look for a 1.4.0 to 1.4.1_07 InstallShield installation.
|
||||
ElseIf (Instr(1, strUninstallString, "Anytext", 1)) Then
|
||||
'Create ISS script for this install and fix the uninstall string.
|
||||
If (CreateISSFile(strUninstallKey, objWSHShell.ExpandEnvironmentStrings("%TEMP%"))) Then
|
||||
strUninstallString = Replace(strUninstallString, "Anytext", "/s /SMS /w /f1""" & objWSHShell.ExpandEnvironmentStrings("%TEMP%") _
|
||||
& "\" & strUninstallKey & ".iss""")
|
||||
'Check and add the logfile to the uninstaller string.
|
||||
If (strLogFilePath <> "") Then
|
||||
strUninstallString = strUninstallString & " /f2""" & strLogFilePath & strDisplayName & "_Uninstall.txt"""
|
||||
End If
|
||||
Else
|
||||
strUninstallString = ""
|
||||
End If
|
||||
'Look for 1.4.2 and up MSI based InstallShield installs.
|
||||
ElseIf (Instr(1, strUninstallString, "msiexec.exe", 1)) Then
|
||||
'Create MSIEXEC uninstall string.
|
||||
strUninstallString = "MSIEXEC.EXE /X " & strUninstallKey & " /qn /norestart"
|
||||
'Check and add the logfile to the uninstaller string.
|
||||
If (strLogFilePath <> "") Then
|
||||
strUninstallString = strUninstallString & " /l*v """ & strLogFilePath & strDisplayName & "_Uninstall.txt"""
|
||||
End If
|
||||
Else
|
||||
strUninstallString = ""
|
||||
End If
|
||||
Else
|
||||
strUninstallString = ""
|
||||
End If
|
||||
|
||||
WScript.Echo "Uninstall string: " & strUninstallString
|
||||
|
||||
If (strUninstallString = "") Then
|
||||
WScript.Echo strDisplayName & " was not uninstalled."
|
||||
Else
|
||||
'Run the uninstaller.
|
||||
intUninstallReturnCode = objWSHShell.Run(strUninstallString, 0, true)
|
||||
WScript.Echo "Uninstall return code was: " & intUninstallReturnCode & "."
|
||||
End If
|
||||
|
||||
WScript.Echo "----------------------------------"
|
||||
|
||||
End If
|
||||
|
||||
Next
|
||||
|
||||
'Resume normal quit on error behavior.
|
||||
On Error GoTo 0
|
||||
|
||||
End Function
|
||||
|
||||
Function CreateISSFile(strUninstallKey, strTempPath)
|
||||
On Error Resume Next
|
||||
|
||||
Dim objFileSystem, objUninstallScript
|
||||
|
||||
Set objFileSystem = CreateObject("Scripting.FileSystemObject")
|
||||
|
||||
'Create InstallShield ISS script file for the uninstallation.
|
||||
Set objUninstallScript = objFileSystem.OpenTextFile(strTempPath & "\" & strUninstallKey & ".iss", 2, True)
|
||||
|
||||
If (Err.Number <> 0) Then
|
||||
WScript.Echo "Could not create uninstall file at " & strTempPath & "\" & strUninstallKey & ".iss!"
|
||||
WScript.Echo "Error Number: " & Err.Number
|
||||
WScript.Echo "Error Description: " & Err.Description
|
||||
Err.Clear
|
||||
CreateISSFile = 0
|
||||
End If
|
||||
|
||||
'One ugly write statement to cut down on the ammount of error checking that has to be done.
|
||||
'That SharedFile=YesToAll creates problems with multiple versions of 1.4.0 to 1.4.1_07 installed.
|
||||
objUninstallScript.Write "[InstallShield Silent]" & vbCrLf & "Version=v6.00.000" & vbCrLf & "File=Response File" & vbCrLf & "[File Transfer]" & _
|
||||
vbCrLf & "OverwrittenReadOnly=NoToAll" & vbCrLf & "[" & strUninstallKey & "-DlgOrder]" & vbCrLf & "Dlg0=" & strUninstallKey & "-SprintfBox-0" & _
|
||||
vbCrLf & "Count=2" & vbCrLf & "Dlg1=" & strUninstallKey & "-File Transfer" & vbCrLf & "[" & strUninstallKey & "-SprintfBox-0]" & vbCrLf & "Result=1" & _
|
||||
vbCrLf & "[Application]" & vbCrLf & "Name=Java 2 Runtime Environment, SE v1.4.0" & vbCrLf & "Version=1.4.0" & vbCrLf & "Company=JavaSoft" & _
|
||||
vbCrLf & "Lang=0009" & vbCrLf & "[" & strUninstallKey & "-File Transfer]" & vbCrLf & "SharedFile=NoToAll"
|
||||
|
||||
If (Err.Number <> 0) Then
|
||||
WScript.Echo "Could not create uninstall file at " & strTempPath & "\" & strUninstallKey & ".iss!"
|
||||
WScript.Echo "Error Number: " & Err.Number
|
||||
WScript.Echo "Error Description: " & Err.Description
|
||||
Err.Clear
|
||||
CreateISSFile = 0
|
||||
End If
|
||||
|
||||
objUninstallScript.Close
|
||||
|
||||
If (Err.Number <> 0) Then
|
||||
WScript.Echo "Could not create uninstall file at " & strTempPath & "\" & strUninstallKey & ".iss!"
|
||||
WScript.Echo "Error Number: " & Err.Number
|
||||
WScript.Echo "Error Description: " & Err.Description
|
||||
Err.Clear
|
||||
CreateISSFile = 0
|
||||
End If
|
||||
|
||||
|
||||
CreateISSFile = 1
|
||||
|
||||
End Function
|
||||
|
||||
Function PrintHelp()
|
||||
'Just prints out the help when run with /help /? or no arguments.
|
||||
WScript.Echo vbCrLf & "Java Runtime Environment Removal Script v3.0" & vbCrLf
|
||||
WScript.Echo "Removes Java runtimes based on command line parameters." & vbCrLf & "Default parameters removes all Java versions without creating logs."
|
||||
WScript.Echo "Does not uninstall Java versions 1.3.0_05 and 1.3.1_05 through 1.3.1_20." & vbCrLf & "They do not uninstall silently." & vbCrLf
|
||||
WScript.Echo "Command line switches:" & vbCrLf
|
||||
WScript.Echo "/keeponly" & vbTab & vbTab & "Script keeps only versions specified." & vbCrLf & vbTab & vbTab & vbTab & "If no versions are specified no versions are kept." & vbCrLf
|
||||
WScript.Echo "/removeonly" & vbTab & vbTab & "Script removes only versions specified." & vbCrLf & vbTab & vbTab & vbTab & "If no versions are specified no versions are removed." & vbCrLf
|
||||
WScript.Echo "/versions:" & vbTab & vbTab & "Specifies verions to act on." & vbCrLf & vbTab & vbTab & vbTab & "Versions are seperated by semicolons." & vbCrLf & vbTab & vbTab & vbTab & _
|
||||
"By default specified versions are kept." & vbCrLf & vbTab & vbTab & vbTab & "MUST MATCH THE DISPLAY NAME IN ADD/REMOVE PROGRAMS" & vbCrLf
|
||||
WScript.Echo "/versionsx86onx64:" & vbTab & "Specifies x86 runtime versions to keep on a x64 system." & vbCrLf & vbTab & vbTab & vbTab & _
|
||||
"Versions are seperated by semicolon." & vbCrLf & vbTab & vbTab & vbTab & _
|
||||
"If no x86 versions are specified script uses versions" & vbCrLf & vbTab & vbTab & vbTab & "specified by /versions for both x64 and x86 runtimes." _
|
||||
& vbCrLf & vbTab & vbTab & vbTab & "MUST MATCH THE DISPLAY NAME IN ADD/REMOVE PROGRAMS" & vbCrLf
|
||||
Wscript.Echo "/logfilepath:" & vbTab & vbTab & "Sets path for uninstall log file from Java runtimes." & vbCrLf & vbTab & vbTab & vbTab & _
|
||||
"If path does not exist uninstallers will fail." & vbCrLf
|
||||
WScript.Echo "Examples:" & vbCrLf
|
||||
WScript.Echo "cscript /nologo JavaUninstallScript.vbs /keeponly /versions:""Java(TM) 6 Update 24;J2SE Runtime Environment 5.0 Update 16"" /logfilepath:""C:\Temp"""
|
||||
WScript.Echo "Removes all Java Runtimes found except Java 6 Update 24 and J2SE 5 Update 16 and places the uninstall logs in C:\Temp." & vbCrLf
|
||||
WScript.Echo "cscript /nologo JavaUninstallScript.vbs /keeponly /versions:""Java(TM) 6 Update 24"" /versionsx86onx64:""J2SE Runtime Environment 5.0 Update 16"" /logfilepath:""C:\Temp"""
|
||||
WScript.Echo "Removes all Java Runtimes found except x64 Java 6 Update 24 and x86 J2SE 5 Update 16 on a x64 system and places the uninstall logs in C:\Temp." & vbCrLf
|
||||
WScript.Echo "cscript /nologo JavaUninstallScript.vbs /keeponly"
|
||||
WScript.Echo "Removes all Java Runtimes without creating logs." & vbCrLf
|
||||
WScript.Echo "cscript /nologo JavaUninstallScript.vbs /removeonly"
|
||||
WScript.Echo "Keeps all Java Runtimes. Only useful for making a list of installed runtimes." & vbCrLf
|
||||
End Function
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,18 +0,0 @@
|
||||
; Copyright (c) uib gmbh (www.uib.de)
|
||||
; This sourcecode is owned by uib
|
||||
; and published under the Terms of the General Public License.
|
||||
|
||||
[Aktionen]
|
||||
Message=deinstalling Java Virtual Machine Sun 1.6 ...
|
||||
DefVar $UninstallCommand$
|
||||
DefVar $DisplayName$
|
||||
DefVar $ExitCode$
|
||||
|
||||
if FileExists("%ScriptPath%\subdeljava.ins")
|
||||
comment "start uninstall"
|
||||
sub "%ScriptPath%\subdeljava.ins"
|
||||
endif
|
||||
|
||||
[Winbatch_sun_uninstall]
|
||||
$UninstallCommand$
|
||||
|
@ -2,111 +2,29 @@
|
||||
; This sourcecode is owned by uib gmbh
|
||||
; and published under the Terms of the General Public License.
|
||||
; credits: http://www.opsi.org/credits/
|
||||
Set $MsiId$ = '{26A24AE4-039D-4CA4-87B4-2F83217045FF}'
|
||||
|
||||
Message "Uninstalling " + $ProductId$ + " ..."
|
||||
|
||||
Set $MsiId32$ = '{E7C06D29-B16A-4D88-A917-55422FAB4E9D}'
|
||||
Set $UninstallProgram32$ = $InstallDir32$ + "\uninstall.exe"
|
||||
dosinanicon_install
|
||||
DosBatch_jre_uninstall
|
||||
|
||||
Set $MsiId64$ = '{8D7DDFA2-3A50-49A4-99C5-6D8BE66FE0B9}'
|
||||
Set $UninstallProgram64$ = $InstallDir64$ + "\uninstall.exe"
|
||||
;if not (GetRegistryStringValue32("[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\" + $MsiId$ + "] DisplayName") = "")
|
||||
; DosBatch_jre_uninstall
|
||||
; dosinanicon_install
|
||||
; Winbatch_uninstall_msi
|
||||
; sub_check_exitcode
|
||||
;endif
|
||||
|
||||
if (($INST_SystemType$ = "x86 System") and ($INST_architecture$ = "system specific")) or ($INST_architecture$ = "both") or ($INST_architecture$ = "32 only")
|
||||
Message "Uninstalling " + $ProductId$ + " 32 Bit..."
|
||||
[dosinanicon_install]
|
||||
taskkill /f /im iexplore.exe /t
|
||||
|
||||
if FileExists($UninstallProgram32$)
|
||||
comment "Uninstall program found, starting uninstall"
|
||||
Winbatch_uninstall_32
|
||||
sub_check_exitcode
|
||||
endif
|
||||
[Winbatch_uninstall_msi]
|
||||
msiexec /x $MsiId$ /qb! REBOOT=ReallySuppress
|
||||
|
||||
if not (GetRegistryStringValue32("[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\" + $MsiId32$ + "] DisplayName") = "")
|
||||
comment "MSI id " + $MsiId32$ + " found in registry, starting msiexec to uninstall"
|
||||
Winbatch_uninstall_msi_32
|
||||
sub_check_exitcode
|
||||
endif
|
||||
|
||||
comment "Delete files"
|
||||
Files_uninstall_32 /32Bit
|
||||
comment "Cleanup registry"
|
||||
Registry_uninstall /32Bit
|
||||
endif
|
||||
|
||||
if ($INST_SystemType$ = "64 Bit System") and (($INST_architecture$ = "system specific") or ($INST_architecture$ = "both") or ($INST_architecture$ = "64 only"))
|
||||
Message "Uninstalling " + $ProductId$ + " 64 Bit..."
|
||||
|
||||
if FileExists($UninstallProgram64$)
|
||||
comment "Uninstall program found, starting uninstall"
|
||||
Winbatch_uninstall_64
|
||||
sub_check_exitcode
|
||||
endif
|
||||
|
||||
if not (GetRegistryStringValue64("[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\" + $MsiId64$ + "] DisplayName") = "")
|
||||
comment "MSI id " + $MsiId64$ + " found in registry, starting msiexec to uninstall"
|
||||
Winbatch_uninstall_msi_64
|
||||
sub_check_exitcode
|
||||
endif
|
||||
|
||||
comment "Delete files"
|
||||
Files_uninstall_64 /64Bit
|
||||
comment "Cleanup registry"
|
||||
Registry_uninstall /64Bit
|
||||
endif
|
||||
|
||||
comment "Delete program shortcuts"
|
||||
LinkFolder_uninstall
|
||||
|
||||
[Winbatch_uninstall_32]
|
||||
; Choose one of the following examples as basis for program uninstall
|
||||
;
|
||||
; === Nullsoft Scriptable Install System ================================================================
|
||||
; "$UninstallProgram32$" /S
|
||||
;
|
||||
; === Inno Setup ========================================================================================
|
||||
; "$UninstallProgram32$" /silent /norestart /SUPPRESSMSGBOXES
|
||||
|
||||
|
||||
[Winbatch_uninstall_msi_32]
|
||||
msiexec /x $MsiId32$ /qb! REBOOT=ReallySuppress
|
||||
|
||||
[Files_uninstall_32]
|
||||
; Example for recursively deleting the installation directory (don't forget the trailing backslash):
|
||||
;
|
||||
; delete -sf "$InstallDir32$\"
|
||||
|
||||
[Winbatch_uninstall_64]
|
||||
; Choose one of the following examples as basis for program uninstall
|
||||
;
|
||||
; === Nullsoft Scriptable Install System ================================================================
|
||||
; "$UninstallProgram64$" /S
|
||||
;
|
||||
; === Inno Setup ========================================================================================
|
||||
; "$UninstallProgram64$" /silent /norestart /SUPPRESSMSGBOXES
|
||||
|
||||
|
||||
[Winbatch_uninstall_msi_64]
|
||||
msiexec /x $MsiId64$ /qb! REBOOT=ReallySuppress
|
||||
|
||||
[Files_uninstall_64]
|
||||
; Example for recursively deleting the installation directory (don't forget the trailing backslash):
|
||||
;
|
||||
; delete -sf "$InstallDir64$\"
|
||||
|
||||
[Registry_uninstall]
|
||||
; Example of deleting a registry key:
|
||||
;
|
||||
; deletekey [HKEY_LOCAL_MACHINE\Software\$ProductId$]
|
||||
|
||||
[LinkFolder_uninstall]
|
||||
; Example of deleting a folder from AllUsers startmenu:
|
||||
;
|
||||
; set_basefolder common_programs
|
||||
; delete_subfolder $ProductId$
|
||||
;
|
||||
; Example of deleting a shortcut from AllUsers desktop:
|
||||
;
|
||||
; set_basefolder common_desktopdirectory
|
||||
; set_subfolder ""
|
||||
; delete_element $ProductId$
|
||||
[DosBatch_jre_uninstall]
|
||||
@echo off
|
||||
cscript /nologo "%ScriptPath%\JavaUninstallScript.vbs" /keeponly
|
||||
|
||||
[Sub_check_exitcode]
|
||||
comment "Test for installation success via exit code"
|
||||
|
@ -1,10 +0,0 @@
|
||||
f '22c5718.msi' 581120 a6f03883935f1ccfcd7cd810d69f9847
|
||||
f '22c5719.mst' 5097472 31066708314d63f67f4675407a474880
|
||||
f '22ef504.msi' 581120 a6f03883935f1ccfcd7cd810d69f9847
|
||||
f '22ef505.mst' 5097472 31066708314d63f67f4675407a474880
|
||||
f 'deljvm.ins' 426 5976316a538ae83004149d6b1accea50
|
||||
f 'java.png' 11051 486c15bed74d4f163a02c9ff7e21de9a
|
||||
f 'javavm.ins' 5740 95c26511f036836bd6ad173e5ab3e1eb
|
||||
f 'jre-6u20-windows-i586-s.exe' 16529184 71fdde020a4920f55c96e1121a1dbd4a
|
||||
f 'jre-6u20-windows-x64.exe' 16420640 343eead5222da8f5bffb298fb2683330
|
||||
f 'subdeljava.ins' 10576 603ef618ccbd924a3ce46db527b6a78c
|
@ -1,150 +0,0 @@
|
||||
; Copyright (c) uib gmbh (www.uib.de)
|
||||
; This sourcecode is owned by uib
|
||||
; and published under the Terms of the General Public License.
|
||||
|
||||
[Aktionen]
|
||||
requiredWinstVersion >= "4.10.3"
|
||||
Message "installing Java Virtual Machine Sun 1.6 ..."
|
||||
DefVar $ExitCode$
|
||||
DefVar $INST_MsVersion$
|
||||
DefVar $INST_SystemType$
|
||||
DefVar $INST_architecture$
|
||||
DefVar $JAVA32_16EXE$
|
||||
DefVar $JAVA32_16VER$
|
||||
DefVar $JAVA64_16EXE$
|
||||
DefVar $JAVA64_16VER$
|
||||
DefVar $UninstallCommand$
|
||||
DefVar $DisplayName$
|
||||
DefVar $InstallPlugins$
|
||||
DefVar $MySystemRoot$
|
||||
|
||||
DefStringlist $INST_MsVersionMap$
|
||||
|
||||
Set $INST_SystemType$ = GetSystemType
|
||||
set $INST_MsVersion$ = GetMsVersionInfo
|
||||
set $INST_MsVersionMap$ = GetMSVersionMap
|
||||
set $INST_architecture$ = GetProductProperty("install_architecture","system specific")
|
||||
set $MySystemRoot$ = "%"+"systemroot"+"%"
|
||||
|
||||
set $JAVA32_16EXE$="jre-6u20-windows-i586-s.exe"
|
||||
set $JAVA32_16VER$="jre1.6.0_20"
|
||||
set $JAVA64_16EXE$="jre-6u20-windows-x64.exe"
|
||||
set $JAVA64_16VER$="jre1.6.0_20"
|
||||
set $InstallPlugins$ = "IEXPLORER=1 MOZILLA=1"
|
||||
|
||||
if not(HasMinimumSpace ("%SYSTEMDRIVE%", "200 MB"))
|
||||
LogError "Not enough space on %SystemDrive%, " + $MinimumSpace$ + " on drive %SystemDrive% needed for Java 1.6"
|
||||
isFatalError
|
||||
; Stop process and set installation status to failed
|
||||
endif
|
||||
|
||||
if $INST_MsVersion$ < "5.0"
|
||||
LogError "Minimum Windows 2000 is required for Java 1.6"
|
||||
isFatalError
|
||||
endif
|
||||
|
||||
ShowBitmap "%scriptpath%\java.png" "SUN Java VM"
|
||||
|
||||
if FileExists("%ScriptPath%\subdeljava.ins")
|
||||
comment "start uninstall"
|
||||
sub "%ScriptPath%\subdeljava.ins"
|
||||
endif
|
||||
|
||||
comment "installing"
|
||||
|
||||
if (($INST_SystemType$ = "x86 System") and ($INST_architecture$ = "system specific")) or ($INST_architecture$ = "both") or ($INST_architecture$ = "32 only")
|
||||
if ($INST_MsVersion$ = "6.0") and ("1" < getValue("product_type_nr",$INST_MsVersionMap$)) and ($INST_SystemType$ = "64 Bit System")
|
||||
LogWarning "silent installation on 2008x64 doesn't works at the moment"
|
||||
else
|
||||
Message "Installing Sun "+$JAVA32_16VER$+ " 32 Bit..."
|
||||
if $INST_SystemType$ = "64 Bit System"
|
||||
comment "registry hack for silent install 32 bit on 64 Bit Systems"
|
||||
; see http://www.myitforum.com/forums/tm.aspx?high=&m=215451&mpage=1#215451
|
||||
Registry_redirect_64_profile_image_to_32 /64bit
|
||||
endif
|
||||
Winbatch_sun_1_6_silent_install_32
|
||||
if $INST_SystemType$ = "64 Bit System"
|
||||
comment "registry hack for silent install 32 bit on 64 Bit Systems"
|
||||
Registry_redirect_64_profile_image_to_64 /64bit
|
||||
endif
|
||||
Sub_check_exitcode
|
||||
comment "disable auto updater"
|
||||
; see http://wpkg.org/Java
|
||||
Winbatch_sun_1_6_silent_disable_update
|
||||
;Sub_check_exitcode
|
||||
Registry_disable_update
|
||||
endif
|
||||
endif ; 32 Bit
|
||||
|
||||
if ($INST_SystemType$ = "64 Bit System") and (($INST_architecture$ = "system specific") or ($INST_architecture$ = "both") or ($INST_architecture$ = "64 only"))
|
||||
Message "Installing Sun "+$JAVA64_16VER$+ " 64 Bit..."
|
||||
Winbatch_sun_1_6_silent_install_64
|
||||
Sub_check_exitcode
|
||||
comment "disable auto updater"
|
||||
; see http://wpkg.org/Java
|
||||
Registry_disable_update /64Bit
|
||||
endif ; 64 Bit
|
||||
|
||||
|
||||
; custom specific stuff
|
||||
if FileExists("%ScriptPath%\custom_ins_dir\custom.ins")
|
||||
sub "%ScriptPath%\custom_ins_dir\custom.ins"
|
||||
endif
|
||||
|
||||
|
||||
[Sub_check_exitcode]
|
||||
comment "Test for installation success via exit code"
|
||||
set $ExitCode$ = getLastExitCode
|
||||
; informations to exit codes see
|
||||
; http://msdn.microsoft.com/en-us/library/aa372835(VS.85).aspx
|
||||
; http://msdn.microsoft.com/en-us/library/aa368542.aspx
|
||||
if ($ExitCode$ = "0")
|
||||
comment "Looks good: setup program gives exitcode zero"
|
||||
else
|
||||
comment "Setup program gives a exitcode unequal zero: " + $ExitCode$
|
||||
if ($ExitCode$ = "1605")
|
||||
comment "ERROR_UNKNOWN_PRODUCT 1605 This action is only valid for products that are currently installed."
|
||||
comment "Uninstall of a not installed product failed - no problem"
|
||||
else
|
||||
if ($ExitCode$ = "1641")
|
||||
comment "looks good: setup program gives exitcode 1641"
|
||||
comment "ERROR_SUCCESS_REBOOT_INITIATED 1641 The installer has initiated a restart. This message is indicative of a success."
|
||||
else
|
||||
if ($ExitCode$ = "3010")
|
||||
comment "looks good: setup program gives exitcode 3010"
|
||||
comment "ERROR_SUCCESS_REBOOT_REQUIRED 3010 A restart is required to complete the install. This message is indicative of a success."
|
||||
else
|
||||
logError "Fatal: Setup program gives an unknown exitcode unequal zero: " + $ExitCode$
|
||||
isFatalError
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
[winbatch_start_taskmgr]
|
||||
taskmgr.exe
|
||||
|
||||
[Winbatch_sun_1_6_silent_disable_update]
|
||||
msiexec /x {4A03706F-666A-4037-7777-5F2748764D10} /qb-!
|
||||
|
||||
[Registry_redirect_64_profile_image_to_32]
|
||||
openkey [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\S-1-5-18]
|
||||
set "ProfileImagePath"=REG_EXPAND_SZ:"$MySystemRoot$\syswow64\config\systemprofile"
|
||||
|
||||
[Registry_redirect_64_profile_image_to_64]
|
||||
openkey [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\S-1-5-18]
|
||||
set "ProfileImagePath"=REG_EXPAND_SZ:"$MySystemRoot$\config\systemprofile"
|
||||
|
||||
[Registry_disable_update]
|
||||
openkey [HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Update\Policy]
|
||||
set "EnableJavaUpdate"=REG_DWORD:0
|
||||
|
||||
[Winbatch_sun_1_6_silent_install_32]
|
||||
%SCRIPTPATH%\$JAVA32_16EXE$ /s /v"/qb-! /lie c:\tmp\$JAVA32_16VER$.log ADDLOCAL=ALL $InstallPlugins$ REBOOT=ReallySuppess SYSTRAY=0 JAVAUPDATE=0 JU=0 AUTOUPDATECHECK=0 ARPURLUPDATEINFO='http://www.opsi.org'"
|
||||
|
||||
[Winbatch_sun_1_6_silent_install_64]
|
||||
%SCRIPTPATH%\$JAVA64_16EXE$ /s /v"/qb-! /lie c:\tmp\$JAVA32_16VER$.log ADDLOCAL=ALL $InstallPlugins$ REBOOT=ReallySuppess SYSTRAY=0 JAVAUPDATE=0 JU=0 AUTOUPDATECHECK=0 ARPURLUPDATEINFO='http://www.opsi.org'"
|
||||
|
||||
[Winbatch_sun_uninstall]
|
||||
$UninstallCommand$
|
||||
|
@ -6,31 +6,17 @@
|
||||
[Actions]
|
||||
requiredWinstVersion >= "4.10.8.6"
|
||||
|
||||
DefVar $MsiId32$
|
||||
DefVar $MsiId$
|
||||
DefVar $UninstallProgram32$
|
||||
DefVar $MsiId64$
|
||||
DefVar $UninstallProgram64$
|
||||
DefVar $LogDir$
|
||||
DefVar $ProductId$
|
||||
DefVar $MinimumSpace$
|
||||
DefVar $InstallDir32$
|
||||
DefVar $InstallDir64$
|
||||
DefVar $ExitCode$
|
||||
DefVar $LicenseRequired$
|
||||
DefVar $LicenseKey$
|
||||
DefVar $LicensePool$
|
||||
DefVar $INST_SystemType$
|
||||
DefVar $INST_architecture$
|
||||
DefVar $JAVA32_17EXE$
|
||||
DefVar $JAVA32_17VER$
|
||||
DefVar $InstallPlugins$
|
||||
|
||||
|
||||
Set $INST_SystemType$ = GetSystemType
|
||||
set $INST_architecture$ = GetProductProperty("install_architecture","system specific")
|
||||
|
||||
set $JAVA32_17EXE$="jre-7u45-windows-i586.exe"
|
||||
set $JAVA32_17VER$="jre1.7.0_45"
|
||||
set $InstallPlugins$ = "IEXPLORER=1 MOZILLA=1"
|
||||
|
||||
Set $LogDir$ = "%SystemDrive%\tmp"
|
||||
@ -51,11 +37,9 @@ Set $LogDir$ = "%SystemDrive%\tmp"
|
||||
;$ProductId$ should be the name of the product in opsi
|
||||
; therefore please: only lower letters, no umlauts,
|
||||
; no white space use '-' as a seperator
|
||||
Set $ProductId$ = "Java7u45"
|
||||
Set $ProductId$ = "java745"
|
||||
Set $MinimumSpace$ = "1 MB"
|
||||
; the path were we find the product after the installation
|
||||
Set $InstallDir32$ = "%ProgramFiles32Dir%\<path to the product>"
|
||||
Set $InstallDir64$ = "%ProgramFiles64Dir%\<path to the product>"
|
||||
Set $LicenseRequired$ = "false"
|
||||
Set $LicensePool$ = "p_" + $ProductId$
|
||||
; ----------------------------------------------------------------
|
||||
@ -79,18 +63,11 @@ else
|
||||
endif
|
||||
|
||||
comment "installing"
|
||||
|
||||
Message "Installing " + $ProductId$ + " 32 Bit..."
|
||||
comment "Start setup program"
|
||||
Winbatch_java_1_7_silent_install_32
|
||||
dosinanicon_install
|
||||
Winbatch_java_install
|
||||
Sub_check_exitcode
|
||||
comment "Copy files"
|
||||
Files_install_32 /32Bit
|
||||
comment "Patch Registry"
|
||||
Registry_install /32Bit
|
||||
comment "Create shortcuts"
|
||||
LinkFolder_install
|
||||
|
||||
endif
|
||||
|
||||
[Sub_check_exitcode]
|
||||
@ -119,14 +96,8 @@ else
|
||||
endif
|
||||
endif
|
||||
|
||||
[Winbatch_java_1_7_silent_install_32]
|
||||
%SCRIPTPATH%\custom\$JAVA32_17EXE$ /s /v"/qb-! /lie c:\tmp\$JAVA32_17VER$.log ADDLOCAL=ALL $InstallPlugins$ REBOOT=ReallySuppess SYSTRAY=0 JAVAUPDATE=0 JU=0 AUTOUPDATECHECK=0 ARPURLUPDATEINFO='http://www.opsi.org'"
|
||||
|
||||
|
||||
[Winbatch_install]
|
||||
; === MSI package =======================================================================================
|
||||
;msiexec /i "%ScriptPath%\custom\capicom_dc_sdk.msi" /qb-!
|
||||
|
||||
[dosinanicon_install]
|
||||
;regsvr32 /s "C:\Programme\Microsoft CAPICOM 2.1.0.2 SDK\Lib\X86\capicom.dll"
|
||||
;cscript "C:\Programme\Microsoft CAPICOM 2.1.0.2 SDK\Samples\vbs\CStore.vbs" import c:\Sky\PZ-7462673.pfx t1akXk9Zpi
|
||||
taskkill /f /im iexplore.exe /t
|
||||
|
||||
[Winbatch_java_install]
|
||||
"$Install32Exe$" /s /v "/qb-! ADDLOCAL=ALL $InstallPlugins$ REBOOT=ReallySuppess SYSTRAY=0 JAVAUPDATE=0 JU=0 AUTOUPDATECHECK=0"
|
||||
|
@ -1,250 +0,0 @@
|
||||
; custom specific stuff
|
||||
if FileExists("%ScriptPath%\custom_ins_dir\prevent_uninstall.ins")
|
||||
sub "%ScriptPath%\custom_ins_dir\prevent_uninstall.ins"
|
||||
endif
|
||||
|
||||
LinkFolder_Webstart_delete
|
||||
|
||||
|
||||
;JavaVM 1.6.0
|
||||
set $DisplayName$ = GetRegistryStringValue ("[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{3248F0A8-6813-11D6-A77B-00B0D0160000}] DisplayName")
|
||||
if not ($DisplayName$ = "")
|
||||
Message "Found "+$DisplayName$+" => uninstalling first"
|
||||
set $UninstallCommand$ = "MsiExec.exe /x {3248F0A8-6813-11D6-A77B-00B0D0160000} /qb-! REBOOT=ReallySuppress"
|
||||
Winbatch_sun_uninstall
|
||||
Sub_check_exitcode
|
||||
endif
|
||||
|
||||
;JavaVM 1.6.0_1
|
||||
set $DisplayName$ = GetRegistryStringValue ("[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{3248F0A8-6813-11D6-A77B-00B0D0160010}] DisplayName")
|
||||
if not ($DisplayName$ = "")
|
||||
Message "Found "+$DisplayName$+" => uninstalling first"
|
||||
set $UninstallCommand$ = "MsiExec.exe /x {3248F0A8-6813-11D6-A77B-00B0D0160010} /qb-! REBOOT=ReallySuppress"
|
||||
Winbatch_sun_uninstall
|
||||
Sub_check_exitcode
|
||||
endif
|
||||
|
||||
;JavaVM 1.6.0_2
|
||||
set $DisplayName$ = GetRegistryStringValue ("[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{3248F0A8-6813-11D6-A77B-00B0D0160020}] DisplayName")
|
||||
if not ($DisplayName$ = "")
|
||||
Message "Found "+$DisplayName$+" => uninstalling first"
|
||||
set $UninstallCommand$ = "MsiExec.exe /x {3248F0A8-6813-11D6-A77B-00B0D0160020} /qb-! REBOOT=ReallySuppress"
|
||||
Winbatch_sun_uninstall
|
||||
Sub_check_exitcode
|
||||
endif
|
||||
|
||||
;JavaVM 1.6.0_3
|
||||
set $DisplayName$ = GetRegistryStringValue ("[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{3248F0A8-6813-11D6-A77B-00B0D0160030}] DisplayName")
|
||||
if not ($DisplayName$ = "")
|
||||
Message "Found "+$DisplayName$+" => uninstalling first"
|
||||
set $UninstallCommand$ = "MsiExec.exe /x {3248F0A8-6813-11D6-A77B-00B0D0160030} /qb-! REBOOT=ReallySuppress"
|
||||
Winbatch_sun_uninstall
|
||||
Sub_check_exitcode
|
||||
endif
|
||||
|
||||
;JavaVM 1.6.0_4
|
||||
set $DisplayName$ = GetRegistryStringValue ("[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{3248F0A8-6813-11D6-A77B-00B0D0160040}] DisplayName")
|
||||
if not ($DisplayName$ = "")
|
||||
Message "Found "+$DisplayName$+" => uninstalling first"
|
||||
set $UninstallCommand$ = "MsiExec.exe /x {3248F0A8-6813-11D6-A77B-00B0D0160040} /qb-! REBOOT=ReallySuppress"
|
||||
Winbatch_sun_uninstall
|
||||
Sub_check_exitcode
|
||||
endif
|
||||
|
||||
;JavaVM 1.6.0_5
|
||||
set $DisplayName$ = GetRegistryStringValue ("[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{3248F0A8-6813-11D6-A77B-00B0D0160050}] DisplayName")
|
||||
if not ($DisplayName$ = "")
|
||||
Message "Found "+$DisplayName$+" => uninstalling first"
|
||||
set $UninstallCommand$ = "MsiExec.exe /x {3248F0A8-6813-11D6-A77B-00B0D0160050} /qb-! REBOOT=ReallySuppress"
|
||||
Winbatch_sun_uninstall
|
||||
Sub_check_exitcode
|
||||
endif
|
||||
|
||||
;JavaVM 1.6.0_6
|
||||
set $DisplayName$ = GetRegistryStringValue ("[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{3248F0A8-6813-11D6-A77B-00B0D0160060}] DisplayName")
|
||||
if not ($DisplayName$ = "")
|
||||
Message "Found "+$DisplayName$+" => uninstalling first"
|
||||
set $UninstallCommand$ = "MsiExec.exe /x {3248F0A8-6813-11D6-A77B-00B0D0160060} /qb-! REBOOT=ReallySuppress"
|
||||
Winbatch_sun_uninstall
|
||||
Sub_check_exitcode
|
||||
endif
|
||||
|
||||
;JavaVM 1.6.0_7
|
||||
set $DisplayName$ = GetRegistryStringValue ("[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{3248F0A8-6813-11D6-A77B-00B0D0160070}] DisplayName")
|
||||
if not ($DisplayName$ = "")
|
||||
Message "Found "+$DisplayName$+" => uninstalling first"
|
||||
set $UninstallCommand$ = "MsiExec.exe /x {3248F0A8-6813-11D6-A77B-00B0D0160070} /qb-! REBOOT=ReallySuppress"
|
||||
Winbatch_sun_uninstall
|
||||
Sub_check_exitcode
|
||||
endif
|
||||
|
||||
;JavaVM 1.6.0_11
|
||||
set $DisplayName$ = GetRegistryStringValue ("[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{26A24AE4-039D-4CA4-87B4-2F83216011FF}] DisplayName")
|
||||
if not ($DisplayName$ = "")
|
||||
Message "Found "+$DisplayName$+" => uninstalling first"
|
||||
set $UninstallCommand$ = "MsiExec.exe /x {26A24AE4-039D-4CA4-87B4-2F83216011FF} /qb-! REBOOT=ReallySuppress"
|
||||
Winbatch_sun_uninstall
|
||||
Sub_check_exitcode
|
||||
endif
|
||||
|
||||
;JavaVM 1.6.0_12
|
||||
set $DisplayName$ = GetRegistryStringValue ("[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{26A24AE4-039D-4CA4-87B4-2F83216012FF}] DisplayName")
|
||||
if not ($DisplayName$ = "")
|
||||
Message "Found "+$DisplayName$+" => uninstalling first"
|
||||
set $UninstallCommand$ = "MsiExec.exe /x {26A24AE4-039D-4CA4-87B4-2F83216012FF} /qb-! REBOOT=ReallySuppress"
|
||||
Winbatch_sun_uninstall
|
||||
Sub_check_exitcode
|
||||
endif
|
||||
|
||||
;JavaVM 1.6.0_13
|
||||
set $DisplayName$ = GetRegistryStringValue ("[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{26A24AE4-039D-4CA4-87B4-2F83216013FF}] DisplayName")
|
||||
if not ($DisplayName$ = "")
|
||||
Message "Found "+$DisplayName$+" => uninstalling first"
|
||||
set $UninstallCommand$ = "MsiExec.exe /x {26A24AE4-039D-4CA4-87B4-2F83216013FF} /qb-! REBOOT=ReallySuppress"
|
||||
Winbatch_sun_uninstall
|
||||
Sub_check_exitcode
|
||||
endif
|
||||
|
||||
;JavaVM 1.6.0_14
|
||||
set $DisplayName$ = GetRegistryStringValue ("[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{26A24AE4-039D-4CA4-87B4-2F83216014FF}] DisplayName")
|
||||
if not ($DisplayName$ = "")
|
||||
Message "Found "+$DisplayName$+" => uninstalling first"
|
||||
set $UninstallCommand$ = "MsiExec.exe /x {26A24AE4-039D-4CA4-87B4-2F83216014FF} /qb-! REBOOT=ReallySuppress"
|
||||
Winbatch_sun_uninstall
|
||||
Sub_check_exitcode
|
||||
endif
|
||||
|
||||
;JavaVM 1.6.0_15
|
||||
set $DisplayName$ = GetRegistryStringValue ("[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{26A24AE4-039D-4CA4-87B4-2F83216015FF}] DisplayName")
|
||||
if not ($DisplayName$ = "")
|
||||
Message "Found "+$DisplayName$+" => uninstalling first"
|
||||
set $UninstallCommand$ = "MsiExec.exe /x {26A24AE4-039D-4CA4-87B4-2F83216015FF} /qb-! REBOOT=ReallySuppress"
|
||||
Winbatch_sun_uninstall
|
||||
Sub_check_exitcode
|
||||
endif
|
||||
|
||||
;JavaVM 1.6.0_16
|
||||
set $DisplayName$ = GetRegistryStringValue ("[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{26A24AE4-039D-4CA4-87B4-2F83216016FF}] DisplayName")
|
||||
if not ($DisplayName$ = "")
|
||||
Message "Found "+$DisplayName$+" => uninstalling first"
|
||||
set $UninstallCommand$ = "MsiExec.exe /x {26A24AE4-039D-4CA4-87B4-2F83216016FF} /qb-! REBOOT=ReallySuppress"
|
||||
Winbatch_sun_uninstall
|
||||
Sub_check_exitcode
|
||||
endif
|
||||
|
||||
;JavaVM 1.6.0_17
|
||||
set $DisplayName$ = GetRegistryStringValue ("[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{26A24AE4-039D-4CA4-87B4-2F83216017FF}] DisplayName")
|
||||
if not ($DisplayName$ = "")
|
||||
Message "Found "+$DisplayName$+" => uninstalling first"
|
||||
set $UninstallCommand$ = "MsiExec.exe /x {26A24AE4-039D-4CA4-87B4-2F83216017FF} /qb-! REBOOT=ReallySuppress"
|
||||
Winbatch_sun_uninstall
|
||||
Sub_check_exitcode
|
||||
endif
|
||||
|
||||
;JavaVM 1.6.0_18
|
||||
set $DisplayName$ = GetRegistryStringValue ("[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{26A24AE4-039D-4CA4-87B4-2F83216018FF}] DisplayName")
|
||||
if not ($DisplayName$ = "")
|
||||
Message "Found "+$DisplayName$+" => uninstalling first"
|
||||
set $UninstallCommand$ = "MsiExec.exe /x {26A24AE4-039D-4CA4-87B4-2F83216018FF} /qb-! REBOOT=ReallySuppress"
|
||||
Winbatch_sun_uninstall
|
||||
Sub_check_exitcode
|
||||
endif
|
||||
|
||||
;JavaVM 1.6.0_19
|
||||
set $DisplayName$ = GetRegistryStringValue ("[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{26A24AE4-039D-4CA4-87B4-2F83216019FF}] DisplayName")
|
||||
if not ($DisplayName$ = "")
|
||||
Message "Found "+$DisplayName$+" => uninstalling first"
|
||||
set $UninstallCommand$ = "MsiExec.exe /x {26A24AE4-039D-4CA4-87B4-2F83216019FF} /qb-! REBOOT=ReallySuppress"
|
||||
Winbatch_sun_uninstall
|
||||
Sub_check_exitcode
|
||||
endif
|
||||
|
||||
;JavaVM 1.6.0_20
|
||||
set $DisplayName$ = GetRegistryStringValue ("[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{26A24AE4-039D-4CA4-87B4-2F83216020FF}] DisplayName")
|
||||
if not ($DisplayName$ = "")
|
||||
Message "Found "+$DisplayName$+" => uninstalling first"
|
||||
set $UninstallCommand$ = "MsiExec.exe /x {26A24AE4-039D-4CA4-87B4-2F83216020FF} /qb-! REBOOT=ReallySuppress"
|
||||
;Winbatch_sun_uninstall /WaitForProcessEnding "msiexec.exe" /TimeOutSeconds 300
|
||||
sub_deinstall_with_retry
|
||||
Sub_check_exitcode
|
||||
endif
|
||||
|
||||
set $DisplayName$ = GetRegistryStringValue64 ("[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{26A24AE4-039D-4CA4-87B4-2F86416020FF}] DisplayName")
|
||||
if not ($DisplayName$ = "")
|
||||
Message "Found "+$DisplayName$+" => uninstalling first"
|
||||
set $UninstallCommand$ = "MsiExec.exe /x {26A24AE4-039D-4CA4-87B4-2F86416020FF} /qb-! REBOOT=ReallySuppress"
|
||||
sub_deinstall_with_retry
|
||||
Sub_check_exitcode
|
||||
;sleepSeconds 30
|
||||
endif
|
||||
|
||||
[sub_deinstall_with_retry]
|
||||
Winbatch_sun_uninstall
|
||||
set $ExitCode$ = getLastExitCode
|
||||
if $ExitCode$ = "1618"
|
||||
sleepSeconds 10
|
||||
Winbatch_sun_uninstall
|
||||
set $ExitCode$ = getLastExitCode
|
||||
if $ExitCode$ = "1618"
|
||||
sleepSeconds 10
|
||||
Winbatch_sun_uninstall
|
||||
set $ExitCode$ = getLastExitCode
|
||||
if $ExitCode$ = "1618"
|
||||
sleepSeconds 10
|
||||
Winbatch_sun_uninstall
|
||||
set $ExitCode$ = getLastExitCode
|
||||
if $ExitCode$ = "1618"
|
||||
sleepSeconds 10
|
||||
Winbatch_sun_uninstall
|
||||
set $ExitCode$ = getLastExitCode
|
||||
if $ExitCode$ = "1618"
|
||||
sleepSeconds 10
|
||||
Winbatch_sun_uninstall
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
|
||||
[Winbatch_sun_uninstall]
|
||||
$UninstallCommand$
|
||||
|
||||
[LinkFolder_Webstart_delete]
|
||||
set_basefolder common_programs
|
||||
delete_subfolder "Java"
|
||||
delete_subfolder "Java Web Start"
|
||||
|
||||
[DosInAnIcon_test_16_installation]
|
||||
@echo off
|
||||
"java.exe" -version
|
||||
|
||||
[Sub_check_exitcode]
|
||||
comment "Test for installation success via exit code"
|
||||
set $ExitCode$ = getLastExitCode
|
||||
; informations to exit codes see
|
||||
; http://msdn.microsoft.com/en-us/library/aa372835(VS.85).aspx
|
||||
; http://msdn.microsoft.com/en-us/library/aa368542.aspx
|
||||
if ($ExitCode$ = "0")
|
||||
comment "Looks good: setup program gives exitcode zero"
|
||||
else
|
||||
comment "Setup program gives a exitcode unequal zero: " + $ExitCode$
|
||||
if ($ExitCode$ = "1605")
|
||||
comment "ERROR_UNKNOWN_PRODUCT 1605 This action is only valid for products that are currently installed."
|
||||
comment "Uninstall of a not installed product failed - no problem"
|
||||
else
|
||||
if ($ExitCode$ = "1641")
|
||||
comment "looks good: setup program gives exitcode 1641"
|
||||
comment "ERROR_SUCCESS_REBOOT_INITIATED 1641 The installer has initiated a restart. This message is indicative of a success."
|
||||
else
|
||||
if ($ExitCode$ = "3010")
|
||||
comment "looks good: setup program gives exitcode 3010"
|
||||
comment "ERROR_SUCCESS_REBOOT_REQUIRED 3010 A restart is required to complete the install. This message is indicative of a success."
|
||||
else
|
||||
logError "Fatal: Setup program gives an unknown exitcode unequal zero: " + $ExitCode$
|
||||
isFatalError
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
@ -6,23 +6,10 @@
|
||||
[Actions]
|
||||
requiredWinstVersion >= "4.10.8.6"
|
||||
|
||||
DefVar $MsiId32$
|
||||
DefVar $UninstallProgram32$
|
||||
DefVar $MsiId64$
|
||||
DefVar $UninstallProgram64$
|
||||
DefVar $MsiId$
|
||||
DefVar $LogDir$
|
||||
DefVar $ExitCode$
|
||||
DefVar $ProductId$
|
||||
DefVar $InstallDir32$
|
||||
DefVar $InstallDir64$
|
||||
DefVar $LicenseRequired$
|
||||
DefVar $LicensePool$
|
||||
DefVar $INST_SystemType$
|
||||
DefVar $INST_architecture$
|
||||
|
||||
Set $INST_SystemType$ = GetSystemType
|
||||
set $INST_architecture$ = GetProductProperty("install_architecture","system specific")
|
||||
|
||||
|
||||
Set $LogDir$ = "%SystemDrive%\tmp"
|
||||
|
||||
@ -39,11 +26,7 @@ Set $LogDir$ = "%SystemDrive%\tmp"
|
||||
; ----------------------------------------------------------------
|
||||
; - Please edit the following values -
|
||||
; ----------------------------------------------------------------
|
||||
Set $ProductId$ = "adobeflash"
|
||||
Set $InstallDir32$ = "%ProgramFiles32Dir%\<path to the product>"
|
||||
Set $InstallDir64$ = "%ProgramFiles64Dir%\<path to the product>"
|
||||
Set $LicenseRequired$ = "false"
|
||||
Set $LicensePool$ = "p_" + $ProductId$
|
||||
Set $ProductId$ = "java745"
|
||||
; ----------------------------------------------------------------
|
||||
|
||||
|
||||
@ -52,28 +35,9 @@ ShowBitmap "%ScriptPath%\" + $ProductId$ + ".png" $ProductId$
|
||||
|
||||
Message "Uninstalling " + $ProductId$ + " ..."
|
||||
|
||||
if FileExists("%ScriptPath%\delsub3264.ins")
|
||||
if FileExists("%ScriptPath%\delsub32.ins")
|
||||
comment "Start uninstall sub section"
|
||||
Sub "%ScriptPath%\delsub3264.ins"
|
||||
Sub "%ScriptPath%\delsub32.ins"
|
||||
endif
|
||||
|
||||
if $LicenseRequired$ = "true"
|
||||
comment "Licensing required, free license used"
|
||||
Sub_free_license
|
||||
endif
|
||||
|
||||
[Sub_free_license]
|
||||
comment "License management is enabled and will be used"
|
||||
|
||||
comment "Trying to free license used for the product"
|
||||
DefVar $result$
|
||||
Set $result$ = FreeLicense($LicensePool$)
|
||||
; If there is an assignment of a license pool to the product, it is possible to use
|
||||
; Set $result$ = FreeLicense("", $ProductId$)
|
||||
;
|
||||
; If there is an assignment of a license pool to a windows software id, it is possible to use
|
||||
; DefVar $WindowsSoftwareId$
|
||||
; $WindowsSoftwareId$ = "..."
|
||||
; set $result$ = FreeLicense("", "", $WindowsSoftwareId$)
|
||||
|
||||
|
||||
|
15
OPSI/control
15
OPSI/control
@ -5,9 +5,9 @@ incremental: False
|
||||
|
||||
[Product]
|
||||
type: localboot
|
||||
id: oracle.java7u45
|
||||
name: java7u45
|
||||
description: Java Pakage
|
||||
id: oracle.java745
|
||||
name: java745
|
||||
description: Java for 32bit browser
|
||||
advice: ADVICE
|
||||
version: VERSION
|
||||
priority: PRIORITY
|
||||
@ -20,12 +20,3 @@ alwaysScript:
|
||||
onceScript:
|
||||
customScript:
|
||||
userLoginScript:
|
||||
|
||||
[ProductProperty]
|
||||
type: unicode
|
||||
name: install_architecture
|
||||
multivalue: False
|
||||
editable: False
|
||||
description: which architecture (32/64 bit) has to be installed
|
||||
values: ["32 only", "64 only", "both", "system specific"]
|
||||
default: ["system specific"]
|
||||
|
@ -1 +0,0 @@
|
||||
67995c443036cdbc16ae696f8bbe94b5eaca9812 /home/dtrinks/.opsi-dist-cache/adobe.com/adobeflash/11.1.102.63/X86/adobeflash.msi
|
@ -1 +0,0 @@
|
||||
de6c31550b67fe6fad20f2bcf02a72c4869f797f /home/dtrinks/.opsi-dist-cache/adobe.com/adobeflash/11.1.102.63//adobeflash.png
|
@ -1 +0,0 @@
|
||||
45f6a18384d7074436b661c0e907bcbe324b312e /home/dtrinks/.opsi-dist-cache/adobe.com/adobeflash/11.1.102.63/X86_64/adobeflash64.msi
|
@ -2,7 +2,7 @@
|
||||
# Setup product information
|
||||
############################
|
||||
VENDOR="oracle.com"
|
||||
PN="oracle.java7u45"
|
||||
PN="oracle.java745"
|
||||
VERSION="1"
|
||||
RELEASE="1"
|
||||
PRIORITY="0"
|
||||
@ -12,8 +12,14 @@ ADVICE=""
|
||||
# Valid value: restricted | public
|
||||
TYPE="public"
|
||||
|
||||
DL_FILE[0]="adobeflash.png"
|
||||
DL_SOURCE[0]="http://www.veryicon.com/icon/png/Application/Adobe%20Symbolism%20CS3/Flash%20Player.png"
|
||||
DL_FILE[0]="java745.png"
|
||||
DL_SOURCE[0]="http://www.veryicon.com/icon/128/System/Cristal%20Intense/Java.png"
|
||||
|
||||
DL_FILE[1]="java745.exe"
|
||||
DL_SOURCE[1]="http://javadl.sun.com/webapps/download/AutoDL?BundleId=81819"
|
||||
DL_ARCH[1]="X86"
|
||||
DL_WINST_NAME[1]=Install32Exe
|
||||
|
||||
|
||||
# File array index for the image showing while installing the program
|
||||
ICON_DL_INDEX=0
|
1
java745.exe.sha1sum
Normal file
1
java745.exe.sha1sum
Normal file
@ -0,0 +1 @@
|
||||
a2269c804418186c9b944746f26e225b3e77a571 /home/dtrinks/.opsi-dist-cache/oracle.com/oracle.java7u45/1/X86/java745.exe
|
1
java745.png.sha1sum
Normal file
1
java745.png.sha1sum
Normal file
@ -0,0 +1 @@
|
||||
800bb1433dd14fb1bbbd82b242a8ed4883a49017 /home/dtrinks/.opsi-dist-cache/oracle.com/oracle.java745/1//java745.png
|
Loading…
Reference in New Issue
Block a user