From 9e5adf34b35199146d678829a37f8aeacb02636e Mon Sep 17 00:00:00 2001 From: LoRd_MuldeR Date: Tue, 11 Aug 2015 22:10:00 +0200 Subject: [PATCH] Updated build script and installer to better support multiple versions of Visual Studio. --- etc/Deployment/_build.bat | 2 +- etc/Deployment/_deploy.bat | 23 ++++++++++------------- etc/Deployment/_lupdate.bat | 1 - etc/Deployment/_paths.bat | 4 ++++ etc/Deployment/buildenv.template.txt | 1 + etc/NSIS/setup.nsi | 18 ++++++++++++++++-- etc/Translation/Blank.nsh | 1 + etc/Translation/LameXP_DE.nsh | 1 + etc/Translation/LameXP_ES.nsh | 1 + etc/Translation/LameXP_HU.nsh | 1 + etc/Translation/LameXP_PL.nsh | 1 + etc/Translation/LameXP_RU.nsh | 1 + etc/Translation/LameXP_UK.nsh | 1 + src/Config.h | 2 +- 14 files changed, 40 insertions(+), 18 deletions(-) diff --git a/etc/Deployment/_build.bat b/etc/Deployment/_build.bat index f9f587dd..154820d0 100644 --- a/etc/Deployment/_build.bat +++ b/etc/Deployment/_build.bat @@ -12,7 +12,7 @@ echo. :: --------------------------------------------------------------------------- call "%~dp0\_paths.bat" -call "%PATH_MSCDIR%\VC\bin\vcvars32.bat" x86 +call "%PATH_MSCDIR%\VC\bin\vcvars32.bat" if exist "%PATH_QTMSVC%\bin\qtenv2.bat" ( call "%PATH_QTMSVC%\bin\qtenv2.bat" diff --git a/etc/Deployment/_deploy.bat b/etc/Deployment/_deploy.bat index e5737a3d..76e7f07d 100644 --- a/etc/Deployment/_deploy.bat +++ b/etc/Deployment/_deploy.bat @@ -100,23 +100,20 @@ for %%i in (exe,sfx,zip,txt) do ( rd /S /Q "%TMP_PATH%" 2> NUL mkdir "%TMP_PATH%" -for %%i in (exe,dll) do ( - copy "%BIN_PATH%\*.%%i" "%TMP_PATH%" -) - +copy "%BIN_PATH%\LameXP.exe" "%TMP_PATH%" if "%LAMEXP_REDIST%"=="1" ( + copy "%BIN_PATH%\MUtils32-?.dll" "%TMP_PATH%" mkdir "%TMP_PATH%\imageformats" for %%i in (Core,Gui,Network,Xml,Svg) do ( - copy "%QTDIR%\bin\Qt%%i4.dll" "%TMP_PATH%" + copy "%~dp0\..\..\..\Prerequisites\Qt4\v%PATH_VCTOOL%_xp\Shared\bin\Qt%%i4.dll" "%TMP_PATH%" ) for %%i in (gif,ico,jpeg,mng,svg,tga,tiff) do ( - copy "%QTDIR%\plugins\imageformats\q%%i4.dll" "%TMP_PATH%\imageformats" + copy "%~dp0\..\..\..\Prerequisites\Qt4\v%PATH_VCTOOL%_xp\Shared\plugins\imageformats\q%%i4.dll" "%TMP_PATH%\imageformats" ) - for %%i in (100,110,120) do ( - if exist "%PATH_MSCDIR%\VC\redist\x86\Microsoft.VC%%i.CRT\*.dll" ( - copy "%PATH_MSCDIR%\VC\redist\x86\Microsoft.VC%%i.CRT\msvcr%%i.dll" "%TMP_PATH%" - copy "%PATH_MSCDIR%\VC\redist\x86\Microsoft.VC%%i.CRT\msvcp%%i.dll" "%TMP_PATH%" - ) + copy "%PATH_MSCDIR%\VC\redist\x86\Microsoft.VC%PATH_VCTOOL%.CRT\*.dll" "%TMP_PATH%" + if exist "%PATH_MSCDIR%\VC\redist\1033\vcredist_x86.exe" ( + mkdir "%TMP_PATH%\redist" + copy "%PATH_MSCDIR%\VC\redist\1033\vcredist_x86.exe" "%TMP_PATH%\redist" ) ) @@ -172,12 +169,12 @@ pushd "%TMP_PATH%" "%~dp0\..\Utilities\Zip.exe" -r -9 -z "%OUT_FILE%.zip" "*.*" < "%OUT_FILE%.txt" popd -"%PATH_MKNSIS%\makensis.exe" "/DLAMEXP_UPX_PATH=%PATH_UPXBIN%" "/DLAMEXP_DATE=%ISO_DATE%" "/DLAMEXP_VERSION=%VER_LAMEXP_MAJOR%.%VER_LAMEXP_MINOR_HI%%VER_LAMEXP_MINOR_LO%" "/DLAMEXP_BUILD=%VER_LAMEXP_BUILD%" "/DLAMEXP_INSTTYPE=%VER_LAMEXP_TYPE%" "/DLAMEXP_PATCH=%VER_LAMEXP_PATCH%" "/DLAMEXP_OUTPUT_FILE=%OUT_FILE%.sfx" "/DLAMEXP_SOURCE_PATH=%TMP_PATH%" "%~dp0\..\NSIS\setup.nsi" +"%PATH_MKNSIS%\makensis.exe" "/DLAMEXP_UPX_PATH=%PATH_UPXBIN%" "/DLAMEXP_DATE=%ISO_DATE%" "/DLAMEXP_VERSION=%VER_LAMEXP_MAJOR%.%VER_LAMEXP_MINOR_HI%%VER_LAMEXP_MINOR_LO%" "/DLAMEXP_BUILD=%VER_LAMEXP_BUILD%" "/DLAMEXP_INSTTYPE=%VER_LAMEXP_TYPE%" "/DLAMEXP_REDIST=%LAMEXP_REDIST%" "/DLAMEXP_PATCH=%VER_LAMEXP_PATCH%" "/DLAMEXP_OUTPUT_FILE=%OUT_FILE%.sfx" "/DLAMEXP_SOURCE_PATH=%TMP_PATH%" "%~dp0\..\NSIS\setup.nsi" if %ERRORLEVEL% NEQ 0 ( "%~dp0\..\Utilities\CEcho.exe" red "\nFailed to build installer^!\n" pause && exit ) -"%PATH_MKNSIS%\makensis.exe" "/DLAMEXP_UPX_PATH=%PATH_UPXBIN%" "/DLAMEXP_DATE=%ISO_DATE%" "/DLAMEXP_VERSION=%VER_LAMEXP_MAJOR%.%VER_LAMEXP_MINOR_HI%%VER_LAMEXP_MINOR_LO%" "/DLAMEXP_BUILD=%VER_LAMEXP_BUILD%" "/DLAMEXP_INSTTYPE=%VER_LAMEXP_TYPE%" "/DLAMEXP_PATCH=%VER_LAMEXP_PATCH%" "/DLAMEXP_OUTPUT_FILE=%OUT_FILE%.exe" "/DLAMEXP_SOURCE_FILE=%OUT_FILE%.sfx" "%~dp0\..\NSIS\wrapper.nsi" +"%PATH_MKNSIS%\makensis.exe" "/DLAMEXP_UPX_PATH=%PATH_UPXBIN%" "/DLAMEXP_DATE=%ISO_DATE%" "/DLAMEXP_VERSION=%VER_LAMEXP_MAJOR%.%VER_LAMEXP_MINOR_HI%%VER_LAMEXP_MINOR_LO%" "/DLAMEXP_BUILD=%VER_LAMEXP_BUILD%" "/DLAMEXP_INSTTYPE=%VER_LAMEXP_TYPE%" "/DLAMEXP_REDIST=%LAMEXP_REDIST%" "/DLAMEXP_PATCH=%VER_LAMEXP_PATCH%" "/DLAMEXP_OUTPUT_FILE=%OUT_FILE%.exe" "/DLAMEXP_SOURCE_FILE=%OUT_FILE%.sfx" "%~dp0\..\NSIS\wrapper.nsi" if %ERRORLEVEL% NEQ 0 ( "%~dp0\..\Utilities\CEcho.exe" red "\nFailed to build installer^!\n" pause && exit diff --git a/etc/Deployment/_lupdate.bat b/etc/Deployment/_lupdate.bat index 86b1e5b3..576a0776 100644 --- a/etc/Deployment/_lupdate.bat +++ b/etc/Deployment/_lupdate.bat @@ -10,7 +10,6 @@ setlocal ENABLEDELAYEDEXPANSION :: --------------------------------------------------------------------------- call "%~dp0\_paths.bat" -call "%PATH_MSCDIR%\VC\bin\vcvars32.bat" x86 if exist "%PATH_QTMSVC%\bin\qtenv2.bat" ( call "%PATH_QTMSVC%\bin\qtenv2.bat" diff --git a/etc/Deployment/_paths.bat b/etc/Deployment/_paths.bat index bb2f74a0..b546e839 100644 --- a/etc/Deployment/_paths.bat +++ b/etc/Deployment/_paths.bat @@ -18,6 +18,7 @@ set "PATH_MSCDIR=" set "PATH_QTMSVC=" set "PATH_GNUPG1=" set "PATH_PANDOC=" +set "PATH_VCTOOL=" set "PATH_VCPROJ=" :: ------------------------------------------ @@ -45,6 +46,7 @@ for /f "tokens=2,*" %%s in (%BUILDENV_TXT%) do ( if "%%s"=="PATH_QTMSVC" set "PATH_QTMSVC=%%~t" if "%%s"=="PATH_GNUPG1" set "PATH_GNUPG1=%%~t" if "%%s"=="PATH_PANDOC" set "PATH_PANDOC=%%~t" + if "%%s"=="PATH_VCTOOL" set "PATH_VCTOOL=%%~t" if "%%s"=="PATH_VCPROJ" set "PATH_VCPROJ=%%~t" ) @@ -61,6 +63,7 @@ set "BUILDENV_TXT=" "%~dp0\..\Utilities\CEcho.exe" yellow "PATH_QTMSVC = \"%PATH_QTMSVC:\=\\%\"" "%~dp0\..\Utilities\CEcho.exe" yellow "PATH_GNUPG1 = \"%PATH_GNUPG1:\=\\%\"" "%~dp0\..\Utilities\CEcho.exe" yellow "PATH_PANDOC = \"%PATH_PANDOC:\=\\%\"" +"%~dp0\..\Utilities\CEcho.exe" yellow "PATH_VCTOOL = \"%PATH_VCTOOL:\=\\%\"" "%~dp0\..\Utilities\CEcho.exe" yellow "PATH_VCPROJ = \"%PATH_VCPROJ:\=\\%\"" "%~dp0\..\Utilities\CEcho.exe" yellow "=========== END PATHS ===========\n" @@ -77,6 +80,7 @@ call:validate_path PATH_QTMSVC "%PATH_QTMSVC%\bin\moc.exe" call:validate_path PATH_QTMSVC "%PATH_QTMSVC%\bin\rcc.exe" call:validate_path PATH_GNUPG1 "%PATH_GNUPG1%\gpg.exe" call:validate_path PATH_PANDOC "%PATH_PANDOC%\pandoc.exe" +call:validate_path PATH_VCTOOL "%PATH_MSCDIR%\VC\redist\x86\Microsoft.VC%PATH_VCTOOL%.CRT\msvcp%PATH_VCTOOL%.dll" call:validate_path PATH_VCPROJ "%~dp0\..\..\%PATH_VCPROJ%" :: ------------------------------------------ diff --git a/etc/Deployment/buildenv.template.txt b/etc/Deployment/buildenv.template.txt index 934599d2..f26d55e7 100644 --- a/etc/Deployment/buildenv.template.txt +++ b/etc/Deployment/buildenv.template.txt @@ -4,4 +4,5 @@ #define PATH_QTMSVC "C:\QtSDK\Desktop\Qt\4.8.5\msvc2012" #define PATH_GNUPG1 "C:\Program Files\GNU\GnuPG" #define PATH_PANDOC "C:\Program Files\Pandoc" +#define PATH_VCTOOL "120" #define PATH_VCPROJ "LameXP_VS2013.sln" diff --git a/etc/NSIS/setup.nsi b/etc/NSIS/setup.nsi index 11f962d4..a2cee2bc 100644 --- a/etc/NSIS/setup.nsi +++ b/etc/NSIS/setup.nsi @@ -52,6 +52,9 @@ !ifndef LAMEXP_UPX_PATH !error "LAMEXP_UPX_PATH is not defined !!!" !endif +!ifndef LAMEXP_REDIST + !error "LAMEXP_REDIST is not defined !!!" +!endif ;UUID !define MyRegPath "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{FBD7A67D-D700-4043-B54F-DD106D00F308}" @@ -533,6 +536,8 @@ Section "!Install Files" Delete "$INSTDIR\Translate.html" Delete "$INSTDIR\Uninstall.exe" RMDir /r "$INSTDIR\img" + RMDir /r "$INSTDIR\imageformats" + RMDir /r "$INSTDIR\redist" !insertmacro GetExecutableName $R0 @@ -546,13 +551,22 @@ Section "!Install Files" ${EndIf} File /a `/oname=$R0` `${LAMEXP_SOURCE_PATH}\LameXP.exe` - + File /nonfatal /a /r `${LAMEXP_SOURCE_PATH}\*.dll` + File /a /r `${LAMEXP_SOURCE_PATH}\*.txt` File /a /r `${LAMEXP_SOURCE_PATH}\*.html` File /a /r `${LAMEXP_SOURCE_PATH}\*.png` SectionEnd -Section "-Write Uinstaller" +!if ${LAMEXP_REDIST} != 0 + Section "-Install VCRedist" + !insertmacro PrintProgress "$(LAMEXP_LANG_STATUS_VCREDIST)" + File /a `/oname=$PLUGINSDIR\vcredist_x86.exe` `${LAMEXP_SOURCE_PATH}\redist\vcredist_x86.exe` + ExecWait '"$PLUGINSDIR\vcredist_x86.exe" /install /passive /norestart' + SectionEnd +!endif + +Section "-Write Uninstaller" !insertmacro PrintProgress "$(LAMEXP_LANG_STATUS_MAKEUNINST)" WriteUninstaller "$INSTDIR\Uninstall.exe" SectionEnd diff --git a/etc/Translation/Blank.nsh b/etc/Translation/Blank.nsh index 2779dff7..7593c07d 100644 --- a/etc/Translation/Blank.nsh +++ b/etc/Translation/Blank.nsh @@ -21,6 +21,7 @@ LangString LAMEXP_LANG_STATUS_CLOSING ${LANG_ENGLISH} "Closing running instance, please wait..." LangString LAMEXP_LANG_STATUS_INSTFILES ${LANG_ENGLISH} "Installing program files, please wait..." +LangString LAMEXP_LANG_STATUS_VCREDIST ${LANG_ENGLISH} "Installing runtime libraries, please wait..." LangString LAMEXP_LANG_STATUS_MAKEUNINST ${LANG_ENGLISH} "Creating the uninstaller, please wait..." LangString LAMEXP_LANG_STATUS_SHORTCUTS ${LANG_ENGLISH} "Creating shortcuts, please wait..." LangString LAMEXP_LANG_STATUS_REGISTRY ${LANG_ENGLISH} "Updating the registry, please wait..." diff --git a/etc/Translation/LameXP_DE.nsh b/etc/Translation/LameXP_DE.nsh index e61dcee4..6ff46212 100644 --- a/etc/Translation/LameXP_DE.nsh +++ b/etc/Translation/LameXP_DE.nsh @@ -21,6 +21,7 @@ LangString LAMEXP_LANG_STATUS_CLOSING ${LANG_GERMAN} "Schließe laufende Instanz, bitte warten..." LangString LAMEXP_LANG_STATUS_INSTFILES ${LANG_GERMAN} "Installiere Programm-Dateien, bitte warten..." +LangString LAMEXP_LANG_STATUS_VCREDIST ${LANG_GERMAN} "Installiere Laufzeitbibliotheken, bitte warten..." LangString LAMEXP_LANG_STATUS_MAKEUNINST ${LANG_GERMAN} "Erzeuge Uninstaller, bitte warten..." LangString LAMEXP_LANG_STATUS_SHORTCUTS ${LANG_GERMAN} "Erzeuge Verknüpfungen, bitte warten..." LangString LAMEXP_LANG_STATUS_REGISTRY ${LANG_GERMAN} "Registrierung wird aktualisiert, bitte warten..." diff --git a/etc/Translation/LameXP_ES.nsh b/etc/Translation/LameXP_ES.nsh index f3d517f4..49e482b7 100644 --- a/etc/Translation/LameXP_ES.nsh +++ b/etc/Translation/LameXP_ES.nsh @@ -21,6 +21,7 @@ LangString LAMEXP_LANG_STATUS_CLOSING ${LANG_SPANISH} "Cerrando instancias en ejecución, espere por favor..." LangString LAMEXP_LANG_STATUS_INSTFILES ${LANG_SPANISH} "Instalando archivos de programa, espere por favor..." +LangString LAMEXP_LANG_STATUS_VCREDIST ${LANG_SPANISH} "Installing runtime libraries, please wait..." LangString LAMEXP_LANG_STATUS_MAKEUNINST ${LANG_SPANISH} "Creando desinstalador, espere por favor..." LangString LAMEXP_LANG_STATUS_SHORTCUTS ${LANG_SPANISH} "Creando accesos directos, espere por favor..." LangString LAMEXP_LANG_STATUS_REGISTRY ${LANG_SPANISH} "Actualizando el registro, espere por favor..." diff --git a/etc/Translation/LameXP_HU.nsh b/etc/Translation/LameXP_HU.nsh index 73cb4611..1a70342b 100644 --- a/etc/Translation/LameXP_HU.nsh +++ b/etc/Translation/LameXP_HU.nsh @@ -21,6 +21,7 @@ LangString LAMEXP_LANG_STATUS_CLOSING ${LANG_HUNGARIAN} "Futó példány bezárása, kis türelmet..." LangString LAMEXP_LANG_STATUS_INSTFILES ${LANG_HUNGARIAN} "Programfájlok telepítése, kis türelmet..." +LangString LAMEXP_LANG_STATUS_VCREDIST ${LANG_HUNGARIAN} "Installing runtime libraries, please wait..." LangString LAMEXP_LANG_STATUS_MAKEUNINST ${LANG_HUNGARIAN} "Eltávolító létrehozása, kis türelmet..." LangString LAMEXP_LANG_STATUS_SHORTCUTS ${LANG_HUNGARIAN} "Parancsikonok létrehozása, kis türelmet..." LangString LAMEXP_LANG_STATUS_REGISTRY ${LANG_HUNGARIAN} "Rendszerleíró frissítése, kis türelmet..." diff --git a/etc/Translation/LameXP_PL.nsh b/etc/Translation/LameXP_PL.nsh index 02452c76..b1f4ca0c 100644 --- a/etc/Translation/LameXP_PL.nsh +++ b/etc/Translation/LameXP_PL.nsh @@ -21,6 +21,7 @@ LangString LAMEXP_LANG_STATUS_CLOSING ${LANG_POLISH} "Zamykanie uruchomionych procesów, prosze czekać..." LangString LAMEXP_LANG_STATUS_INSTFILES ${LANG_POLISH} "Kopiowanie plików programu, prosze czekać..." +LangString LAMEXP_LANG_STATUS_VCREDIST ${LANG_POLISH} "Installing runtime libraries, please wait..." LangString LAMEXP_LANG_STATUS_MAKEUNINST ${LANG_POLISH} "Tworzenie pliku wykonującego deinstalację, prosze czekać..." LangString LAMEXP_LANG_STATUS_SHORTCUTS ${LANG_POLISH} "Tworzenie skrótów do programu, prosze czekać..." LangString LAMEXP_LANG_STATUS_REGISTRY ${LANG_POLISH} "Zapisywanie do rejestru, prosze czekać..." diff --git a/etc/Translation/LameXP_RU.nsh b/etc/Translation/LameXP_RU.nsh index 132e6eac..579f5ea2 100644 --- a/etc/Translation/LameXP_RU.nsh +++ b/etc/Translation/LameXP_RU.nsh @@ -21,6 +21,7 @@ LangString LAMEXP_LANG_STATUS_CLOSING ${LANG_RUSSIAN} "Закрываю работающие копии программы; пожалуйста, подождите..." LangString LAMEXP_LANG_STATUS_INSTFILES ${LANG_RUSSIAN} "Устанавливаю файлы программы; пожалуйста, подождите..." +LangString LAMEXP_LANG_STATUS_VCREDIST ${LANG_RUSSIAN} "Installing runtime libraries, please wait..." LangString LAMEXP_LANG_STATUS_MAKEUNINST ${LANG_RUSSIAN} "Создаю деинсталлятор; пожалуйста, подождите..." LangString LAMEXP_LANG_STATUS_SHORTCUTS ${LANG_RUSSIAN} "Создаю ярлыки; пожалуйста, подождите..." LangString LAMEXP_LANG_STATUS_REGISTRY ${LANG_RUSSIAN} "Обновляю реестр; пожалуйста, подождите..." diff --git a/etc/Translation/LameXP_UK.nsh b/etc/Translation/LameXP_UK.nsh index 35c8d928..39c47a0b 100644 --- a/etc/Translation/LameXP_UK.nsh +++ b/etc/Translation/LameXP_UK.nsh @@ -21,6 +21,7 @@ LangString LAMEXP_LANG_STATUS_CLOSING ${LANG_UKRAINIAN} "Закриття запущеної копії, будь ласка, зачекайте..." LangString LAMEXP_LANG_STATUS_INSTFILES ${LANG_UKRAINIAN} "Встановлення програмних файлів, будь ласка, зачекайте..." +LangString LAMEXP_LANG_STATUS_VCREDIST ${LANG_UKRAINIAN} "Installing runtime libraries, please wait..." LangString LAMEXP_LANG_STATUS_MAKEUNINST ${LANG_UKRAINIAN} "Створення додатку видалення, будь ласка, зачекайте..." LangString LAMEXP_LANG_STATUS_SHORTCUTS ${LANG_UKRAINIAN} "Створення посилань, будь ласка, зачекайте..." LangString LAMEXP_LANG_STATUS_REGISTRY ${LANG_UKRAINIAN} "Оновлення реєстру, будь ласка, зачекайте..." diff --git a/src/Config.h b/src/Config.h index 613a4f7b..fc26b3e3 100644 --- a/src/Config.h +++ b/src/Config.h @@ -35,7 +35,7 @@ #define VER_LAMEXP_MINOR_LO 2 #define VER_LAMEXP_TYPE Beta #define VER_LAMEXP_PATCH 2 -#define VER_LAMEXP_BUILD 1775 +#define VER_LAMEXP_BUILD 1780 #define VER_LAMEXP_CONFG 1700 ///////////////////////////////////////////////////////////////////////////////