Check Inno Setup is installed
The build_installer.bat file uses Inno Setup to build the installer. It does currently not check if Inno Setup is installed, and fails with the message: The system cannot find the path specified. Build failed That message does not explain how to fix the problem. I have added a loop to search for Inno Setup 6 and 5. The user installed Inno Setup is preferred over the system installed version. If Inno Setup cannot be found then it prints an actionable error message. I have tested it by: 1. Not having Inno Setup installed 2. Running build_installer.bat 3. Checked that the error message appears. 4. Installed Inno Setup 6 for my current user 5. Checked that the error message does not appear. 6. Checked that the installer package is generated 6. Uninstalled Inno Setup 6 7. Installed Inno Setup 6 for all users 8. Checked that the error message does not appear. 9. Checked that the installer package is generated 10. Uninstalled Inno Setup 6 11. Installed Inno Setup 5 12. Checked that the error message does not appear. 13. Checked that the installer package is generated
This commit is contained in:
parent
58d8f020dc
commit
b1f40638d1
|
@ -1,5 +1,14 @@
|
||||||
@echo off
|
@echo off
|
||||||
set INNO_ROOT=C:\Program Files (x86)\Inno Setup 5
|
REM Use setlocal to automatically unset variables
|
||||||
|
setlocal
|
||||||
|
|
||||||
|
REM Inno Setup folders. Defined in order of preference.
|
||||||
|
set INNO6_USER_ROOT=%LOCALAPPDATA%\Programs\Inno Setup 6
|
||||||
|
set INNO6_ROOT=%ProgramFiles(x86)%\Inno Setup 6
|
||||||
|
SET INNO5_ROOT=%ProgramFiles(x86)%\Inno Setup 5
|
||||||
|
set INNO_ROOTS="%INNO6_USER_ROOT%" "%INNO6_ROOT%" "%INNO5_ROOT%"
|
||||||
|
set INNO_EXE=ISCC.exe
|
||||||
|
set INNO_EXE_PATH=""
|
||||||
|
|
||||||
set savedir=%cd%
|
set savedir=%cd%
|
||||||
cd /d %~dp0
|
cd /d %~dp0
|
||||||
|
@ -8,9 +17,25 @@ if not exist build\bin\Release goto buildproject
|
||||||
|
|
||||||
echo Building 64-bit Windows installer...
|
echo Building 64-bit Windows installer...
|
||||||
|
|
||||||
|
REM Find where Inno Setup is installed
|
||||||
|
for %%r in (%INNO_ROOTS%) do (
|
||||||
|
if exist "%%~r\%INNO_EXE%" (
|
||||||
|
set INNO_EXE_PATH="%%~r\%INNO_EXE%"
|
||||||
|
goto endcheckinnosetuploop
|
||||||
|
)
|
||||||
|
)
|
||||||
|
:endcheckinnosetuploop
|
||||||
|
|
||||||
|
REM Check that Inno Setup is installed
|
||||||
|
if %INNO_EXE_PATH%=="" (
|
||||||
|
echo Could not find Inno Setup.
|
||||||
|
echo Check if Inno Setup is installed.
|
||||||
|
goto failed
|
||||||
|
)
|
||||||
|
|
||||||
cd build\installer-inno
|
cd build\installer-inno
|
||||||
if ERRORLEVEL 1 goto buildproject
|
if ERRORLEVEL 1 goto buildproject
|
||||||
"%INNO_ROOT%\ISCC.exe" /Qp barrier.iss
|
%INNO_EXE_PATH% /Qp barrier.iss
|
||||||
if ERRORLEVEL 1 goto failed
|
if ERRORLEVEL 1 goto failed
|
||||||
|
|
||||||
echo Build completed successfully
|
echo Build completed successfully
|
||||||
|
@ -28,7 +53,4 @@ goto done
|
||||||
echo Build failed
|
echo Build failed
|
||||||
|
|
||||||
:done
|
:done
|
||||||
set INNO_ROOT=
|
|
||||||
|
|
||||||
cd /d %savedir%
|
cd /d %savedir%
|
||||||
set savedir=
|
|
||||||
|
|
Loading…
Reference in New Issue