config/release: rework of create_installstick.bat, thanks to ilya

Signed-off-by: Stephan Raue <stephan@openelec.tv>
This commit is contained in:
Stephan Raue 2011-09-14 18:21:04 +02:00
parent a3bc835397
commit c13fb977a8

View File

@ -1,114 +1,169 @@
@ECHO OFF @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 CLS
ECHO. ECHO.
ECHO.
ECHO OpenELEC.tv USB Installer ECHO OpenELEC.tv USB Installer
ECHO. ECHO.
ECHO. ECHO.
ECHO ****************************************************** ECHO *****************************************************************
ECHO. ECHO.
ECHO This will wipe any data off your chosen drive ECHO Administrator Rights are required for USB Stick creation
ECHO Please read the instructions and use very carefully... ECHO Invoking UAC for Privilege Escalation
ECHO.
ECHO *****************************************************************
ECHO. 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.
ECHO. ECHO.
SET /P OS= -- ECHO Set UAC = CreateObject^("Shell.Application"^) > "%temp%\OEgetPrivileges.vbs"
IF "%OS%"=="n" GOTO INSTALL ECHO UAC.ShellExecute %0, "", "", "runas", 1 >> "%temp%\OEgetPrivileges.vbs"
IF "%OS%"=="N" GOTO INSTALL "%temp%\OEgetPrivileges.vbs"
exit /B
:NOTES :gotPrivileges
CLS if exist "%temp%\OEgetPrivileges.vbs" ( del "%temp%\OEgetPrivileges.vbs" )
ECHO. pushd "%CD%"
ECHO ****************************************************** CD /D "%~dp0"
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
:INSTALL :HashCheck
3rdparty\md5sum\md5sum.exe -c "%CD%\target\SYSTEM.md5" 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" 3rdparty\md5sum\md5sum.exe -c "%CD%\target\KERNEL.md5"
IF ERRORLEVEL 1 GOTO BADMD5 IF ERRORLEVEL 1 GOTO BadMD5
:InstallOE
CLS CLS
ECHO. ECHO.
ECHO.
ECHO OpenELEC.tv USB Installer ECHO OpenELEC.tv USB Installer
ECHO. ECHO.
ECHO. ECHO.
ECHO ****************************************************** ECHO *****************************************************************
ECHO. ECHO.
ECHO This will wipe any data off your chosen drive ECHO This WILL wipe ALL data off the selected drive
ECHO Please read the instructions and use very carefully... ECHO Please use carefully...
ECHO. ECHO.
ECHO ****************************************************** ECHO *****************************************************************
ECHO. ECHO.
ECHO. ECHO.
:SelectDrive
ECHO Enter USB Drive letter ECHO Enter USB Drive letter
ECHO eg. d: ECHO eg. d:
ECHO. ECHO.
SET /P DRIVE= -- SET /P DRIVE= --
if %DRIVE%!==! goto INSTALL IF NOT DEFINED DRIVE goto InvalidDrive
format %DRIVE% /V:OPENELEC /Q /FS:FAT32 if %DRIVE%==c: goto InvalidDrive
3rdparty\syslinux\win32\syslinux.exe -f -m -a %DRIVE% if %DRIVE%==C: goto InvalidDrive
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
:BADMD5
CLS CLS
ECHO. ECHO.
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.
ECHO. ECHO.
ECHO Your original download was probably corrupt. ECHO.
ECHO Please visit www.openelec.tv and get another copy 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.
ECHO. ECHO.
PAUSE PAUSE
EXIT
:END :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 DRIVE=
SET OS=
SET DRIVEUUID= SET DRIVEUUID=
PAUSE