Advertisement
maximillianx

Update-Java-Alt.bat

Sep 8th, 2015
800
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Batch 16.35 KB | None | 0 0
  1. :: Description:     This is a batch file that I cobbled together from reddit.com/u/vocatus and Adminarsenal's PDQ Deploy
  2. ::          script for Java installations.  The script will kill any processes that might interfere with a Java
  3. ::          deployment, nuke installation folders, registry keys, etc. in order to make the system clean again
  4. ::          for a new deployment.
  5. ::
  6. ::          While I like the nuke script, I have seen some issues with subsequent Java installations fail after
  7. ::          the fact with 1638 errors.  This script seems to work fine for me - even in repairing these issues.  
  8. ::         
  9. ::          Edit the variables to configure where your Java MSI source is located to allow for the automated
  10. ::          installation (so long as INSTALL_JAVA_x64 or INSTALL_JAVA_x86 equals yes).
  11. ::
  12. :: Credit:      Some commands snagged from the Java nuker script from vocatus on reddit.com/r/sysadmin
  13. :: Source:      http://www.reddit.com/r/usefulscripts/comments/2hzt5c/batch_java_runtime_nuker_purge_all_versions_of/
  14. :: Other Credits:   Adminarsenal Java update process (via PDQDeploy)
  15. :: Author:          Rob Dunn
  16.  
  17. ::===============================================================
  18. :: Log settings
  19. ::===============================================================
  20. SETLOCAL
  21. @echo off
  22. set LOGPATH=%SystemDrive%\Logs
  23. set LOGFILE=%COMPUTERNAME%_java_installation_alt.log
  24. set SCRIPT_VERSION=1.0
  25. set SCRIPT_UPDATED=2015-09-09
  26. title Java Cleanup & Installation Script v%SCRIPT_VERSION% (%SCRIPT_UPDATED%)
  27.  
  28.  
  29. ::===============================================================
  30. :: Java installation parameters
  31. :: The JRE MSI must be in a place the script can find it (e.g. network path, same directory, etc)
  32. ::===============================================================
  33.  
  34. :: Java install. Do you want to install Java afterwards?
  35. :: Change either of these to 'yes' if you want to reinstall Java after cleanup.
  36. :: If you do, make sure to set the location, file names and arguments below!
  37. set INSTALL_JAVA_x64=no
  38. set INSTALL_JAVA_x86=yes
  39.  
  40. :: JRE 64-bit installer
  41. set JAVA_LOCATION_x64=%~dp0
  42. set JAVA_MSI_x64=jre1.8.0_60-x64.exe
  43. set MSI_ARGUMENTS_x86=/passive
  44.  
  45. :: JRE 32-bit installer
  46. set JAVA_LOCATION_x86=%~dp0
  47. set JAVA_MSI_x86=jre1.8.0_60.msi
  48. set MSI_ARGUMENTS_x86=/passive
  49.  
  50.  
  51. ::===============================================================
  52. :: Create the log directory if it doesn't exist
  53. ::===============================================================
  54. if not exist %LOGPATH% mkdir %LOGPATH%
  55. if exist "%LOGPATH%\%LOGFILE%" del "%LOGPATH%\%LOGFILE%"
  56.  
  57. ::===============================================================
  58. :: Kill Browsers/Java
  59. ::===============================================================
  60. echo %CUR_DATE% %TIME% - Killing running processes that might interfere with Java removal/installation...>> "%LOGPATH%\%LOGFILE%"
  61. %SystemRoot%\System32\taskkill.exe /f /im iexplore.exe /im firefox.exe /im chrome.exe /im opera.exe /im jqs.exe /im jusched.exe /im java.exe /im javaw.exe
  62.  
  63. ::===============================================================
  64. :: Kill Previous Java install
  65. ::===============================================================
  66. :: %SYSTEMROOT%\System32\taskkill.exe /f /im msiexec.exe
  67.  
  68. ::===============================================================
  69. :: Delete Java 8 Product Keys
  70. ::===============================================================
  71. echo %CUR_DATE% %TIME% - Removing Java 8 Product keys>> "%LOGPATH%\%LOGFILE%"
  72. %SystemRoot%\System32\Reg.exe DELETE "HKLM\SOFTWARE\Classes\Installer\Products\4EA42A62D9304AC4784BF238120800FF" /f >> "%LOGPATH%\%LOGFILE%"
  73. %SystemRoot%\System32\Reg.exe DELETE "HKLM\SOFTWARE\Classes\Installer\Products\4EA42A62D9304AC4784BF238120850FF" /f >> "%LOGPATH%\%LOGFILE%"
  74. %SystemRoot%\System32\Reg.exe DELETE "HKLM\SOFTWARE\Classes\Installer\Products\4EA42A62D9304AC4784BF238120811FF" /f >> "%LOGPATH%\%LOGFILE%"
  75. %SystemRoot%\System32\Reg.exe DELETE "HKLM\SOFTWARE\Classes\Installer\Products\4EA42A62D9304AC4784BF2381208020F" /f >> "%LOGPATH%\%LOGFILE%"
  76. %SystemRoot%\System32\Reg.exe DELETE "HKLM\SOFTWARE\Classes\Installer\Products\4EA42A62D9304AC4784BF2381208520F" /f >> "%LOGPATH%\%LOGFILE%"
  77. %SystemRoot%\System32\Reg.exe DELETE "HKLM\SOFTWARE\Classes\Installer\Products\4EA42A62D9304AC4784BF2381208130F" /f >> "%LOGPATH%\%LOGFILE%"
  78. %SystemRoot%\System32\Reg.exe DELETE "HKLM\SOFTWARE\Classes\Installer\Products\4EA42A62D9304AC4784BF2381208040F" /f >> "%LOGPATH%\%LOGFILE%"
  79. %SystemRoot%\System32\Reg.exe DELETE "HKLM\SOFTWARE\Classes\Installer\Products\4EA42A62D9304AC4784BF2381208540F" /f >> "%LOGPATH%\%LOGFILE%"
  80. %SystemRoot%\System32\Reg.exe DELETE "HKLM\SOFTWARE\Classes\Installer\Products\4EA42A62D9304AC4784BF2381208150F" /f >> "%LOGPATH%\%LOGFILE%"
  81. %SystemRoot%\System32\Reg.exe DELETE "HKLM\SOFTWARE\Classes\Installer\Products\4EA42A62D9304AC4784BF2381208060F" /f >> "%LOGPATH%\%LOGFILE%"
  82.  
  83. ::===============================================================
  84. :: Delete Java 8 Uninstall Keys
  85. ::===============================================================
  86. echo %CUR_DATE% %TIME% - Removing Java 8 Uninstall keys (32bit)>> "%LOGPATH%\%LOGFILE%"
  87. %SystemRoot%\System32\Reg.exe DELETE HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{26A24AE4-039D-4CA4-87B4-2F83218000FF} /f >> "%LOGPATH%\%LOGFILE%"
  88. %SystemRoot%\System32\Reg.exe DELETE HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{26A24AE4-039D-4CA4-87B4-2F83218005FF} /f >> "%LOGPATH%\%LOGFILE%"
  89. %SystemRoot%\System32\Reg.exe DELETE HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{26A24AE4-039D-4CA4-87B4-2F83218011FF} /f >> "%LOGPATH%\%LOGFILE%"
  90. %SystemRoot%\System32\Reg.exe DELETE HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{26A24AE4-039D-4CA4-87B4-2F83218020F0} /f >> "%LOGPATH%\%LOGFILE%"
  91. %SystemRoot%\System32\Reg.exe DELETE HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{26A24AE4-039D-4CA4-87B4-2F83218025F0} /f >> "%LOGPATH%\%LOGFILE%"
  92. %SystemRoot%\System32\Reg.exe DELETE HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{26A24AE4-039D-4CA4-87B4-2F83218031F0} /f >> "%LOGPATH%\%LOGFILE%"
  93. %SystemRoot%\System32\Reg.exe DELETE HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{26A24AE4-039D-4CA4-87B4-2F83218040F0} /f >> "%LOGPATH%\%LOGFILE%"
  94. %SystemRoot%\System32\Reg.exe DELETE HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{26A24AE4-039D-4CA4-87B4-2F83218045F0} /f >> "%LOGPATH%\%LOGFILE%"
  95. %SystemRoot%\System32\Reg.exe DELETE HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{26A24AE4-039D-4CA4-87B4-2F83218051F0} /f >> "%LOGPATH%\%LOGFILE%"
  96. %SystemRoot%\System32\Reg.exe DELETE HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{26A24AE4-039D-4CA4-87B4-2F83218060F0} /f >> "%LOGPATH%\%LOGFILE%"
  97.  
  98. ::===============================================================
  99. :: Delete Java Uninstall Keys (on 64-bit machines)
  100. ::===============================================================
  101. echo %CUR_DATE% %TIME% - Removing Java 8 Uninstall keys (64bit)>> "%LOGPATH%\%LOGFILE%"
  102. %SystemRoot%\System32\Reg.exe DELETE HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{26A24AE4-039D-4CA4-87B4-2F83218000FF} /f >> "%LOGPATH%\%LOGFILE%"
  103. %SystemRoot%\System32\Reg.exe DELETE HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{26A24AE4-039D-4CA4-87B4-2F83218005FF} /f >> "%LOGPATH%\%LOGFILE%"
  104. %SystemRoot%\System32\Reg.exe DELETE HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{26A24AE4-039D-4CA4-87B4-2F83218011FF} /f >> "%LOGPATH%\%LOGFILE%"
  105. %SystemRoot%\System32\Reg.exe DELETE HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{26A24AE4-039D-4CA4-87B4-2F83218020F0} /f >> "%LOGPATH%\%LOGFILE%"
  106. %SystemRoot%\System32\Reg.exe DELETE HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{26A24AE4-039D-4CA4-87B4-2F83218025F0} /f >> "%LOGPATH%\%LOGFILE%"
  107. %SystemRoot%\System32\Reg.exe DELETE HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{26A24AE4-039D-4CA4-87B4-2F83218031F0} /f >> "%LOGPATH%\%LOGFILE%"
  108. %SystemRoot%\System32\Reg.exe DELETE HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{26A24AE4-039D-4CA4-87B4-2F83218040F0} /f >> "%LOGPATH%\%LOGFILE%"
  109. %SystemRoot%\System32\Reg.exe DELETE HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{26A24AE4-039D-4CA4-87B4-2F83218045F0} /f >> "%LOGPATH%\%LOGFILE%"
  110. %SystemRoot%\System32\Reg.exe DELETE HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{26A24AE4-039D-4CA4-87B4-2F83218051F0} /f >> "%LOGPATH%\%LOGFILE%"
  111. %SystemRoot%\System32\Reg.exe DELETE HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{26A24AE4-039D-4CA4-87B4-2F83218060F0} /f >> "%LOGPATH%\%LOGFILE%"
  112.  
  113. ::===============================================================
  114. :: Delete Java 8 Installer Features Keys
  115. ::===============================================================
  116. echo %CUR_DATE% %TIME% - Removing Java 8 Installer Feature keys>> "%LOGPATH%\%LOGFILE%"
  117. %SystemRoot%\System32\Reg.exe DELETE "HKLM\SOFTWARE\Classes\Installer\Features\4EA42A62D9304AC4784BF238120800FF" /f >> "%LOGPATH%\%LOGFILE%"
  118. %SystemRoot%\System32\Reg.exe DELETE "HKLM\SOFTWARE\Classes\Installer\Features\4EA42A62D9304AC4784BF238120850FF" /f >> "%LOGPATH%\%LOGFILE%"
  119. %SystemRoot%\System32\Reg.exe DELETE "HKLM\SOFTWARE\Classes\Installer\Features\4EA42A62D9304AC4784BF238120811FF" /f >> "%LOGPATH%\%LOGFILE%"
  120. %SystemRoot%\System32\Reg.exe DELETE "HKLM\SOFTWARE\Classes\Installer\Features\4EA42A62D9304AC4784BF2381208020F" /f >> "%LOGPATH%\%LOGFILE%"
  121. %SystemRoot%\System32\Reg.exe DELETE "HKLM\SOFTWARE\Classes\Installer\Features\4EA42A62D9304AC4784BF2381208520F" /f >> "%LOGPATH%\%LOGFILE%"
  122. %SystemRoot%\System32\Reg.exe DELETE "HKLM\SOFTWARE\Classes\Installer\Features\4EA42A62D9304AC4784BF2381208130F" /f >> "%LOGPATH%\%LOGFILE%"
  123. %SystemRoot%\System32\Reg.exe DELETE "HKLM\SOFTWARE\Classes\Installer\Features\4EA42A62D9304AC4784BF2381208040F" /f >> "%LOGPATH%\%LOGFILE%"
  124. %SystemRoot%\System32\Reg.exe DELETE "HKLM\SOFTWARE\Classes\Installer\Features\4EA42A62D9304AC4784BF2381208540F" /f >> "%LOGPATH%\%LOGFILE%"
  125. %SystemRoot%\System32\Reg.exe DELETE "HKLM\SOFTWARE\Classes\Installer\Features\4EA42A62D9304AC4784BF2381208150F" /f >> "%LOGPATH%\%LOGFILE%"
  126. %SystemRoot%\System32\Reg.exe DELETE "HKLM\SOFTWARE\Classes\Installer\Features\4EA42A62D9304AC4784BF2381208060F" /f >> "%LOGPATH%\%LOGFILE%"
  127.  
  128. ::===============================================================
  129. :: Delete Java JRE8 Directory
  130. ::===============================================================
  131. echo %CUR_DATE% %TIME% - Removing Java 8 Directories (32bit)>> "%LOGPATH%\%LOGFILE%"
  132. IF EXIST "%ProgramFiles%\Java\jre8\" RD /S /Q "%ProgramFiles%\Java\jre8" >> "%LOGPATH%\%LOGFILE%"
  133. IF EXIST "%ProgramFiles%\Java\jre1.8.0_60\" RD /S /Q "%ProgramFiles%\Java\jre1.8.0_60"
  134. IF EXIST "%ProgramFiles%\Java\jre1.8.0_51\" RD /S /Q "%ProgramFiles%\Java\jre1.8.0_51" >> "%LOGPATH%\%LOGFILE%"
  135. IF EXIST "%ProgramFiles%\Java\jre1.8.0_45\" RD /S /Q "%ProgramFiles%\Java\jre1.8.0_45" >> "%LOGPATH%\%LOGFILE%"
  136. IF EXIST "%ProgramFiles%\Java\jre1.8.0_40\" RD /S /Q "%ProgramFiles%\Java\jre1.8.0_40" >> "%LOGPATH%\%LOGFILE%"      
  137. IF EXIST "%ProgramFiles%\Java\jre1.8.0_31\" RD /S /Q "%ProgramFiles%\Java\jre1.8.0_31" >> "%LOGPATH%\%LOGFILE%"
  138. IF EXIST "%ProgramFiles%\Java\jre1.8.0_25\" RD /S /Q "%ProgramFiles%\Java\jre1.8.0_25" >> "%LOGPATH%\%LOGFILE%"                        
  139. IF EXIST "%ProgramFiles%\Java\jre1.8.0_20\" RD /S /Q "%ProgramFiles%\Java\jre1.8.0_20" >> "%LOGPATH%\%LOGFILE%"
  140. IF EXIST "%ProgramFiles%\Java\jre1.8.0_11\" RD /S /Q "%ProgramFiles%\Java\jre1.8.0_11" >> "%LOGPATH%\%LOGFILE%"
  141. IF EXIST "%ProgramFiles%\Java\jre1.8.0_05\" RD /S /Q "%ProgramFiles%\Java\jre1.8.0_05" >> "%LOGPATH%\%LOGFILE%"
  142.  
  143. ::===============================================================
  144. :: Delete Java JRE8 Directory (on 64-bit machines)
  145. ::===============================================================
  146. echo %CUR_DATE% %TIME% - Removing Java 8 Directories (64bit)>> "%LOGPATH%\%LOGFILE%"
  147. IF EXIST "%ProgramFiles(x86)%\Java\jre8\" RD /S /Q "%ProgramFiles(x86)%\Java\jre8"
  148. IF EXIST "%ProgramFiles(x86)%\Java\jre1.8.0_60\" RD /S /Q "%ProgramFiles(x86)%\Java\jre1.8.0_60" >> "%LOGPATH%\%LOGFILE%"
  149. IF EXIST "%ProgramFiles(x86)%\Java\jre1.8.0_51\" RD /S /Q "%ProgramFiles(x86)%\Java\jre1.8.0_51" >> "%LOGPATH%\%LOGFILE%"
  150. IF EXIST "%ProgramFiles(x86)%\Java\jre1.8.0_45\" RD /S /Q "%ProgramFiles(x86)%\Java\jre1.8.0_45" >> "%LOGPATH%\%LOGFILE%"
  151. IF EXIST "%ProgramFiles(x86)%\Java\jre1.8.0_40\" RD /S /Q "%ProgramFiles(x86)%\Java\jre1.8.0_40" >> "%LOGPATH%\%LOGFILE%"
  152. IF EXIST "%ProgramFiles(x86)%\Java\jre1.8.0_31\" RD /S /Q "%ProgramFiles(x86)%\Java\jre1.8.0_31" >> "%LOGPATH%\%LOGFILE%"
  153. IF EXIST "%ProgramFiles(x86)%\Java\jre1.8.0_25\" RD /S /Q "%ProgramFiles(x86)%\Java\jre1.8.0_25" >> "%LOGPATH%\%LOGFILE%"
  154. IF EXIST "%ProgramFiles(x86)%\Java\jre1.8.0_20\" RD /S /Q "%ProgramFiles(x86)%\Java\jre1.8.0_20" >> "%LOGPATH%\%LOGFILE%"
  155. IF EXIST "%ProgramFiles(x86)%\Java\jre1.8.0_11\" RD /S /Q "%ProgramFiles(x86)%\Java\jre1.8.0_11" >> "%LOGPATH%\%LOGFILE%"
  156. IF EXIST "%ProgramFiles(x86)%\Java\jre1.8.0_05\" RD /S /Q "%ProgramFiles(x86)%\Java\jre1.8.0_05" >> "%LOGPATH%\%LOGFILE%"
  157.  
  158. ::===============================================================
  159. :: Kill Javaupdate Scheduler
  160. ::===============================================================
  161. echo %CUR_DATE% %TIME% - Killing Java 8 Scheduler (jusched.exe)
  162. %SystemRoot%\System32\taskkill.exe /f /im jusched.exe >> "%LOGPATH%\%LOGFILE%"
  163.  
  164. ::===============================================================
  165. :: Create java.settings.cfg
  166. ::===============================================================
  167. echo %CUR_DATE% %TIME% ! - Creating java.settings.cfg...
  168. IF NOT EXIST "%ALLUSERSPROFILE%\Oracle\Java\" md "%ALLUSERSPROFILE%\Oracle\Java"
  169. echo SPONSORS=0 > %ALLUSERSPROFILE%\Oracle\Java\java.settings.cfg
  170.  
  171. ::===============================================================
  172. :: Install Java
  173. ::===============================================================
  174. :: x64
  175. if %INSTALL_JAVA_x64%==yes (
  176.     echo %CUR_DATE% %TIME% ! Variable "INSTALL_JAVA_x64" was set to 'yes'. Now installing %JAVA_MSI_x64%...>> "%LOGPATH%\%LOGFILE%"
  177.     echo %CUR_DATE% %TIME% ! Variable "INSTALL_JAVA_x64" was set to 'yes'. Now installing %JAVA_MSI_x64%...
  178.     MSIEXEC.EXE /i "%JAVA_LOCATION_x64%\%JAVA_MSI_x64%" %MSI_ARGUMENTS_x86%
  179.     java -version >> "%LOGPATH%\%LOGFILE%"
  180.     echo Done.>> "%LOGPATH%\%LOGFILE%"
  181.     )
  182.  
  183. :: x86
  184. if %INSTALL_JAVA_x86%==yes (
  185.     echo %CUR_DATE% %TIME% ! Variable "INSTALL_JAVA_x86" was set to 'yes'. Now installing %JAVA_MSI_x86%...>> "%LOGPATH%\%LOGFILE%"
  186.     echo %CUR_DATE% %TIME% ! Variable "INSTALL_JAVA_x86" was set to 'yes'. Now installing %JAVA_MSI_x86%...
  187.     MSIEXEC.EXE /i "%JAVA_LOCATION_x86%\%JAVA_MSI_x86%" %MSI_ARGUMENTS_x86%
  188.     java -version >> "%LOGPATH%\%LOGFILE%"
  189.     echo Done.>> "%LOGPATH%\%LOGFILE%"
  190.     )
  191.  
  192. ::===============================================================
  193. :: Remove Scheduler from Run
  194. ::===============================================================
  195. echo %CUR_DATE% %TIME% - Removing Java Scheduler from CurrentVersion\Run (32bit)>> "%LOGPATH%\%LOGFILE%"
  196. %SystemRoot%\System32\Reg.exe DELETE HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v SunJavaUpdateSched /f >> "%LOGPATH%\%LOGFILE%"
  197.  
  198. ::===============================================================
  199. :: Remove Scheduler from Run (on 64-bit machines)
  200. ::===============================================================
  201. echo %CUR_DATE% %TIME% - Removing Java Scheduler from CurrentVersion\Run (64bit)>> "%LOGPATH%\%LOGFILE%"
  202. %SystemRoot%\System32\Reg.exe DELETE HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Run /v SunJavaUpdateSched /f >> "%LOGPATH%\%LOGFILE%"
  203.  
  204. ::===============================================================
  205. :: Disable Auto-Update
  206. ::===============================================================
  207. echo %CUR_DATE% %TIME% - Disabling auto-update (32bit)>> "%LOGPATH%\%LOGFILE%"
  208. %SystemRoot%\System32\Reg.exe DELETE "HKLM\SOFTWARE\JavaSoft\Java Update" /f >> "%LOGPATH%\%LOGFILE%"    
  209.                                                                                                              
  210. ::===============================================================
  211. :: Disable Auto-Update (on 64-bit machines)
  212. ::===============================================================
  213. echo %CUR_DATE% %TIME% - Disabling auto-update (64bit)>> "%LOGPATH%\%LOGFILE%"
  214. %SystemRoot%\System32\Reg.exe DELETE "HKLM\SOFTWARE\Wow6432Node\JavaSoft\Java Update" /f >> "%LOGPATH%\%LOGFILE%"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement