Guest User

sin.bat

a guest
Jan 23rd, 2015
387
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Batch 28.22 KB | None | 0 0
  1. ::============================================================
  2. :: Script:        SINstaller
  3. :: Purpose:       Silent INstaller for common applications
  4. :: Version:       4.1.2
  5. ::============================================================
  6. SETLOCAL
  7. @echo off && cls && echo. && echo  Loading...
  8. mode con: cols=79 lines=38
  9. color 1f
  10. :::::::::::::::===============================================
  11. :: CONFIGURE
  12. ::
  13. ::
  14. :: Variables for setup files, flags, etc
  15. ::
  16. set script_name=SINstaller
  17. set SCRIPT_VERSION=4.1.3
  18. set scriptdate=1/23/2015
  19. set LOGDIR=SIN_Logs
  20. set LOGPATH=%SystemDrive%\%LOGDIR%
  21. set LOGFILE=SIN.log
  22. set TEMPLOGFILE=tempClean.log
  23. :: App versions
  24. set uncheckyver=0.3.5
  25. set libver=4.3.5
  26. set ffver=35.0
  27. set flashver=16.0.0.235
  28. set readerver=11.0.10
  29. set airver=16.0.0.245
  30. set notepadver=6.7.4
  31. set chromever=39.0.2171.99m
  32. set silverver=5.1.30514.0
  33. set vlcver=2.1.5
  34. set zipver=9.35
  35. set javaver=8u25
  36. :: App setup files
  37. set librebin=libreofficex86.msi
  38. set ffbin=firefoxx86.exe
  39. set flashffbin=flash15ffchx86.msi
  40. set flashiebin=flash15iex86.msi
  41. set readerbin=adberdrx86.exe
  42. set airbin=adobeairinstallerx86.exe
  43. set notepadbin=notepadplusplusx86.exe
  44. set uncheckybin=uncheckyx86.exe
  45. :: x86 setup files
  46. set chrome86bin=chromex86.msi
  47. set silver86bin=silverlightx86.exe
  48. set vlc86bin=vlcx86.exe
  49. set zip86bin=7zipx86.msi
  50. set java86bin=jrex86.msi
  51. :: x64 setup files
  52. set chrome64bin=chromex64.msi
  53. set silver64bin=silverlightx64.exe
  54. set vlc64bin=vlcx64.exe
  55. set zip64bin=7zipx64.msi
  56. set java64bin=jrex64.msi
  57. :: Install flags
  58. set uncheckyflag=-install -no_desktop_icon
  59. set libreflag=/passive /norestart
  60. set ffflag=-ms
  61. set flashflag=ALLUSERS=1 /q /norestart
  62. set readerflag=/sAll /rs /msi /qb- /norestart EULA_ACCEPT=YES
  63. set airflag=-silent -eulaAccepted
  64. set notepadflag=/S
  65. set chromeflag=/q /I
  66. set silverflag=/q
  67. set vlcflag=/L=1033 /S
  68. set zipflag=/q /norestart
  69. set javaflag=ALLUSERS=1 /qn /norestart /l JU=0 JAVAUPDATE=0 AUTOUPDATECHECK=0 RebootYesNo=No WEB_JAVA_SECURITY_LEVEL=M IEXPLORER=1 MOZILLA=1
  70. :: Cmd flags
  71. set skip_UN=no
  72. set skip_LO=no
  73. set skip_FF=no
  74. set skip_AF=no
  75. set skip_AR=no
  76. set skip_AA=no
  77. set skip_NP=no
  78. set skip_CH=no
  79. set skip_MS=no
  80. set skip_VL=no
  81. set skip_7Z=no
  82. set skip_JA=no
  83. set skip_tweaks=no
  84. set skip_jcheck=no
  85. :: Get current free space in GB
  86. for /F "tokens=2 delims=:" %%a in ('fsutil volume diskfree %SystemDrive% ^| find /i "avail free"') do set bytes=%%a
  87. set /A FREE_SPACE_BEFORE=%bytes:~0,-3%/1024*1000/1024/1024
  88. set FREE_SPACE_AFTER=0
  89. ::
  90. ::=========================================================================================
  91. ::                             Don't edit below this line!
  92. ::=========================================================================================
  93. ::
  94. :: Force WMIC location in case the system PATH is messed up
  95. set WMIC=%WINDIR%\system32\wbem\wmic.exe
  96. :: Shorten PROCESSOR_IDENTIFIER for formatting purposes
  97. set cp_ids=%PROCESSOR_IDENTIFIER:~0,7%
  98.        :: Get motherboard model
  99.                 for /f "tokens=2 delims==" %%I in ('wmic computersystem get model /format:list') do set "SYSMODEL=%%I"
  100.        :: Get installed physical memory
  101.                 for /f "tokens=3*" %%I in ('systeminfo 2^>nul^|find "Total Physical Memory"') do set "SYSMEM=%%J"
  102.        :: Get GPU name
  103.                 for /F "tokens=* skip=1" %%n in ('WMIC path Win32_VideoController get Name ^| findstr "."') do set GPUNAME=%%n
  104.                 set GPNAME=%GPUNAME:~0,24%
  105. ::
  106. :: Misc
  107. ::
  108. :: Get in the correct drive (~d0). This is sometimes needed when running from a thumb drive
  109. %~d0 2>NUL
  110. :: Get in the correct path (~dp0). This is useful if we start from a network share. This converts CWD to a drive letter
  111. pushd %~dp0 2>NUL
  112. :: Parse command-line arguments
  113. for %%i in (%*) do (
  114.     if /i %%i==-l set skip_LO=yes  
  115.     if /i %%i==-f set skip_FF=yes
  116.     if /i %%i==-af set skip_AF=yes
  117.     if /i %%i==-ar set skip_AR=yes
  118.     if /i %%i==-aa set skip_AA=yes
  119.     if /i %%i==-n set skip_NP=yes
  120.     if /i %%i==-c set skip_CH=yes
  121.     if /i %%i==-m set skip_MS=yes
  122.     if /i %%i==-v set skip_VL=yes
  123.     if /i %%i==-z set skip_7Z=yes
  124.     if /i %%i==-j set skip_JA=yes
  125.     if /i %%i==-t set skip_tweaks=yes
  126.     if /i %%i==-cj set skip_jcheck=yes
  127.     if /i %%i==-un set skip_UN=yes
  128.     )
  129. :: Detect the version of Windows we're on.
  130. set WIN_VER=undetected
  131. for /f "tokens=3*" %%i IN ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName ^| Find "ProductName"') DO set WIN_VER=%%i %%j
  132. :: Get the date into ISO 8601 standard date format (yyyy-mm-dd) so we can use it
  133. FOR /f %%a in ('WMIC OS GET LocalDateTime ^| find "."') DO set DTS=%%a
  134. set CUR_DATE=%DTS:~0,4%-%DTS:~4,2%-%DTS:~6,2%
  135. if not exist %LOGPATH% mkdir %LOGPATH%
  136. if not exist %LOGPATH%\%LOGFILE% echo. > %LOGPATH%\%LOGFILE%
  137. ::
  138. :: END CONFIGURE
  139. :::::::::::::::::::============================================
  140. ::
  141. :::::::::::::::::::============================================
  142. :: SCRIPT START
  143. ::
  144. :welcome
  145. mode con: cols=81 lines=38
  146. color 1f
  147. title %script_name% v%SCRIPT_VERSION% [main]
  148. cls
  149. echo  ---------------------------*  %script_name% v%SCRIPT_VERSION%  *----------------------------
  150. echo.
  151. echo          ** Script config displayed below.  Review before proceeding.  **
  152. echo.
  153. echo  -------------------------------------------------------------------------------
  154. echo              Stages:     Skip?                     Machine Info
  155. echo.
  156. echo  ===============================================================================
  157. echo                7zip     %skip_7Z%
  158. echo           Adobe Air     %skip_AA%         Windows Version:    %WIN_VER%
  159. echo        Adobe Reader     %skip_AR%         Free Space on %SystemDrive%    %FREE_SPACE_BEFORE% GB
  160. echo         Adobe Flash     %skip_AF%
  161. echo       Google Chrome     %skip_CH%
  162. echo             Firefox     %skip_FF%       Motherboard Model:    %SYSMODEL%
  163. echo                 VLC     %skip_VL%            Architecture:    %PROCESSOR_ARCHITECTURE%
  164. echo           NotePad++     %skip_NP%                  CPU ID:    %cp_ids%
  165. echo         Silverlight     %skip_MS%                     GPU:    %GPNAME%
  166. echo                Java     %skip_JA%                     RAM:    %SYSMEM%  
  167. echo         LibreOffice     %skip_LO%
  168. echo            Unchecky     %skip_UN%
  169. echo      Old Java check     %skip_jcheck%              
  170. echo      Tweaks/Cleanup     %skip_tweaks%                Log file:    %LOGPATH%
  171. echo.
  172. echo  ===============================================================================
  173. echo                                     Options
  174. echo.
  175. echo  -------------------------------------------------------------------------------
  176. echo                          1  to run script
  177. echo                          2  for version list
  178. echo                          3  flag list
  179. echo                          4  reset flags and start again
  180. echo.
  181. echo  -------------------------------------------------------------------------------
  182. set /p answer=Option [1/2/3/4]?
  183. if /i {%answer%}=={1} (goto :header)
  184. if /i {%answer%}=={2} (goto :verlist)
  185. if /i {%answer%}=={3} (goto :help)
  186. if /i {%answer%}=={4} (_RUN_ME_.bat)
  187. pause
  188. :verlist
  189. mode con: cols=38 lines=25
  190. color 1f
  191. title %script_name% v%SCRIPT_VERSION% [version list]
  192. cls
  193. echo  ===================================
  194. echo       %script_name% - Version List
  195. echo  ===================================
  196. echo.
  197. echo        LibreOffice:   %libver%
  198. echo            Firefox:   %ffver%
  199. echo        Adobe Flash:   %flashver%
  200. echo       Adobe Reader:   %readerver%
  201. echo          Adobe Air:   %airver%
  202. echo          NotePad++:   %notepadver%
  203. echo      Google Chrome:   %chromever%
  204. echo     MS Silverlight:   %silverver%
  205. echo   VLC Media Player:   %vlcver%
  206. echo              7-zip:   %zipver%
  207. echo               Java:   %javaver%
  208. echo           Unchecky:   %uncheckyver%
  209. echo.
  210. echo         SIN Script:   %SCRIPT_VERSION%
  211. echo       Last updated:   %scriptdate%
  212. echo.
  213. echo  ===================================
  214. echo.
  215. pause
  216. goto welcome
  217. :help
  218. mode con: cols=38 lines=28
  219. color 1f
  220. title %script_name% v%SCRIPT_VERSION% [help]
  221. cls
  222. echo  ===================================
  223. echo       %script_name% - Flag List
  224. echo  -----------------------------------
  225. echo        Use these flags to skip
  226. echo     certain stages of the script:
  227. echo  ===================================
  228. echo.
  229. echo        LibreOffice:   -l
  230. echo            Firefox:   -f
  231. echo        Adobe Flash:   -af
  232. echo       Adobe Reader:   -ar
  233. echo          Adobe Air:   -aa
  234. echo          NotePad++:   -n
  235. echo      Google Chrome:   -c
  236. echo     MS Silverlight:   -m
  237. echo   VLC Media Player:   -v
  238. echo              7-zip:   -z
  239. echo               Java:   -j
  240. echo           Unchecky:   -un
  241. echo.
  242. echo     Old Java Check:   -cj
  243. echo     Tweaks/Cleanup:   -t
  244. echo.
  245. echo  ===================================
  246. echo.
  247. pause
  248. goto welcome
  249. :header
  250. :::::::::::::::::::============================================
  251. :: LOG HEADER
  252. ::
  253. cls
  254. mode con: cols=80 lines=50
  255. color 1f
  256. title %script_name% v%SCRIPT_VERSION% [app installation]
  257. call :StartTimer
  258. echo ------------------------------------------------------------------------------->> %LOGPATH%\%LOGFILE%
  259. echo -------------------------------------------------------------------------------
  260. echo  [%CUR_DATE%] - %TIME%  %script_name% v%SCRIPT_VERSION%>> %LOGPATH%\%LOGFILE%
  261. echo  [%CUR_DATE%] - %TIME%  %script_name% v%SCRIPT_VERSION%
  262. echo                              Executing as %USERDOMAIN%\%USERNAME% on %COMPUTERNAME%>> %LOGPATH%\%LOGFILE%
  263. echo                              Executing as %USERDOMAIN%\%USERNAME% on %COMPUTERNAME%
  264. echo                              Free space before: %FREE_SPACE_BEFORE% GB>> %LOGPATH%\%LOGFILE%
  265. echo                              Free space before: %FREE_SPACE_BEFORE% GB
  266. echo ------------------------------------------------------------------------------->> %LOGPATH%\%LOGFILE%
  267. echo -------------------------------------------------------------------------------
  268. echo.
  269. echo                    %PROCESSOR_ARCHITECTURE% detected, using appropriate settings!>> %LOGPATH%\%LOGFILE%
  270. echo                    %PROCESSOR_ARCHITECTURE% detected, using appropriate settings!
  271. echo.
  272. echo ------------------------------------------------------------------------------->> %LOGPATH%\%LOGFILE%
  273. echo -------------------------------------------------------------------------------
  274. :::::::::::::::::::============================================
  275. :: INSTALLER
  276. ::      first we will install apps that aren't architecture-dependant
  277. ::
  278. title SIN v%SCRIPT_VERSION% [app installation]
  279. echo [%CUR_DATE%] - %TIME%   Beginning silent installation...>> "%LOGPATH%\%LOGFILE%"
  280. echo [%CUR_DATE%] - %TIME%   Beginning silent installation...
  281. :un
  282. ::
  283. :: Unchecky
  284. ::
  285. if /i %skip_UN%==yes (
  286.         echo [%CUR_DATE%] - %TIME%    Skipping Unchecky v%uncheckyver%...>> "%LOGPATH%\%LOGFILE%"
  287.         echo [%CUR_DATE%] - %TIME%    Skipping Unchecky v%uncheckyver%...
  288.         goto lo
  289. )
  290. echo [%CUR_DATE%] - %TIME%    Installing Unchecky v%libver%...>> "%LOGPATH%\%LOGFILE%"
  291. echo [%CUR_DATE%] - %TIME%    Installing Unchecky v%libver%...
  292.     "%uncheckybin%" %uncheckyflag%
  293. echo [%CUR_DATE%] - %TIME%    Done.>> "%LOGPATH%\%LOGFILE%"
  294. echo [%CUR_DATE%] - %TIME%    Done.
  295. :lo
  296. ::
  297. :: LibreOffice
  298. ::
  299. if /i %skip_LO%==yes (
  300.         echo [%CUR_DATE%] - %TIME%    Skipping LibreOffice v%libver%...>> "%LOGPATH%\%LOGFILE%"
  301.         echo [%CUR_DATE%] - %TIME%    Skipping LibreOffice v%libver%...
  302.         goto ff
  303. )
  304. echo [%CUR_DATE%] - %TIME%    Installing LibreOffice v%libver%...>> "%LOGPATH%\%LOGFILE%"
  305. echo [%CUR_DATE%] - %TIME%    Installing LibreOffice v%libver%...
  306.     "%librebin%" %libreflag%
  307. echo [%CUR_DATE%] - %TIME%    Done.>> "%LOGPATH%\%LOGFILE%"
  308. echo [%CUR_DATE%] - %TIME%    Done.
  309. :ff
  310. ::
  311. :: Firefox
  312. ::
  313. if /i %skip_FF%==yes (
  314.         echo [%CUR_DATE%] - %TIME%    Skipping Mozilla Firefox v%ffver%...>> "%LOGPATH%\%LOGFILE%"
  315.         echo [%CUR_DATE%] - %TIME%    Skipping Mozilla Firefox v%ffver%...
  316.         goto af
  317. )
  318. echo [%CUR_DATE%] - %TIME%    Installing Mozilla Firefox v%ffver% ...>> "%LOGPATH%\%LOGFILE%"
  319. echo [%CUR_DATE%] - %TIME%    Installing Mozilla Firefox v%ffver%...
  320.     "%ffbin%" %ffflag%
  321. echo [%CUR_DATE%] - %TIME%    Done.>> "%LOGPATH%\%LOGFILE%"
  322. echo [%CUR_DATE%] - %TIME%    Done.
  323. :af
  324. ::
  325. :: Adobe Flash - Chrome & Firefox
  326. ::
  327. if /i %skip_AF%==yes (
  328.         echo [%CUR_DATE%] - %TIME%    Skipping Adobe Flash CH/FF v%flashver%...>> "%LOGPATH%\%LOGFILE%"
  329.         echo [%CUR_DATE%] - %TIME%    Skipping Adobe Flash CH/FF v%flashver%...
  330.         goto ar
  331. )
  332. echo [%CUR_DATE%] - %TIME%    Installing Adobe Flash for Chrome and Firefox v%flashver%...>> "%LOGPATH%\%LOGFILE%"
  333. echo [%CUR_DATE%] - %TIME%    Installing Adobe Flash for Chrome and Firefox v%flashver%...
  334.     "%flashffbin%" %flashflag%
  335. echo [%CUR_DATE%] - %TIME%    Done.>> "%LOGPATH%\%LOGFILE%"
  336. echo [%CUR_DATE%] - %TIME%    Done.
  337. ::
  338. :: Adobe Flash - IE
  339. ::
  340. echo [%CUR_DATE%] - %TIME%    Installing Flash for Internet Explorer v%flashver%...>> "%LOGPATH%\%LOGFILE%"
  341. echo [%CUR_DATE%] - %TIME%    Installing Flash for Internet Explorer v%flashver%...
  342.     "%flashiebin%" %flashflag%
  343. echo [%CUR_DATE%] - %TIME%    Done.>> "%LOGPATH%\%LOGFILE%"
  344. echo [%CUR_DATE%] - %TIME%    Done.
  345. :ar
  346. ::
  347. :: Adobe Reader
  348. ::
  349. if /i %skip_AR%==yes (
  350.         echo [%CUR_DATE%] - %TIME%    Skipping Adobe Reader v%readerver%...>> "%LOGPATH%\%LOGFILE%"
  351.         echo [%CUR_DATE%] - %TIME%    Skipping Adobe Reader v%readerver%...
  352.         goto aa
  353. )
  354. echo [%CUR_DATE%] - %TIME%    Installing Adobe Reader v%readerver%...>> "%LOGPATH%\%LOGFILE%"
  355. echo [%CUR_DATE%] - %TIME%    Installing Adobe Reader v%readerver%...
  356.     "%readerbin%" %readerflag%
  357. echo [%CUR_DATE%] - %TIME%    Done.>> "%LOGPATH%\%LOGFILE%"
  358. echo [%CUR_DATE%] - %TIME%    Done.
  359. :aa
  360. ::
  361. :: Adobe Air
  362. ::
  363. if /i %skip_AA%==yes (
  364.         echo [%CUR_DATE%] - %TIME%    Skipping Adobe Air v%airver%...>> "%LOGPATH%\%LOGFILE%"
  365.         echo [%CUR_DATE%] - %TIME%    Skipping Adobe Air v%airver%...
  366.         goto np
  367. )
  368. echo [%CUR_DATE%] - %TIME%    Installing Adobe AIR v%airver%...>> "%LOGPATH%\%LOGFILE%"
  369. echo [%CUR_DATE%] - %TIME%    Installing Adobe AIR v%airver%...
  370.     "%airbin%" %airflag%>>"%LOGPATH%\%LOGFILE%"
  371. echo [%CUR_DATE%] - %TIME%    Done.>> "%LOGPATH%\%LOGFILE%"
  372. echo [%CUR_DATE%] - %TIME%    Done.
  373. :np
  374. ::
  375. :: Notepad++
  376. ::
  377. if /i %skip_NP%==yes (
  378.         echo [%CUR_DATE%] - %TIME%    Skipping Notepad++ v%notepadver%...>> "%LOGPATH%\%LOGFILE%"
  379.         echo [%CUR_DATE%] - %TIME%    Skipping Notepad++ v%notepadver%...
  380.         goto arch
  381. )
  382. echo [%CUR_DATE%] - %TIME%    Installing Notepad++ v%notepadver%...>> "%LOGPATH%\%LOGFILE%"
  383. echo [%CUR_DATE%] - %TIME%    Installing Notepad++ v%notepadver%...
  384.     "%notepadbin%" %notepadflag%
  385. echo [%CUR_DATE%] - %TIME%    Done.>> "%LOGPATH%\%LOGFILE%"
  386. echo [%CUR_DATE%] - %TIME%    Done.
  387.         goto arch
  388. :arch
  389. ::
  390. :: Now we will install apps that have x64 and x86 versions
  391. ::
  392. if '%PROCESSOR_ARCHITECTURE%'=='x86' (
  393.     goto x86
  394.         ) else (
  395.     goto x64
  396.     )
  397. :x86
  398. ::
  399. :: Chrome
  400. ::
  401. if /i %skip_CH%==yes (
  402.         echo [%CUR_DATE%] - %TIME%    Skipping Google Chrome v%chromever%...>> "%LOGPATH%\%LOGFILE%"
  403.         echo [%CUR_DATE%] - %TIME%    Skipping Google Chrome v%chromever%...
  404.         goto ms_86
  405. )
  406. echo [%CUR_DATE%] - %TIME%    Installing Google Chrome v%chromever%...>> "%LOGPATH%\%LOGFILE%"
  407. echo [%CUR_DATE%] - %TIME%    Installing Google Chrome v%chromever%...
  408.     Msiexec %chromeflag% "%chrome86bin%"
  409. echo [%CUR_DATE%] - %TIME%    Done.>> "%LOGPATH%\%LOGFILE%"
  410. echo [%CUR_DATE%] - %TIME%    Done.
  411. :ms_86
  412. ::
  413. :: Silverlight
  414. ::
  415. if /i %skip_MS%==yes (
  416.         echo [%CUR_DATE%] - %TIME%    Skipping Microsoft Silverlight v%silverver%...>> "%LOGPATH%\%LOGFILE%"
  417.         echo [%CUR_DATE%] - %TIME%    Skipping Microsoft Silverlight v%silverver%...
  418.         goto vlc_86
  419. )
  420. echo [%CUR_DATE%] - %TIME%    Installing Microsoft Silverlight v%silverver%...>> "%LOGPATH%\%LOGFILE%"
  421. echo [%CUR_DATE%] - %TIME%    Installing Microsoft Silverlight v%silverver%...
  422.     "%silver86bin%" %silverflag%
  423. echo [%CUR_DATE%] - %TIME%    Done.>> "%LOGPATH%\%LOGFILE%"
  424. echo [%CUR_DATE%] - %TIME%    Done.
  425. :vlc_86
  426. ::
  427. :: VLC Media Player
  428. ::
  429. if /i %skip_VL%==yes (
  430.         echo [%CUR_DATE%] - %TIME%    Skipping VLC Media Player v%vlcver%...>> "%LOGPATH%\%LOGFILE%"
  431.         echo [%CUR_DATE%] - %TIME%    Skipping VLC Media Player v%vlcver%...
  432.         goto 7z_86
  433. )
  434. echo [%CUR_DATE%] - %TIME%    Installing VLC Media Player v%vlcver%...>> "%LOGPATH%\%LOGFILE%"
  435. echo [%CUR_DATE%] - %TIME%    Installing VLC Media Player v%vlcver%...
  436.     "%vlc86bin%" %vlcflag%
  437. echo [%CUR_DATE%] - %TIME%    Done.>> "%LOGPATH%\%LOGFILE%"
  438. echo [%CUR_DATE%] - %TIME%    Done.
  439. :7z_86
  440. ::
  441. :: 7-Zip
  442. ::
  443. if /i %skip_7Z%==yes (
  444.         echo [%CUR_DATE%] - %TIME%    Skipping 7zip v%zipver%...>> "%LOGPATH%\%LOGFILE%"
  445.         echo [%CUR_DATE%] - %TIME%    Skipping 7zip v%zipver%...
  446.         goto java_86
  447. )
  448. echo [%CUR_DATE%] - %TIME%    Installing 7zip v%zipver%...>> "%LOGPATH%\%LOGFILE%"
  449. echo [%CUR_DATE%] - %TIME%    Installing 7zip v%zipver%...
  450.     "%zip86bin%" %zipflag%
  451. echo [%CUR_DATE%] - %TIME%    Done.>> "%LOGPATH%\%LOGFILE%"
  452. echo [%CUR_DATE%] - %TIME%    Done.
  453. :java_86
  454. ::
  455. :: Java
  456. ::
  457. if /i %skip_JA%==yes (
  458.         echo [%CUR_DATE%] - %TIME%    Skipping Java v%javaver%...>> "%LOGPATH%\%LOGFILE%"
  459.         echo [%CUR_DATE%] - %TIME%    Skipping Java v%javaver%...
  460.         goto remjava
  461. )
  462. echo [%CUR_DATE%] - %TIME%    Installing Java v%javaver%...>> "%LOGPATH%\%LOGFILE%"
  463. echo [%CUR_DATE%] - %TIME%    Installing Java v%javaver%...
  464.     "%java86bin%" %javaflag%
  465. echo [%CUR_DATE%] - %TIME%    Done.>> "%LOGPATH%\%LOGFILE%"
  466. echo [%CUR_DATE%] - %TIME%    Done.
  467.         goto remjava
  468. :x64
  469. ::
  470. :: Chrome
  471. ::
  472. if /i %skip_CH%==yes (
  473.         echo [%CUR_DATE%] - %TIME%    Skipping Google Chrome v%chromever%...>> "%LOGPATH%\%LOGFILE%"
  474.         echo [%CUR_DATE%] - %TIME%    Skipping Google Chrome v%chromever%...
  475.         goto ms_64
  476. )
  477. echo [%CUR_DATE%] - %TIME%    Installing Google Chrome v%chromever%...>> "%LOGPATH%\%LOGFILE%"
  478. echo [%CUR_DATE%] - %TIME%    Installing Google Chrome v%chromever%...
  479.     Msiexec %chromeflag% "%chrome64bin%"
  480. echo [%CUR_DATE%] - %TIME%    Done.>> "%LOGPATH%\%LOGFILE%"
  481. echo [%CUR_DATE%] - %TIME%    Done.
  482. :ms_64
  483. ::
  484. :: Silverlight
  485. ::
  486. if /i %skip_MS%==yes (
  487.         echo [%CUR_DATE%] - %TIME%    Skipping Silverlight v%silverver%...>> "%LOGPATH%\%LOGFILE%"
  488.         echo [%CUR_DATE%] - %TIME%    Skipping Silverlight v%silverver%...
  489.         goto vlc_64
  490. )
  491. echo [%CUR_DATE%] - %TIME%    Installing Microsoft Silverlight v%silverver%...>> "%LOGPATH%\%LOGFILE%"
  492. echo [%CUR_DATE%] - %TIME%    Installing Microsoft Silverlight v%silverver%...
  493.     "%silver64bin%" %silverflag%
  494. echo [%CUR_DATE%] - %TIME%    Done.>> "%LOGPATH%\%LOGFILE%"
  495. echo [%CUR_DATE%] - %TIME%    Done.
  496. :vlc_64
  497. ::
  498. :: VLC Media Player
  499. ::
  500. if /i %skip_VL%==yes (
  501.         echo [%CUR_DATE%] - %TIME%    Skipping VLC Media Player v%vlcver%...>> "%LOGPATH%\%LOGFILE%"
  502.         echo [%CUR_DATE%] - %TIME%    Skipping VLC Media Player v%vlcver%...
  503.         goto 7z_64
  504. )
  505. echo [%CUR_DATE%] - %TIME%    Installing VLC Media Player v%vlcver%...>> "%LOGPATH%\%LOGFILE%"
  506. echo [%CUR_DATE%] - %TIME%    Installing VLC Media Player v%vlcver%...
  507.         "%vlc64bin%" %vlcflag%
  508. echo [%CUR_DATE%] - %TIME%    Done.>> "%LOGPATH%\%LOGFILE%"
  509. echo [%CUR_DATE%] - %TIME%    Done.
  510. :7z_64
  511. ::
  512. :: 7-Zip
  513. ::
  514. if /i %skip_7Z%==yes (
  515.         echo [%CUR_DATE%] - %TIME%    Skipping 7zip v%zipver%...>> "%LOGPATH%\%LOGFILE%"
  516.         echo [%CUR_DATE%] - %TIME%    Skipping 7zip v%zipver%...
  517.         goto java_64
  518. )
  519. echo [%CUR_DATE%] - %TIME%    Installing 7zip v%zipver%...>> "%LOGPATH%\%LOGFILE%"
  520. echo [%CUR_DATE%] - %TIME%    Installing 7zip v%zipver%...
  521.     "%zip64bin%" %zipflag%
  522. echo [%CUR_DATE%] - %TIME%    Done.>> "%LOGPATH%\%LOGFILE%"
  523. echo [%CUR_DATE%] - %TIME%    Done.
  524. :java_64
  525. ::
  526. :: Java
  527. ::
  528. if /i %skip_JA%==yes (
  529.         echo [%CUR_DATE%] - %TIME%    Skipping Java v%javaver%...>> "%LOGPATH%\%LOGFILE%"
  530.         echo [%CUR_DATE%] - %TIME%    Skipping Java v%javaver%...
  531.         goto tweak
  532. )
  533. echo [%CUR_DATE%] - %TIME%    Installing Java v%javaver%...>> "%LOGPATH%\%LOGFILE%"
  534. echo [%CUR_DATE%] - %TIME%    Installing Java v%javaver%...
  535.     "%java64bin%" %javaflag%
  536. echo [%CUR_DATE%] - %TIME%    Done.>> "%LOGPATH%\%LOGFILE%"
  537. echo [%CUR_DATE%] - %TIME%    Done.
  538.         goto remjava
  539. :remjava
  540. ::
  541. :: Java - Remove old version - credit to /u/vocatus
  542. ::
  543. if /i %skip_jcheck%==yes (
  544.         echo [%CUR_DATE%] - %TIME%    Skipping outdated Java check...>> "%LOGPATH%\%LOGFILE%"
  545.         echo [%CUR_DATE%] - %TIME%    Skipping outdated Java check...
  546.         goto tweak
  547. )
  548. echo [%CUR_DATE%] - %TIME%    Checking and removing outdated JRE installations...>> "%LOGPATH%\%LOGFILE%"
  549. echo [%CUR_DATE%] - %TIME%    Checking and removing outdated JRE installations...
  550. :: JRE 7
  551. echo [%CUR_DATE%] - %TIME%    JRE 7...>> "%LOGPATH%\%LOGFILE%"
  552. echo [%CUR_DATE%] - %TIME%    JRE 7...
  553. %WMIC% product where "IdentifyingNumber like '{26A24AE4-039D-4CA4-87B4-2F8__170__FF}'" call uninstall /nointeractive >> "%LOGPATH%\%LOGFILE%"
  554. :: JRE 6
  555. echo [%CUR_DATE%] - %TIME%    JRE 6...>> "%LOGPATH%\%LOGFILE%"
  556. echo [%CUR_DATE%] - %TIME%    JRE 6...
  557. :: 1st line is for updates 23-xx, after 64-bit runtimes were introduced.
  558. :: 2nd line is for updates 1-22, before Oracle released 64-bit JRE 6 runtimes
  559. %WMIC% product where "IdentifyingNumber like '{26A24AE4-039D-4CA4-87B4-2F8__160__FF}'" call uninstall /nointeractive>> "%LOGPATH%\%LOGFILE%"
  560. %WMIC% product where "IdentifyingNumber like '{3248F0A8-6813-11D6-A77B-00B0D0160__0}'" call uninstall /nointeractive>> "%LOGPATH%\%LOGFILE%"
  561. :: JRE 5
  562. echo [%CUR_DATE%] - %TIME%    JRE 5...>> "%LOGPATH%\%LOGFILE%"
  563. echo [%CUR_DATE%] - %TIME%    JRE 5...
  564. %WMIC% product where "IdentifyingNumber like '{3248F0A8-6813-11D6-A77B-00B0D0150__0}'" call uninstall /nointeractive>> "%LOGPATH%\%LOGFILE%"
  565. :: JRE 4
  566. echo [%CUR_DATE%] - %TIME%    JRE 4...>> "%LOGPATH%\%LOGFILE%"
  567. echo [%CUR_DATE%] - %TIME%    JRE 4...
  568. %WMIC% product where "IdentifyingNumber like '{7148F0A8-6813-11D6-A77B-00B0D0142__0}'" call uninstall /nointeractive>> "%LOGPATH%\%LOGFILE%"
  569. echo [%CUR_DATE%] - %TIME%    Done.>> "%LOGPATH%\%LOGFILE%"
  570. echo [%CUR_DATE%] - %TIME%    Done.
  571. ::
  572. :: END INSTALLER
  573. :::::::::::::::::::============================================
  574. :tweak
  575. title %script_name% v%SCRIPT_VERSION% [tweaks and cleanup]
  576. :::::::::::::::::::============================================
  577. ::
  578. :: Temp file cleanup & tweaks
  579. ::
  580. if /i %skip_tweaks%==yes (
  581. echo [%CUR_DATE%] - %TIME%    Skipping tweaks and temp cleanup...>> "%LOGPATH%\%LOGFILE%"
  582. echo [%CUR_DATE%] - %TIME%    Skipping tweaks and temp cleanup...
  583. goto calc
  584. )
  585. :: Create log file for temp cleaning
  586. if not exist %LOGPATH%\%TEMPLOGFILE% echo. > %LOGPATH%\%TEMPLOGFILE%
  587. ::
  588. echo [%CUR_DATE%] - %TIME%    Removing system temp files...>> "%LOGPATH%\%LOGFILE%"
  589. echo [%CUR_DATE%] - %TIME%    Removing system temp files...
  590.         del /F /S /Q "%WINDIR%\TEMP\*" /t>> %LOGPATH%\%TEMPLOGFILE%
  591.         rmdir /S /Q %SystemDrive%\Temp /t>> %LOGPATH%\%TEMPLOGFILE%
  592.         for %%i in (bat,txt,log,jpg,jpeg,tmp,bak,backup,exe) do (
  593.                 del /F /Q "%SystemDrive%\*.%%i" >> "%LOGPATH%\%TEMPLOGFILE%"
  594.                 )
  595. echo [%CUR_DATE%] - %TIME%    Done...>> "%LOGPATH%\%LOGFILE%"
  596. echo [%CUR_DATE%] - %TIME%    Done...
  597. ::
  598. :: Delete driver temp files
  599. ::
  600. echo [%CUR_DATE%] - %TIME%    Removing driver temp files...>> "%LOGPATH%\%LOGFILE%"
  601. echo [%CUR_DATE%] - %TIME%    Removing driver temp files...
  602.     for %%i in (NVIDIA,ATI,AMD,Dell,Intel,swsetup) do (
  603.                 rmdir /S /Q "%SystemDrive%\%%i" >> "%LOGPATH%\%TEMPLOGFILE%"
  604.                                 )
  605. echo [%CUR_DATE%] - %TIME%    Done...>> "%LOGPATH%\%LOGFILE%"
  606. echo [%CUR_DATE%] - %TIME%    Done...
  607. ::
  608. :: Re-enable f8 menu on win 8
  609. ::
  610. if "%WIN_VER:~0,9%"=="Windows 8" (
  611. echo [%CUR_DATE%] - %TIME%   Windows 8 detected, reenabling F8 menu...>> "%LOGPATH%\%LOGFILE%"
  612. echo [%CUR_DATE%] - %TIME%   Windows 8 detected, reenabling F8 menu...
  613.     bcdedit /set {default} bootmenupolicy legacy>> "%LOGPATH%\%LOGFILE%"
  614. echo [%CUR_DATE%] - %TIME%    Done.>> "%LOGPATH%\%LOGFILE%"
  615. echo [%CUR_DATE%] - %TIME%    Done.
  616. )
  617. ::
  618. :: Add control panel to right click menu
  619. ::
  620. echo [%CUR_DATE%] - %TIME%   Adding Control Panel to context menu...>> "%LOGPATH%\%LOGFILE%"
  621. echo [%CUR_DATE%] - %TIME%   Adding Control Panel to context menu...
  622.         regedit /S addctrl.reg
  623. echo [%CUR_DATE%] - %TIME%    Done.>> "%LOGPATH%\%LOGFILE%"
  624. echo [%CUR_DATE%] - %TIME%    Done.
  625. :calc
  626. ::
  627. :: Finishing up
  628. ::
  629. echo [%CUR_DATE%] - %TIME%   Finishing up...>> "%LOGPATH%\%LOGFILE%"
  630. echo [%CUR_DATE%] - %TIME%   Finishing up...
  631. :: Copy Java log to log folder
  632. echo [%CUR_DATE%] - %TIME%    Copying Java log to %LOGPATH%...>> "%LOGPATH%\%LOGFILE%"
  633. echo [%CUR_DATE%] - %TIME%    Copying Java log to %LOGPATH%...
  634.         xcopy JU=0 %LOGPATH% /q
  635. echo [%CUR_DATE%] - %TIME%    Done.>> "%LOGPATH%\%LOGFILE%"
  636. echo [%CUR_DATE%] - %TIME%    Done.
  637. :: Copy AIR log to log folder
  638. echo [%CUR_DATE%] - %TIME%    Copying AIR log to %LOGPATH%...>> "%LOGPATH%\%LOGFILE%"
  639. echo [%CUR_DATE%] - %TIME%    Copying AIR log to %LOGPATH%...
  640.         xcopy "%localappdata%\Adobe\AIR\logs\Install.log" %LOGPATH% /q /h
  641. echo [%CUR_DATE%] - %TIME%    Done.>> "%LOGPATH%\%LOGFILE%"
  642. echo [%CUR_DATE%] - %TIME%    Done.
  643. :: Calculate disk space again
  644. for /F "tokens=2 delims=:" %%a in ('fsutil volume diskfree %SystemDrive% ^| find /i "avail free"') do set bytes=%%a
  645. set /A FREE_SPACE_AFTER=%bytes:~0,-3%/1024*1000/1024/1024
  646. set /a FREE_SPACE_SAVED=%FREE_SPACE_AFTER% - %FREE_SPACE_BEFORE%
  647. goto footer
  648. :footer
  649. title %script_name% v%SCRIPT_VERSION% [summary]
  650. ::
  651. :: Log footer
  652. ::
  653. call :StopTimer
  654. echo ------------------------------------------------------------------------------->> %LOGPATH%\%LOGFILE%
  655. echo -------------------------------------------------------------------------------
  656. echo *                                                                             *
  657. echo *                               %script_name% Summary                          *>> %LOGPATH%\%LOGFILE%
  658. echo *                               %script_name% Summary                          *
  659. echo *                                                                             *
  660. echo ------------------------------------------------------------------------------->> %LOGPATH%\%LOGFILE%
  661. echo -------------------------------------------------------------------------------
  662. echo  [%CUR_DATE%] - %TIME%  %script_name% v%SCRIPT_VERSION% complete>> %LOGPATH%\%LOGFILE%
  663. echo  [%CUR_DATE%] - %TIME%  %script_name% v%SCRIPT_VERSION% complete
  664. echo                              Executed as %USERDOMAIN%\%USERNAME% on %COMPUTERNAME%>> %LOGPATH%\%LOGFILE%
  665. echo                              Executed as %USERDOMAIN%\%USERNAME% on %COMPUTERNAME%
  666. echo.
  667. echo                              Logfile: %LOGPATH%\%LOGFILE%>> %LOGPATH%\%LOGFILE%
  668. echo                              Logfile: %LOGPATH%\%LOGFILE%
  669. echo.
  670. echo                    Free space before: %FREE_SPACE_BEFORE% GB>> %LOGPATH%\%LOGFILE%
  671. echo                    Free space before: %FREE_SPACE_BEFORE% GB
  672. echo                     Free space after: %FREE_SPACE_AFTER% GB>> %LOGPATH%\%LOGFILE%
  673. echo                     Free space after: %FREE_SPACE_AFTER% GB
  674. echo                           Difference: %FREE_SPACE_SAVED% GB>> %LOGPATH%\%LOGFILE%
  675. echo                           Difference: %FREE_SPACE_SAVED% GB
  676. echo.
  677. echo                         Elapsed time: %TookTime:~0,-2%.%TookTimePadded:~-2% seconds>> %LOGPATH%\%LOGFILE%
  678. echo                         Elapsed time: %TookTime:~0,-2%.%TookTimePadded:~-2% seconds
  679. echo ------------------------------------------------------------------------------->> %LOGPATH%\%LOGFILE%
  680. echo -------------------------------------------------------------------------------
  681. pause
  682. ::
  683. :: Timer
  684. ::
  685. :StartTimer
  686. :: Get start time
  687. set StartTIME=%TIME%
  688. for /f "usebackq tokens=1-4 delims=:., " %%f in (`echo %StartTIME: =0%`) do set /a Start100S=1%%f*360000+1%%g*6000+1%%h*100+1%%i-36610100
  689. goto :EOF
  690. :StopTimer
  691. :: Get the end time
  692. set StopTIME=%TIME%
  693. for /f "usebackq tokens=1-4 delims=:., " %%f in (`echo %StopTIME: =0%`) do set /a Stop100S=1%%f*360000+1%%g*6000+1%%h*100+1%%i-36610100
  694. :: Test midnight rollover. If so, add 1 day=8640000 1/100ths secs
  695. if %Stop100S% LSS %Start100S% set /a Stop100S+=8640000
  696. set /a TookTime=%Stop100S%-%Start100S%
  697. set TookTimePadded=0%TookTime%
  698. goto :EOF
Advertisement
Add Comment
Please, Sign In to add comment