diff --git a/config/release/create_installstick.bat b/config/release/create_installstick.bat index d5589d269b..e7f1ef2e51 100644 --- a/config/release/create_installstick.bat +++ b/config/release/create_installstick.bat @@ -1,114 +1,169 @@ @ECHO OFF +TITLE OpenELEC USB Installer +mode con:cols=67 lines=17 +COLOR 17 +SET DRIVE= + +:checkPrivileges +mkdir "%windir%\OEAdminCheck" +if '%errorlevel%' == '0' ( +rmdir "%windir%\OEAdminCheck" & goto gotPrivileges +) else ( goto getPrivileges ) + +:getPrivileges CLS ECHO. -ECHO OpenELEC.tv USB Installer +ECHO. +ECHO OpenELEC.tv USB Installer ECHO. ECHO. -ECHO ****************************************************** -ECHO. -ECHO This will wipe any data off your chosen drive -ECHO Please read the instructions and use very carefully... +ECHO ***************************************************************** +ECHO. +ECHO Administrator Rights are required for USB Stick creation +ECHO Invoking UAC for Privilege Escalation +ECHO. +ECHO ***************************************************************** ECHO. -ECHO ****************************************************** ECHO. ECHO. -ECHO. Are you running this USB Wizard for the first time -ECHO. on Windows 7 or Windows Vista? [Y/N] ECHO. ECHO. -SET /P OS= -- -IF "%OS%"=="n" GOTO INSTALL -IF "%OS%"=="N" GOTO INSTALL +ECHO Set UAC = CreateObject^("Shell.Application"^) > "%temp%\OEgetPrivileges.vbs" +ECHO UAC.ShellExecute %0, "", "", "runas", 1 >> "%temp%\OEgetPrivileges.vbs" +"%temp%\OEgetPrivileges.vbs" +exit /B -:NOTES -CLS -ECHO. -ECHO ****************************************************** -ECHO. -ECHO. -ECHO Due to UAC in Windows 7 / Windows Vista we need to run -ECHO syslinux.exe as 'Administrator' -ECHO. -ECHO After pressing any key the folder containing syslinux.exe -ECHO will pop up automatically. -ECHO. -ECHO 1. Right click on syslinux.exe -ECHO 2. Click on 'Properties' -ECHO 3. Change to the 'Compatibility' tab -ECHO 4. Check the 'Run this program as an administrator' checkbox -ECHO. -ECHO. -ECHO. -ECHO ****************************************************** -ECHO. -ECHO Press any key to open the syslinux directory -ECHO. -pause >NUL -explorer "%CD%\3rdparty\syslinux\win32" -ECHO When finished changing the administrator rights, -ECHO please press any key to continue with the installation -pause >NUL -GOTO :INSTALL +:gotPrivileges +if exist "%temp%\OEgetPrivileges.vbs" ( del "%temp%\OEgetPrivileges.vbs" ) +pushd "%CD%" +CD /D "%~dp0" -:INSTALL +:HashCheck 3rdparty\md5sum\md5sum.exe -c "%CD%\target\SYSTEM.md5" -IF ERRORLEVEL 1 GOTO BADMD5 +IF ERRORLEVEL 1 GOTO BadMD5 3rdparty\md5sum\md5sum.exe -c "%CD%\target\KERNEL.md5" -IF ERRORLEVEL 1 GOTO BADMD5 +IF ERRORLEVEL 1 GOTO BadMD5 + +:InstallOE CLS ECHO. -ECHO OpenELEC.tv USB Installer +ECHO. +ECHO OpenELEC.tv USB Installer ECHO. ECHO. -ECHO ****************************************************** -ECHO. -ECHO This will wipe any data off your chosen drive -ECHO Please read the instructions and use very carefully... +ECHO ***************************************************************** ECHO. -ECHO ****************************************************** +ECHO This WILL wipe ALL data off the selected drive +ECHO Please use carefully... +ECHO. +ECHO ***************************************************************** ECHO. ECHO. + +:SelectDrive ECHO Enter USB Drive letter ECHO eg. d: ECHO. SET /P DRIVE= -- -if %DRIVE%!==! goto INSTALL -format %DRIVE% /V:OPENELEC /Q /FS:FAT32 -3rdparty\syslinux\win32\syslinux.exe -f -m -a %DRIVE% -ECHO Copying necessary files to %DRIVE% -copy target\* %DRIVE% -copy Autorun.inf %DRIVE% -copy CHANGELOG %DRIVE% -copy INSTALL %DRIVE% -copy README %DRIVE% -copy RELEASE %DRIVE% -copy openelec.ico %DRIVE% -FOR /F "tokens=5" %%G IN ('vol %DRIVE% ^|find "-"') DO SET DRIVEUUID=%%G -echo DEFAULT linux > %DRIVE%\syslinux.cfg -echo PROMPT 0 >> %DRIVE%\syslinux.cfg -echo. >> %DRIVE%\syslinux.cfg -echo LABEL linux >> %DRIVE%\syslinux.cfg -echo KERNEL /KERNEL >> %DRIVE%\syslinux.cfg -echo APPEND boot=LABEL=OPENELEC installer quiet >> %DRIVE%\syslinux.cfg -GOTO END +IF NOT DEFINED DRIVE goto InvalidDrive +if %DRIVE%==c: goto InvalidDrive +if %DRIVE%==C: goto InvalidDrive -:BADMD5 CLS ECHO. ECHO. -ECHO ***** OpenELEC.tv failed md5 check - Installation will quit ***** +ECHO OpenELEC.tv USB Installer +ECHO. +ECHO. +ECHO ***************************************************************** +ECHO. +ECHO Installing OpenELEC to %DRIVE% +ECHO Please wait approximately 20 seconds... +ECHO. +ECHO ***************************************************************** ECHO. ECHO. ECHO. -ECHO Your original download was probably corrupt. -ECHO Please visit www.openelec.tv and get another copy +ECHO. +ECHO. + +ECHO. | >NUL format %DRIVE% /V:OPENELEC /Q /FS:FAT32 /X +IF ERRORLEVEL 1 goto InvalidDrive +>NUL 3rdparty\syslinux\win32\syslinux.exe -f -m -a %DRIVE% +>NUL copy target\* %DRIVE% +>NUL copy Autorun.inf %DRIVE% +>NUL copy CHANGELOG %DRIVE% +>NUL copy INSTALL %DRIVE% +>NUL copy README %DRIVE% +>NUL copy RELEASE %DRIVE% +>NUL copy openelec.ico %DRIVE% +FOR /F "tokens=5" %%G IN ('vol %DRIVE% ^|find "-"') DO SET DRIVEUUID=%%G +ECHO DEFAULT linux > %DRIVE%\syslinux.cfg +ECHO PROMPT 0 >> %DRIVE%\syslinux.cfg +ECHO. >> %DRIVE%\syslinux.cfg +ECHO LABEL linux >> %DRIVE%\syslinux.cfg +ECHO KERNEL /KERNEL >> %DRIVE%\syslinux.cfg +ECHO APPEND boot=LABEL=OPENELEC installer quiet >> %DRIVE%\syslinux.cfg +GOTO END + +:InvalidDrive +CLS +ECHO. +ECHO. +ECHO OpenELEC.tv USB Installer +ECHO. +ECHO. +ECHO ***************************************************************** +ECHO. +ECHO Invalid Drive Selected... +ECHO Please confirm the drive letter of your USB stick +ECHO. +ECHO ***************************************************************** +ECHO. +ECHO. +GOTO SelectDrive + +:BadMD5 +CLS +ECHO. +ECHO. +ECHO OpenELEC.tv USB Installer +ECHO. +ECHO. +ECHO ***************************************************************** +ECHO. +ECHO OpenELEC.tv failed md5 check - Installation will now quit +ECHO. +ECHO Your original download is probably corrupt +ECHO Please visit www.openelec.tv and download another copy +ECHO. +ECHO ***************************************************************** +ECHO. ECHO. ECHO. PAUSE +EXIT :END +CLS +ECHO. +ECHO. +ECHO OpenELEC.tv USB Installer +ECHO. +ECHO. +ECHO ***************************************************************** +ECHO. +ECHO The OpenELEC USB Installer has been successfully copied to %DRIVE% +ECHO Please boot your HTPC off this USB stick +ECHO. +ECHO ***************************************************************** +ECHO. +ECHO. +ECHO. +ECHO. + SET DRIVE= -SET OS= -SET DRIVEUUID= \ No newline at end of file +SET DRIVEUUID= +PAUSE