User Tools

Site Tools


userspace:etu_javavm

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

userspace:etu_javavm [2015/03/30 21:47]
Robert Tauber [Uninstall_Java.exe / Uninstall_Java.au3]
userspace:etu_javavm [2021/08/23 08:37]
Line 1: Line 1:
-====== ETU JavaVM ====== 
- 
-**Versions**\\ 
-Versions 
-By //[[tauber(at)fsmb.mw.tum.de|Robert Tauber]] 2014/12/08//\\ 
- 
- 
-Tested with opsi xxxxx\\ 
-requiredWinstVersion >= 4.11.4.12 //[[tauber(at)fsmb.mw.tum.de|Robert Tauber]] 2015/03/13//\\ 
- 
-Die Setup-Daten werden unter Q:\Java\jre_#_x32\ und Q:\Java\jre_#_x64\ mit Ordner abgelegt z.B.: **Q:\Java\jre_#_x32\jre1.8.0_40\jre1.8.0_40.msi** 
-(den Speicher Ort des Netzlaufwerks Q: bestimmt die **map_Q.exe** //..\opt_pcbin\install\!drivemap\map_Q.exe//) 
- 
-Tree (..\opt_pcbin\install\!drivemap):\\ 
-[[map_Q.exe]]\\ 
- 
-Tree (Q:\Java):\\ 
-CopyFolder.exe\\ 
-jre_#_x32\jre1.8.0_40\jre1.8.0_40.msi\\ 
-jre_#_x64\jre1.8.0_40_x64\jre1.8.0_40.msi\\ 
- 
-Tree (..\Java):\\ 
-OPSI\control\\ 
-CLIENT_DATA\javavm.ins\\ 
-CLIENT_DATA\deljvm.ins\\ 
-CLIENT_DATA\subdeljava.ins\\ 
-CLIENT_DATA\Uninstall_Java.exe\\ 
-CLIENT_DATA\java.png\\ 
- 
-==== CopyFolder.exe / CopyFolder.au3 ==== 
-Kopieren und Umbenennen \\ 
-//Später ermitteln der Version Nummer// 
- 
-<code autoit> 
-#cs ---------------------------------------------------------------------------- 
- 
- AutoIt Version: 3.3.8.1 
- Author:         myName 
- 
- Script Function: 
- Template AutoIt script. 
- 
-#ce ---------------------------------------------------------------------------- 
- 
-; Script Start - Add your code below here 
-#include <File.au3> 
- 
-#include <Array.au3> 
- 
-Local $sPath = @ScriptDir 
-Local $aPath = StringSplit( @ScriptDir, "\" ) 
-Local $sPathTo = "C:\Temp\" & $aPath[$aPath[0]] 
-local $extention = ".msi" 
- 
-;_ArrayDisplay($sFolderList, "$Folderolder") 
- 
-;MsgBox ( 1, "Zeil Pfad", $sPathTo  ) 
-DirRemove ( $sPathTo , 1 ) 
- 
-Local $sFolderList = _FileListToArray($sPath , "*" , 2 ) 
-local $i = 0 
-For $i = 1 to $sFolderList[0] 
-    
-   Local $sFileList = _FileListToArray($sPath & "\" & $sFolderList[$i]  , "jre*" , 2 ) 
-   if $sFileList <> 0 Then 
-   if $sFileList[0] = 1 Then 
- ;_ArrayDisplay($sFileList, "$sFileList") 
- $sFrom = $sPath & "\" & $sFolderList[$i] & "\" & $sFileList[$sFileList[0]] 
- $sTo = $sPathTo & "\" & $sFolderList[$i] 
- DirCopy ( $sFrom, $sTo, 9 ) 
- ;DirRemove ( $sFrom ,1 ) 
- ;MsgBox ( 1, "OK", $sFrom & " => " & $sTo & "  " & @error ) 
-   Else 
- MsgBox ( 1, "ERROR", "Mehr als ein Subfolder in: " & $sPath & "\" & $sFolderList[$i]  ) 
- _ArrayDisplay($sFileList, "$sFileList") 
-   EndIf 
-   Else 
-   ;MsgBox ( 1, "No Subfolders in: ", $sPath & "\" & $sFolderList[$i]  ) 
-   endif 
-    
-   Local $sFileList = _FileListToArray($sPathTo & "\" & $sFolderList[$i]  , "*" & $extention , 1 ) 
-   if $sFileList <> 0 Then 
-   if $sFileList[0] = 1 Then 
- ;_ArrayDisplay($sFileList, "$sFileList") 
- $sFrom = $sPathTo & "\" & $sFolderList[$i] & "\" & $sFileList[1] 
- $sTo = $sPathTo & "\" & $sFolderList[$i] & "\" & $sFolderList[$i] & $extention 
- FileMove ( $sFrom, $sTo) 
- ;MsgBox ( 1, "OK", $From & " => " & $to  ) 
-   Else 
- MsgBox ( 1, "ERROR", "Mehr als eine *.MSI in: " & $sPath & "\" & $sFolderList[$i]  ) 
- _ArrayDisplay($sFileList, "$sFileList") 
-   EndIf 
-   Else 
-   ;MsgBox ( 1, "No *.MSI Files in: ", $sPath & "\" & $sFolderList[$i]  ) 
-   endif 
-Next 
- 
-Exit 
-</code> 
- 
-==== javavm.ins ==== 
-Ich will das ganze bei Gelegenheit vereinfachen bin aber bisher nicht dazu gekommen 
- 
-<code winst> 
-; Robert Tauber in anlenung an Paket von uib gmbh 
- 
-; Update was ist zu tun? 
- 
-; 1. Hol dir die Aktuelle version 32 und 64 bit 
-; http://java.com/de/download/windows_manual.jsp?locale=de 
-; 2. Startet die instalation aber klikt nicht auf [Instaliren] 
-; 3. Öfnet den Pfaht  
-; C:\Users\%USERNAME%\AppData\LocalLow\Sun\Java 
-; 4. Kopirt dort die ortner  
-; jre1.7.0_45 
-; jre1.7.0_45_x64 
-; oder so änlich 
-; 5. Fügt sie unter  
-; \\OPSI4\opsi_workbench\localboot\javavm\CLIENT_DATA\Java 
-; ein 
-; 6. Ändere die Variablen so das sie zum neuen Ortner passen 
-; set $AktMsi32$ = "jre1.7.0_45.msi" 
-; set $AktMsi64$ = $AktMsi32$ 
-; Set $msi32path$ = "%ScriptPath%\Java\jre1.7.0_45" 
-; Set $msi64path$ = "%ScriptPath%\Java\jre1.7.0_45_x64" 
-; 7. Teste es :-P 
-; 
-  
-; Kompatibel für Win 7  
-; Vemutlich nicht Kompatibel mit Win 2000 
- 
-; Header der Ursprünglichen pakets 
-;=========================================== 
-; Copyright (c) uib gmbh (www.uib.de) 
-; This sourcecode is owned by uib 
-; and published under the Terms of the General Public License. 
- 
-;see 
-;http://www.oracle.com/technetwork/java/javase/silent-136552.html 
-;http://www.oracle.com/technetwork/java/javase/jre-install-137694.html 
-;=========================================== 
- 
-[Aktionen] 
-requiredWinstVersion >= "4.10.8.3" 
-setLogLevel = 5 
-Message "Installing Oracle Java Virtual Machine jre 1.6 or jre 1.7..." 
-DefVar $ExitCode$ 
-DefVar $INST_MsVersion$ 
-DefVar $INST_SystemType$ 
-DefVar $INST_architecture$ 
-DefVar $JAVAVERSION$ 
-DefVar $JAVA32_VER$ 
-DefVar $JAVA64_VER$ 
-DefVar $InstallPlugins$ 
-DefVar $MySystemRoot$ 
-DefVar $success$ 
-DefVar $AktMsi32$ 
-DefVar $AktMsi64$ 
-DefVar $msi32path$ 
-DefVar $msi64path$ 
-DefVar $msiinstall$ 
-DefVar $InstalledJavaExe$ 
-DefVar $Temp$ 
- 
-DefVar $WinstRegKey$ 
-DefVar $Flag$ 
- 
-Set $WinstRegKey$ = "HKLM\SOFTWARE\opsi.org\winst" 
-Set $Flag$ = GetRegistryStringValue32("["+$WinstRegKey$+"] "+"RebootFlag") 
- 
-DefStringlist $INST_MsVersionMap$ 
- 
-set $Temp$ = EnvVar("TEMP") 
- 
-Set $INST_SystemType$ = GetSystemType 
-set $INST_MsVersion$ = GetMsVersionInfo 
-set $INST_MsVersionMap$ = GetMSVersionMap 
-set $INST_architecture$ = GetProductProperty("install_architecture","64 only") 
-; "system specific" "both" "64 only" "32 only" 
-set $MySystemRoot$ = "%"+"systemroot"+"%" 
-set $success$ = "true" 
- 
-;set $JAVA32_EXE$="jre-7u25-windows-i586.exe" 
-;set $JAVA64_EXE$="jre-7u25-windows-x64.exe" 
- 
-set $AktMsi32$ = "jre_#_x32.msi" 
-set $AktMsi64$ = "jre_#_x64.msi" 
-Set $msi32path$ = "C:\Temp\Java\jre_#_x32" 
-Set $msi64path$ = "C:\Temp\Java\jre_#_x64" 
- 
-;set $AktMsi32$ = "jre1.7.0_45.msi" 
-;set $AktMsi64$ = $AktMsi32$ 
-;Set $msi32path$ = "c:\temp\Java\jre1.7.0_45" 
-;Set $msi64path$ = "c:\temp\Java\jre1.7.0_45_x64" 
-;Set $msi32path$ = "%ScriptPath%\Java\jre1.7.0_45" 
-;Set $msi64path$ = "%ScriptPath%\Java\jre1.7.0_45_x64" 
- 
-set $JAVAVERSION$ = GetProductProperty("javaversion","jre7") 
- 
-set $msiinstall$ = "True" 
- 
-set $InstallPlugins$ = "IEXPLORER=1 MOZILLA=1" 
- 
-;RT: Speicher platz Überprüfen 
-if not(HasMinimumSpace ("%SYSTEMDRIVE%", "200 MB")) 
- LogError "Not enough space on %SystemDrive%, " + $MinimumSpace$ + " on drive %SystemDrive% needed for Java 1.6 or 1.7" 
- isFatalError 
- ; Stop process and set installation status to failed 
-endif 
- 
-;RT: Betribssystem ok 
-if $INST_MsVersion$ < "6.0" 
- LogError "Minimum Windows Vista is required for this Skript"  
- isFatalError 
-endif 
- 
-;RT Bild herzeigen 
-ShowBitmap "%scriptpath%\java.png" "Oracle Java VM" 
- 
-if not ($Flag$ = "1" ) 
- Message "Un-Installing Oracle Java Virtual Machine jre 1.6 or jre 1.7..." 
- ;RT unterprog aufrufen 
- ;   deinstalirt Java (Umbau auf Auto it skript vieleicht mit exitcode check) 
- if FileExists("%ScriptPath%\subdeljava.ins" 
- comment "start uninstall" 
- sub "%ScriptPath%\subdeljava.ins" 
- endif 
- Set $Flag$ = "1" 
- Registry_SaveRebootFlag 
- ExitWindows /ImmediateReboot 
-endif 
-  
-if ($Flag$ = "1" ) 
- comment "installing" 
- Set $Flag$ = "0" 
-    Registry_SaveRebootFlag 
- DosInAnIcon_Q 
- DosInAnIcon_Copy 
-  
- 
- 
- ;RT: Instaliert Java 32  
- ;    + Beschreibung der daten beschafung 
- if (($INST_SystemType$ = "x86 System") and ($INST_architecture$ = "system specific")) or ($INST_architecture$ = "both") or ($INST_architecture$ = "32 only") 
- ;RT: da vorher uninstall macht doch nut Firefox sin 
- comment "kill a running firefox" 
- Message "Installing Oracle Java Virtual Machine 32 bit ..." 
-  
- killtask "firefox.exe" 
- killtask "jqs.exe" 
- killtask "java.exe" 
- killtask "javaw.exe" 
- 
- ;RT: Scheint notwendig zu sein habs noch net ohne getestet 
- 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 
-  
- if $msiinstall$ = "True" 
- Execwith_autoit_close_proxy "%SCRIPTPATH%\autoit3.exe" WINST /letThemGo 
- Execwith_autoit_zertifikat  "%SCRIPTPATH%\autoit3.exe" WINST /letThemGo 
- ;Winbatch_oracle_silent_install_32 
- Winbatch_oracle_msi_install_32 
- Sub_check_exitcode 
- endif 
- Message "Check Java Virtual Machine 32 bit ..." 
- ;RT: weis net was das macht  
- if CompareDotSeparatedNumbers("%WinstVersion%","4.11.2") >= "0" 
- includelog "c:\tmp\"+$JAVA32_VER$+"_x86.log" "20" 
- endif 
- 
- Killtask "autoit3.exe" 
- ;RT: Scheinbar der Zweite teil des "registry hack" zu sein 
- 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 
-  
- ;RT: Überprüfen was instalirt wurde 
- Set $InstalledJavaExe$ = "%ProgramFilesDir%\java\" +$JAVAVERSION$ +"\bin\java.exe" 
- DOSInAnIcon_java_version 
- 
- comment "disable auto updater" 
- ; see http://wpkg.org/Java 
- Winbatch_oracle_silent_disable_update 
- ;Sub_check_exitcode 
- Registry_disable_update 
- ;Files_del 
- endif ; 32 Bit 
- 
- 
- 
- 
- if ($INST_SystemType$ = "64 Bit System") and (($INST_architecture$ = "system specific") or ($INST_architecture$ = "both") or ($INST_architecture$ = "64 only")) 
- comment "kill a running firefox" 
- Message "Installing Oracle Java Virtual Machine 64 Bit..." 
-  
- killtask "firefox.exe" 
- killtask "jqs.exe" 
- killtask "java.exe" 
- killtask "javaw.exe" 
-  
- 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" 
- ;Files_create_low_dir 
- comment "on 2008x64 we working with msi" 
- Set $msiinstall$ = "True" 
- endif 
- 
- ;killtask "msiexec.exe" 
- ;killtask "msiexec.exe" 
- ;killtask "msiexec.exe" 
- ;killtask "msiexec.exe" 
- 
- if $msiinstall$ = "True" 
- Execwith_autoit_close_proxy "%SCRIPTPATH%\autoit3.exe" WINST /letThemGo 
- Execwith_autoit_Wrapper "%SCRIPTPATH%\autoit3.exe" WINST /letThemGo 
- Winbatch_oracle_msi_install_64 
- Sub_check_exitcode 
- endif 
-  
- if CompareDotSeparatedNumbers("%WinstVersion%","4.11.2") >= "0" 
- includelog "c:\tmp\"+$JAVA64_VER$+"_x64.log" "20" 
- endif 
- 
- Killtask "autoit3.exe" 
- comment "disable auto updater" 
- ; see http://wpkg.org/Java 
- Registry_disable_update /64Bit 
- Set $InstalledJavaExe$ = "%ProgramFiles64Dir%\java\" +$JAVAVERSION$ +"\bin\java.exe" 
- DOSInAnIcon_java_version 
- ;Files_del 
- endif ; 64 Bit 
- 
- if not ($success$ = "true") 
- logError "Fatal: one or more installations are failed " 
- isFatalError 
- endif 
-  
-endif 
-; zusätzliches File möglich 
-;if FileExists("%ScriptPath%\custom_ins_dir\custom.ins") 
-; sub "%ScriptPath%\custom_ins_dir\custom.ins" 
-;endif 
- 
-ExitWindows /Reboot 
- 
- 
- 
-;=============================================================================== 
- 
-[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 
- set $success$ = "false" 
- endif 
- endif 
- endif 
-endif 
- 
-[DosInAnIcon_Q] 
-"p:\!drivemap\map_Q.exe" 
-[DosInAnIcon_Copy] 
-"Q:\Java\CopyFolder.exe" 
- 
- 
- 
-;RT: Autoit Killt nerfige abfragen 
-[Execwith_autoit_close_proxy] 
-WinWait("Verbindung","Verbindung") 
-Sleep(500) 
-; activating 
-WinActivate("Verbindung","Verbindung") 
-send ("!{F4}") 
-exit 
- 
-[Execwith_autoit_zertifikat] 
-WinWait("Sicherheitshinweis") 
-Sleep(500) 
-; activating 
-WinActivate("Sicherheitshinweis") 
-send ("J") 
-exit 
- 
-; wird im 64 bit teil verwendet 
-[Execwith_autoit_Wrapper] 
-WinWait("Error") 
-Sleep(500) 
-; activating 
-WinActivate("Error") 
-send ("ENTER") 
-exit 
- 
-;RT: setup mit MSI 
-[Winbatch_oracle_msi_install_32] 
-msiexec /i "$msi32path$\$aktmsi32$" /qb! /lie+ "c:\tmp\$JAVA32_VER$_x86.log" ADDLOCAL=ALL $InstallPlugins$  REBOOT=ReallySuppess SYSTRAY=0 JAVAUPDATE=0 JU=0 AUTOUPDATECHECK=0 ARPURLUPDATEINFO='http://www.opsi.org' 
-; /qb!  
-[Winbatch_oracle_msi_install_64] 
-msiexec /i "$msi64path$\$aktmsi64$" /qb! /lie+ "c:\tmp\$JAVA64_VER$_x64.log" ADDLOCAL=ALL $InstallPlugins$  REBOOT=ReallySuppess SYSTRAY=0 JAVAUPDATE=0 JU=0 AUTOUPDATECHECK=0 ARPURLUPDATEINFO='http://www.opsi.org' 
-; /qb! 
-;RT: vieleicht geht das 
-[Winbatch_oracle_silent_install_32] 
-c:\tmp\$JAVA32_EXE$ /s /v"/qb! /lie+ c:\tmp\$JAVA32_VER$_x86.log ADDLOCAL=ALL $InstallPlugins$  REBOOT=ReallySuppess SYSTRAY=0 JAVAUPDATE=0 JU=0 AUTOUPDATECHECK=0 ARPURLUPDATEINFO='http://www.opsi.org'" 
- 
- 
-;RT Regestry Hack 
-[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" 
- 
-;RT: Welches Java ist drauf? 
-[DOSInAnIcon_java_version] 
-"$InstalledJavaExe$" -version 
- 
-[DOSInAnIcon_instalation_abgeschlossen] 
-@echo off 
-tasklist |find /i "prog.exe" >nul 
-:while1 
-if %errorlevel% == 0 ( 
-    tasklist |find /i "msiexec" >nul 
-    goto :while1 
-) 
- 
-echo 1 
- 
-[Winbatch_oracle_silent_disable_update] 
-;RT: Scheint vorhanden zu sein und zu funktioniren 
-msiexec /x {4A03706F-666A-4037-7777-5F2748764D10} /qb-! 
- 
-[Registry_disable_update] 
-;RT: und nochmal updates off 
-openkey [HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Update\Policy] 
-set "EnableJavaUpdate"=REG_DWORD:0 
- 
- 
- 
- 
- 
- 
-;RT: wird nicht aufgerufen 
-[winbatch_start_taskmgr] 
-taskmgr.exe 
- 
-[Files_del] 
-delete -sf "c:\temp" 
-;delete -f "c:\tmp\$aktmsi64$" 
-;delete -f "c:\tmp\$aktmsi32$" 
-;delete -f "c:\tmp\Data1.cab" 
- 
- 
-[Registry_SaveRebootFlag] 
-openKey [$WinstRegKey$] 
-set "RebootFlag" = "$Flag$" 
- 
-</code> 
- 
-==== deljvm.ins ==== 
-erlaubt es die subdeljava. als uninstall aufzurufen 
-<code winst> 
-; 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.8.3" 
-Message=Deinstalling Oracle Java Virtual Machine 1.6 ... 
-DefVar $UninstallCommand$ 
-DefVar $DisplayName$ 
-DefVar $ExitCode$ 
- 
-if FileExists("%ScriptPath%\subdeljava.ins") 
- comment "start uninstall" 
- sub "%ScriptPath%\subdeljava.ins" 
-endif 
- 
-[Winbatch_oracle_uninstall] 
-$UninstallCommand$ 
- 
-</code> 
- 
-==== subdeljava ==== 
-Da das updaten der Reg keys mir zu blöd war lass ich jetzt ein Skript danach suchen. 
-<code winst> 
-; Robert Tauber 2013 
- 
-; RT: Mögliches Zusatz File 
-;if FileExists("%ScriptPath%\custom_ins_dir\prevent_uninstall.ins") 
-; sub "%ScriptPath%\custom_ins_dir\prevent_uninstall.ins" 
-;endif 
- 
-;RT: Sartmenü Aufreumen 
-LinkFolder_Webstart_delete 
-;RT: JAVA Runterschmeisen 
-Message "Un-Installing (Kann dauern)" 
-Winbatch_deinstall 
-Message "Un-Installing Komplet" 
-;RT: Exit Code Auswerten 
-Sub_check_exitcode 
- 
- 
- 
-;RT: Runter mit Java das AutoIt Skript killt alle Java versionen 
-[Winbatch_deinstall] 
-%SCRIPTPATH%\Uninstall_Java.exe 
- 
-;RT: Killt den Shot key im Startmenü konte keinen finden 
-[LinkFolder_Webstart_delete] 
-set_basefolder common_programs 
-delete_subfolder "Java" 
-delete_subfolder "Java Web Start" 
- 
-;RT: Exit cod Checken 
-[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$ = "1603") 
- comment "A fatal error occurred during installation. 1603" 
- comment "Quite normal while uninstalling java autoupdater" 
- comment "for other uninstalls might be a problem" 
- else 
-  
-   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 
-endif 
-</code> 
- 
-==== Uninstall_Java.exe / Uninstall_Java.au3 ==== 
- 
-<code autoit> 
-#cs ---------------------------------------------------------------------------- 
- 
- AutoIt Version: 3.3.8.1 
- Author:         Robert Tauber 
- 
- Script Function: 
- Deinstalirt alle Java Versionen 
- 
-#ce ---------------------------------------------------------------------------- 
- 
-; Script Start - Add your code below here 
- 
-DirCreate("c:\temp\") 
-Opt("WinTitleMatchMode", -2) ;1=start, 2=subStr, 3=exact, 4=advanced, -1 to -4=Nocase 
-;Reg Key auslesen 
-Run(@ComSpec & " /c " & 'start /wait "" REGEDIT /E c:\temp\registry.tmp HKEY_LOCAL_MACHINE\SOFTWARE\microsoft\windows\currentversion\uninstall' ,"", @SW_HIDE) 
-Run(@ComSpec & " /c " & 'start /wait "" REGEDIT /E c:\temp\registry2.tmp HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\windows\currentversion\uninstall' ,"", @SW_HIDE) 
-;winwait ("cmd.exe") 
- 
-WinWaitClose ("cmd.exe") 
- 
-;Filter die keys mit {} 
-Run(@ComSpec & " /c " & 'type c:\temp\registry.tmp | find /i "{" | find /i "}]" > c:\temp\REG.tmp' ,"", @SW_HIDE) 
-Run(@ComSpec & " /c " & 'type c:\temp\registry2.tmp | find /i "{" | find /i "}]" >> c:\temp\REG.tmp' ,"", @SW_HIDE) 
- 
- 
-;winwait ("cmd.exe") 
-WinWaitClose ("cmd.exe") 
- 
-$file = FileOpen("c:\temp\REG.tmp", 0) 
-$Java = FileOpen("c:\temp\JAVA_REG.tmp", 2) 
-;RT: Könte effektiver sein wenn man das ursprüngliche file con key zu key durchsucht 
-While 1 
-   Local $line = FileReadLine($file) 
-   If @error = -1 Then ExitLoop 
-   $KEY = StringReplace($line, "[", "") 
-   $KEY = StringReplace($KEY , "]", "") 
-   ;RT: den inhalt aller {} KEYs Temporär als Text file sichern 
-   Run(@ComSpec & " /c " & 'start /wait "" REGEDIT /E c:\temp\KEYS.tmp ' & $KEY ,"", @SW_HIDE) 
-   winwait ("cmd.exe") 
-   WinWaitClose ("cmd.exe") 
-   $file_KEY = FileOpen("c:\temp\KEYS.tmp", 0) 
-   While 1 
-   ;RT: Das gerade erstellte textfile nach JER Durchsuchen (JAVA) 
-   Local $line_KEY = FileReadLine($file_KEY) 
-    If @error = -1 Then ExitLoop 
-   if StringInStr ($line_KEY, "jre") then 
- ;RT: wurde in dem Key eine jre gefunden (JAVA) 
- Local $Split = StringSplit($KEY, "{") 
- $KEY = "{" & $Split[2] 
-    ;RT: Schreib die gefundenen keys in das file 
- FileWrite ( $Java , $KEY & @CRLF) 
- ExitLoop 
-    endif 
-   WEnd 
-   FileClose ( $file_KEY ) 
-   ;RT: File schlisen da sonst fehler 
-Wend 
-FileClose ( $file ) 
-FileClose ( $Java ) 
- 
- 
- 
-;RT: Alle gefundenen Deinstaliren 
-$Java = FileOpen("c:\temp\JAVA_REG.tmp", 0) 
-While 1 
-   Local $line = FileReadLine($Java ) 
-   If @error = -1 Then ExitLoop 
-   Run(@ComSpec & " /c " & 'MsiExec.exe /qn /X'& $line &' /norestart') 
-WEnd 
-;winwait ("cmd.exe") 
-WinWaitClose ("msiexec") 
-Sleep(5000) 
-Winkill ("cmd.exe") 
-;MsgBox ( 0, "title", "text") 
-</code> 
  
userspace/etu_javavm.txt · Last modified: 2021/08/23 08:37 (external edit)