mirror of
https://github.com/FirebirdSQL/firebird.git
synced 2025-01-22 22:03:03 +01:00
Add innosetup install script for fb3.
Misc changes to support new install requirements of fb3 (Note - this is still a work in progress.)
This commit is contained in:
parent
9d0aef435d
commit
7c722c03dd
@ -23,6 +23,8 @@
|
||||
|
||||
:SET_PARAMS
|
||||
@echo off
|
||||
:: reset ERRLEV to clear error from last run in same cmd shell
|
||||
set ERRLEV=0
|
||||
:: Assume we are preparing a production build
|
||||
set FBBUILD_BUILDTYPE=release
|
||||
:: Don't ship pdb files by default
|
||||
@ -43,10 +45,12 @@ set /A FBBUILD_PACKAGE_NUMBER+=1
|
||||
)
|
||||
@echo Setting FBBUILD_PACKAGE_NUMBER to %FBBUILD_PACKAGE_NUMBER%
|
||||
|
||||
::::If a suffix is defined (usually for an RC) ensure it is prefixed correctly.
|
||||
::if defined FBBUILD_FILENAME_SUFFIX (
|
||||
::if not %FBBUILD_FILENAME_SUFFIX:~0,1% == _ (set FBBUILD_FILENAME_SUFFIX=_%FBBUILD_FILENAME_SUFFIX%)
|
||||
::)
|
||||
::If a suffix is defined (usually for an RC) ensure it is prefixed correctly.
|
||||
if defined FBBUILD_FILENAME_SUFFIX (
|
||||
if not "%FBBUILD_FILENAME_SUFFIX:~0,1%"=="_" (
|
||||
(set FBBUILD_FILENAME_SUFFIX=_%FBBUILD_FILENAME_SUFFIX%)
|
||||
)
|
||||
)
|
||||
|
||||
:: See what we have on the command line
|
||||
::for %%v in ( %1 %2 %3 %4 %5 ) do (
|
||||
@ -124,16 +128,6 @@ if %FBBUILD_ISX_PACK% EQU 1 (
|
||||
) else (@echo o Inno Setup found at %INNO5_SETUP_PATH%.)
|
||||
)
|
||||
|
||||
:: If we are not building a snapshot we must check for WIX and
|
||||
:: the path to the external documentation. If we are building a
|
||||
:: snapshot then we can ignore them.
|
||||
if not defined FB2_SNAPSHOT (
|
||||
|
||||
if not defined WIX (
|
||||
call :ERROR WIX not defined. WiX is needed to build the MSI kits of the CRT runtimes.
|
||||
@goto :EOF
|
||||
) else (@echo o WiX found at %WIX%.)
|
||||
|
||||
|
||||
if not DEFINED FB_EXTERNAL_DOCS (
|
||||
@echo.
|
||||
@ -193,8 +187,7 @@ set FBBUILD_FILE_ID=%FBBUILD_PRODUCT_VER_STRING%-%FBBUILD_PACKAGE_NUMBER%_%FB_TA
|
||||
@echo s/define compression/define %ISS_COMPRESS%/ >> %temp%.\b$3.txt
|
||||
@echo s/FBBUILD_PRODUCT_VER_STRING/%FBBUILD_PRODUCT_VER_STRING%/ >> %temp%.\b$3.txt
|
||||
|
||||
sed -f %temp%.\b$3.txt FirebirdInstall_20.iss > FirebirdInstall_%FBBUILD_FILE_ID%.iss
|
||||
del %temp%.\b$?.txt
|
||||
sed -f %temp%.\b$3.txt FirebirdInstall_30.iss > FirebirdInstall_%FBBUILD_FILE_ID%.iss
|
||||
|
||||
:: This is a better way of achieving what is done in make_all.bat, but we don't
|
||||
:: test for sed in that script.
|
||||
@ -207,9 +200,35 @@ set FBBUILD_FB_CUR_VER=%FBBUILD_FB25_CUR_VER%
|
||||
:: Now set some version strings of our legacy releases.
|
||||
:: This helps us copy the correct documentation,
|
||||
:: as well as set up the correct shortcuts
|
||||
set FBBUILD_FB15_CUR_VER=1.5.5
|
||||
set FBBUILD_FB20_CUR_VER=2.0.5
|
||||
set FBBUILD_FB21_CUR_VER=2.1.2
|
||||
set FBBUILD_FB15_CUR_VER=1.5.6
|
||||
set FBBUILD_FB20_CUR_VER=2.0.7
|
||||
set FBBUILD_FB21_CUR_VER=2.1.5
|
||||
|
||||
:: Now fix up the major.minor version strings in the readme files.
|
||||
:: We place output in %FB_GEN_DIR%\readmes
|
||||
@if not exist %FB_GEN_DIR%\readmes (@mkdir %FB_GEN_DIR%\readmes)
|
||||
@for %%d in (ba cz de es fr hu it pl pt ru si ) do (
|
||||
@if not exist %FB_GEN_DIR%\readmes\%%d (@mkdir %FB_GEN_DIR%\readmes\%%d)
|
||||
)
|
||||
|
||||
@echo s/\$MAJOR/%FB_MAJOR_VER%/g > %temp%.\b$4.txt
|
||||
@echo s/\$MINOR/%FB_MINOR_VER%/g >> %temp%.\b$4.txt
|
||||
@echo s/\$RELEASE/%FB_REV_NO%/g >> %temp%.\b$4.txt
|
||||
@for %%f in (Readme.txt installation_readme.txt) do (
|
||||
@echo Processing version strings in %%f
|
||||
@sed -f %temp%.\b$4.txt %%f > %FB_GEN_DIR%\readmes\%%f
|
||||
)
|
||||
@for %%d in (ba cz de es fr hu it pl pt ru si ) do (
|
||||
@pushd %%d
|
||||
@for /F %%f in ( '@dir /B /A-D *.txt' ) do (
|
||||
@echo Processing version strings in %%d\%%f
|
||||
@sed -f %temp%.\b$4.txt %%f > %FB_GEN_DIR%\readmes\%%d\%%f
|
||||
)
|
||||
@popd
|
||||
)
|
||||
|
||||
del %temp%.\b$?.txt
|
||||
|
||||
|
||||
::End of SED_MAGIC
|
||||
::----------------
|
||||
@ -218,61 +237,39 @@ set FBBUILD_FB21_CUR_VER=2.1.2
|
||||
|
||||
:COPY_XTRA
|
||||
:: system dll's we need
|
||||
:: (You may need to download and extract the
|
||||
:: vcredist stuff to your MSDevDir for this to work with MSVC6.
|
||||
:: MSVC7 requires the Framework SDK v1.1 to be installed.
|
||||
:: MSVC8 should be installed with redistributable packages.
|
||||
:: MSVC should be installed with redistributable packages.
|
||||
::=====================
|
||||
@echo Copying MSVC runtime libraries...
|
||||
if not exist %FB_OUTPUT_DIR%\system32 (mkdir %FB_OUTPUT_DIR%\system32)
|
||||
@if DEFINED MSDevDir (
|
||||
@if %MSVC_VERSION% EQU 6 (
|
||||
@copy "%MSDevDir%\vcredist\msvcrt.dll" %FB_OUTPUT_DIR%\bin\ > nul
|
||||
@copy "%MSDevDir%\vcredist\msvcp%MSVC_VERSION%0.dll" %FB_OUTPUT_DIR%\bin\ > nul
|
||||
)
|
||||
) else (
|
||||
if %MSVC_VERSION% EQU 8 (
|
||||
@copy "%VCINSTALLDIR%\redist\%PROCESSOR_ARCHITECTURE%\Microsoft.VC80.CRT\msvcp%MSVC_VERSION%?.dll" %FB_OUTPUT_DIR%\bin\ > nul
|
||||
@copy "%VCINSTALLDIR%\redist\%PROCESSOR_ARCHITECTURE%\Microsoft.VC80.CRT\msvcr%MSVC_VERSION%?.dll" %FB_OUTPUT_DIR%\bin\ > nul
|
||||
@copy "%VCINSTALLDIR%\redist\%PROCESSOR_ARCHITECTURE%\Microsoft.VC80.CRT\Microsoft.VC80.CRT.manifest" %FB_OUTPUT_DIR%\bin\ > nul
|
||||
) else (
|
||||
if %MSVC_VERSION% EQU 7 (
|
||||
@copy "%FrameworkSDKDir%\bin\msvcp%MSVC_VERSION%?.dll" %FB_OUTPUT_DIR%\bin\ > nul
|
||||
@copy "%FrameworkSDKDir%\bin\msvcr%MSVC_VERSION%?.dll" %FB_OUTPUT_DIR%\bin\ > nul
|
||||
)
|
||||
)
|
||||
@echo on
|
||||
for %%f in ( msvcp%MSVC_VERSION%?.dll msvcr%MSVC_VERSION%?.dll ) do (
|
||||
if exist "%VCINSTALLDIR%\redist\%PROCESSOR_ARCHITECTURE%\Microsoft.VC%MSVC_VERSION%0.CRT\%%f" (
|
||||
copy "%VCINSTALLDIR%\redist\%PROCESSOR_ARCHITECTURE%\Microsoft.VC%MSVC_VERSION%0.CRT\%%f" %FB_OUTPUT_DIR%\
|
||||
)
|
||||
)
|
||||
|
||||
@echo off
|
||||
|
||||
|
||||
@if %ERRORLEVEL% GEQ 1 ( (call :ERROR Copying MSVC runtime library failed with error %ERRORLEVEL% ) & (goto :EOF))
|
||||
|
||||
:: grab some missing bits'n'pieces from different parts of the source tree
|
||||
::=========================================================================
|
||||
@echo Copying firebird.conf
|
||||
@copy %FB_ROOT_PATH%\builds\install\misc\firebird.conf %FB_OUTPUT_DIR%\ > nul
|
||||
@if %ERRORLEVEL% GEQ 1 ( (call :ERROR COPY of firebird.conf failed with errorlevel %ERRORLEVEL% ) & (goto :EOF))
|
||||
|
||||
@echo Copying ib_util etc
|
||||
copy %FB_ROOT_PATH%\src\extlib\ib_util.h %FB_OUTPUT_DIR%\include > nul || (call :WARNING Copying ib_util.h failed.)
|
||||
copy %FB_ROOT_PATH%\lang_helpers\ib_util.pas %FB_OUTPUT_DIR%\include > nul || (call :WARNING Copying ib_util.pas failed.)
|
||||
|
||||
|
||||
@echo Copying fbclient lib etc
|
||||
:: For some unknown reason copy sets the errorlevel even when it succeeds,
|
||||
:: so the || branch is only executed if copy throws a real error, even though the errorlevel is set.
|
||||
:: Just another of those fabulous msdos idiosyncracies.
|
||||
for %%v in (fbclient ib_util) do (
|
||||
@copy /Y %FB_TEMP_DIR%\%FBBUILD_BUILDTYPE%\%%v\%%v.lib %FB_OUTPUT_DIR%\lib\%%v_ms.lib || @if %ERRORLEVEL% GEQ 1 (call :ERROR Copying %%v to %%v_ms.lib failed with error %ERRORLEVEL%) & (goto :EOF))
|
||||
)
|
||||
|
||||
@implib.exe | findstr "Borland" > nul
|
||||
@if errorlevel 0 (
|
||||
if "%PROCESSOR_ARCHITECTURE%"=="x86" (
|
||||
@echo Generating fbclient_bor.lib
|
||||
@implib %FB_OUTPUT_DIR%\lib\fbclient_bor.lib %FB_OUTPUT_DIR%\bin\fbclient.dll > nul
|
||||
@implib %FB_OUTPUT_DIR%\lib\fbclient_bor.lib %FB_OUTPUT_DIR%\fbclient.dll > nul
|
||||
)
|
||||
)
|
||||
|
||||
@if "%FBBUILD_SHIP_PDB%"=="ship_pdb" (
|
||||
@echo Copying pdb files...
|
||||
for %%v in ( fbembed fb_inet_server fbserver fbclient ) do (
|
||||
for %%v in ( fbembed firebird fbclient ) do (
|
||||
@copy %FB_TEMP_DIR%\%FBBUILD_BUILDTYPE%\%%v\%%v.pdb %FB_OUTPUT_DIR%\bin > nul
|
||||
@if %ERRORLEVEL% GEQ 1 (
|
||||
call :ERROR Copying %%v.pdb files failed
|
||||
@ -280,7 +277,7 @@ if "%PROCESSOR_ARCHITECTURE%"=="x86" (
|
||||
)
|
||||
)
|
||||
)
|
||||
:: @copy %FB_TEMP_DIR%\%FBBUILD_BUILDTYPE%\firebird\bin\*.pdb %FB_OUTPUT_DIR%\bin > nul
|
||||
:: @copy %FB_TEMP_DIR%\%FBBUILD_BUILDTYPE%\firebird\*.pdb %FB_OUTPUT_DIR%\bin > nul
|
||||
|
||||
@echo Started copying docs...
|
||||
@rmdir /S /Q %FB_OUTPUT_DIR%\doc 2>nul
|
||||
@ -294,7 +291,7 @@ if "%PROCESSOR_ARCHITECTURE%"=="x86" (
|
||||
|
||||
@echo Copying udf library scripts...
|
||||
for %%v in ( ib_udf.sql ib_udf2.sql ) do (
|
||||
copy %FB_ROOT_PATH%\src\extlib\%%v %FB_OUTPUT_DIR%\UDF\%%v > nul
|
||||
@copy %FB_ROOT_PATH%\src\extlib\%%v %FB_OUTPUT_DIR%\UDF\%%v > nul
|
||||
@if %ERRORLEVEL% GEQ 1 (
|
||||
call :ERROR Copying %FB_ROOT_PATH%\src\extlib\%%v failed.
|
||||
goto :EOF
|
||||
@ -311,14 +308,14 @@ for %%v in ( fbudf.sql fbudf.txt ) do (
|
||||
|
||||
::UDF upgrade script and doc
|
||||
mkdir %FB_OUTPUT_DIR%\misc\upgrade\ib_udf 2>nul
|
||||
@copy %FB_ROOT_PATH%\src\misc\upgrade\v2\ib_udf*.* %FB_OUTPUT_DIR%\misc\upgrade\ib_udf\
|
||||
@copy %FB_ROOT_PATH%\src\misc\upgrade\v2\ib_udf*.* %FB_OUTPUT_DIR%\misc\upgrade\ib_udf\ > nul
|
||||
|
||||
::INTL script
|
||||
@copy %FB_ROOT_PATH%\src\misc\intl.sql %FB_OUTPUT_DIR%\misc\
|
||||
@copy %FB_ROOT_PATH%\src\misc\intl.sql %FB_OUTPUT_DIR%\misc\ > nul
|
||||
|
||||
|
||||
@echo Copying other documentation...
|
||||
@copy %FB_ROOT_PATH%\builds\install\arch-specific\win32\installation_readme.txt %FB_OUTPUT_DIR%\doc\installation_readme.txt > nul
|
||||
@copy %FB_GEN_DIR%\readmes\installation_readme.txt %FB_OUTPUT_DIR%\doc\installation_readme.txt > nul
|
||||
@copy %FB_OUTPUT_DIR%\doc\WhatsNew %FB_OUTPUT_DIR%\doc\WhatsNew.txt > nul
|
||||
@del %FB_OUTPUT_DIR%\doc\WhatsNew
|
||||
|
||||
@ -341,7 +338,7 @@ mkdir %FB_OUTPUT_DIR%\misc\upgrade\ib_udf 2>nul
|
||||
:: if the docs are available then we can include them.
|
||||
if defined FB_EXTERNAL_DOCS (
|
||||
@echo Copying pdf docs...
|
||||
@for %%v in ( Firebird-2.1-QuickStart.pdf Firebird_v%FBBUILD_FB_CUR_VER%.ReleaseNotes.pdf Firebird_v%FBBUILD_FB_CUR_VER%.InstallationGuide.pdf Firebird_v%FBBUILD_FB_CUR_VER%.BugFixes.pdf Firebird_v%FBBUILD_FB21_CUR_VER%.ReleaseNotes.pdf Firebird_v%FBBUILD_FB21_CUR_VER%.InstallationGuide.pdf Firebird_v%FBBUILD_FB21_CUR_VER%.BugFixes.pdf) do (
|
||||
@for %%v in ( Firebird-%FB_MAJOR_VER%.%FB_MINOR_VER%-QuickStart.pdf Firebird_v%FBBUILD_FB_CUR_VER%.ReleaseNotes.pdf ) do (
|
||||
@echo ... %%v
|
||||
(@copy /Y %FB_EXTERNAL_DOCS%\%%v %FB_OUTPUT_DIR%\doc\%%v > nul) || (call :WARNING Copying %FB_EXTERNAL_DOCS%\%%v failed.)
|
||||
)
|
||||
@ -359,7 +356,7 @@ for %%v in (IPLicense.txt IDPLicense.txt ) do (
|
||||
)
|
||||
|
||||
:: And readme
|
||||
@copy %FB_ROOT_PATH%\builds\install\arch-specific\win32\readme.txt %FB_OUTPUT_DIR%\ > nul
|
||||
@copy %FB_GEN_DIR%\readmes\readme.txt %FB_OUTPUT_DIR%\ > nul
|
||||
|
||||
:: Walk through all docs and transform any that are not .txt, .pdf or .html to .txt
|
||||
echo Setting .txt filetype to ascii docs.
|
||||
@ -392,7 +389,10 @@ for /R %FB_OUTPUT_DIR%\doc %%v in (.) do (
|
||||
:: Generate runtimes as an MSI file.
|
||||
:: This requires WiX 2.0 to be installed
|
||||
::============
|
||||
if %MSVC_VERSION% GEQ 8 (
|
||||
:: This is only relevent if we are shipping packages built with MSVS 2005 (MSVC8)
|
||||
:: We have never shipped packages with MSVS 2008 (MSVC9) and we are hoping not
|
||||
:: to deploy MSI runtimes if we build with MSVC 2010 (MVC10)
|
||||
if %MSVC_VERSION% EQU 8 (
|
||||
if not exist %FB_OUTPUT_DIR%\system32\vccrt%MSVC_VERSION%_%FB_TARGET_PLATFORM%.msi (
|
||||
%WIX%\candle.exe -v0 %FB_ROOT_PATH%\builds\win32\msvc%MSVC_VERSION%\VCCRT_%FB_TARGET_PLATFORM%.wxs -out %FB_GEN_DIR%\vccrt_%FB_TARGET_PLATFORM%.wixobj
|
||||
%WIX%\light.exe %FB_GEN_DIR%\vccrt_%FB_TARGET_PLATFORM%.wixobj -out %FB_OUTPUT_DIR%\system32\vccrt%MSVC_VERSION%_%FB_TARGET_PLATFORM%.msi
|
||||
@ -421,14 +421,15 @@ if not exist %FB_OUTPUT_DIR%\system32\vccrt%MSVC_VERSION%_%FB_TARGET_PLATFORM%.m
|
||||
setlocal
|
||||
set OUTPATH=%FB_OUTPUT_DIR%\include
|
||||
copy %FB_ROOT_PATH%\src\jrd\ibase.h %OUTPATH%\ibase.h > nul
|
||||
for %%v in ( %FB_ROOT_PATH%\src\include\types_pub.h %FB_ROOT_PATH%\src\include\consts_pub.h %FB_ROOT_PATH%\src\dsql\sqlda_pub.h %FB_ROOT_PATH%\src\jrd\dsc_pub.h %FB_ROOT_PATH%\src\jrd\inf_pub.h %FB_ROOT_PATH%\src\jrd\blr.h ) do (
|
||||
for %%v in ( %FB_ROOT_PATH%\src\include\types_pub.h %FB_ROOT_PATH%\src\include\consts_pub.h %FB_ROOT_PATH%\src\dsql\sqlda_pub.h %FB_ROOT_PATH%\src\common\dsc_pub.h %FB_ROOT_PATH%\src\jrd\inf_pub.h %FB_ROOT_PATH%\src\jrd\blr.h ) do (
|
||||
del %OUTPATH%\%%~nxv 2> nul
|
||||
copy %%v %OUTPATH%\%%~nxv > nul
|
||||
sed -n -f strip_comments.sed %OUTPATH%\%%~nxv > %OUTPATH%\%%~nv.more
|
||||
sed -n -f strip_comments.sed %OUTPATH%\%%~nxv > %OUTPATH%\%%~nv.more || call :ERROR Stripping comments from %%v failed.
|
||||
|
||||
more /s %OUTPATH%\%%~nv.more > %OUTPATH%\%%~nv.sed
|
||||
)
|
||||
move /y %OUTPATH%\ibase.h %OUTPATH%\ibase.sed
|
||||
sed -e "/#include \"types_pub\.h\"/r %OUTPATH%\types_pub.sed" -e "/#include \"types_pub\.h\"/d" -e "/#include \"consts_pub\.h\"/r %OUTPATH%\consts_pub.sed" -e "/#include \"consts_pub\.h\"/d" -e "/#include \"..\/jrd\/dsc_pub\.h\"/r %OUTPATH%\dsc_pub.sed" -e "/#include \"..\/jrd\/dsc_pub\.h\"/d" -e "/#include \"..\/dsql\/sqlda_pub\.h\"/r %OUTPATH%\sqlda_pub.sed" -e "/#include \"..\/dsql\/sqlda_pub\.h\"/d" -e "/#include \"blr\.h\"/r %OUTPATH%\blr.sed" -e "/#include \"blr\.h\"/d" -e "/#include \"..\/jrd\/inf_pub\.h\"/r %OUTPATH%\inf_pub.sed" -e "/#include \"..\/jrd\/inf_pub\.h\"/d" %OUTPATH%\ibase.sed > %OUTPATH%\ibase.h
|
||||
sed -e "/#include \"types_pub\.h\"/r %OUTPATH%\types_pub.sed" -e "/#include \"types_pub\.h\"/d" -e "/#include \"consts_pub\.h\"/r %OUTPATH%\consts_pub.sed" -e "/#include \"consts_pub\.h\"/d" -e "/#include \"..\/common\/dsc_pub\.h\"/r %OUTPATH%\dsc_pub.sed" -e "/#include \"..\/jrd\/dsc_pub\.h\"/d" -e "/#include \"..\/dsql\/sqlda_pub\.h\"/r %OUTPATH%\sqlda_pub.sed" -e "/#include \"..\/dsql\/sqlda_pub\.h\"/d" -e "/#include \"blr\.h\"/r %OUTPATH%\blr.sed" -e "/#include \"blr\.h\"/d" -e "/#include \"..\/jrd\/inf_pub\.h\"/r %OUTPATH%\inf_pub.sed" -e "/#include \"..\/jrd\/inf_pub\.h\"/d" %OUTPATH%\ibase.sed > %OUTPATH%\ibase.h
|
||||
del %OUTPATH%\ibase.sed %OUTPATH%\types_pub.* %OUTPATH%\consts_pub.* %OUTPATH%\sqlda_pub.* %OUTPATH%\dsc_pub.* %OUTPATH%\inf_pub.* %OUTPATH%\blr.*
|
||||
endlocal
|
||||
|
||||
@ -463,11 +464,11 @@ endlocal
|
||||
|
||||
::Migration from old security db to new one
|
||||
mkdir %FB_OUTPUT_DIR%\misc\upgrade\security 2>nul
|
||||
@copy %FB_ROOT_PATH%\src\misc\upgrade\v2\security_database.* %FB_OUTPUT_DIR%\misc\upgrade\security
|
||||
@copy %FB_ROOT_PATH%\src\misc\upgrade\v2\security_database.* %FB_OUTPUT_DIR%\misc\upgrade\security > nul
|
||||
|
||||
::Metadata migration
|
||||
mkdir %FB_OUTPUT_DIR%\misc\upgrade\metadata 2>nul
|
||||
@copy %FB_ROOT_PATH%\src\misc\upgrade\v2.1\metadata_* %FB_OUTPUT_DIR%\misc\upgrade\metadata
|
||||
@copy %FB_ROOT_PATH%\src\misc\upgrade\v2.1\metadata_* %FB_OUTPUT_DIR%\misc\upgrade\metadata > nul
|
||||
|
||||
:: Make sure that qli's help.fdb is available
|
||||
::===============================================
|
||||
@ -503,7 +504,7 @@ mkdir %FB_OUTPUT_DIR%\misc\upgrade\metadata 2>nul
|
||||
:: Note 2: MS documentation was incorrectly interpreted. .local files should not be created
|
||||
:: for libraries, they should be created for executables.
|
||||
:: Create libname.local files for each locally installed library
|
||||
::for %%v in ( fbclient msvcrt msvcp%VS_VER%0 ) do touch %FB_OUTPUT_DIR%\bin\%%v.local
|
||||
::for %%v in ( fbclient msvcrt msvcp%VS_VER%0 ) do touch %FB_OUTPUT_DIR%\%%v.local
|
||||
::@goto :EOF
|
||||
|
||||
|
||||
@ -542,7 +543,7 @@ if %FB2_SNAPSHOT% EQU 1 (
|
||||
)
|
||||
|
||||
if not "%FBBUILD_SHIP_PDB%"=="ship_pdb" (
|
||||
@del /q %FBBUILD_ZIP_PACK_ROOT%\bin\*.pdb > nul 2>&1
|
||||
@del /q %FBBUILD_ZIP_PACK_ROOT%\*.pdb > nul 2>&1
|
||||
)
|
||||
|
||||
:: grab install notes for zip pack
|
||||
@ -588,19 +589,19 @@ for %%v in (aliases.conf firebird.conf firebird.msg) do ( @copy /Y %FB_OUTPUT_DI
|
||||
|
||||
for %%v in ( doc intl udf ) do (@mkdir %FBBUILD_EMB_PACK_ROOT%\%%v 2>nul)
|
||||
|
||||
@copy /Y %FB_TEMP_DIR%\%FBBUILD_BUILDTYPE%\firebird\bin\fbembed.* %FBBUILD_EMB_PACK_ROOT% > nul
|
||||
@copy /Y %FB_TEMP_DIR%\%FBBUILD_BUILDTYPE%\firebird\fbembed.* %FBBUILD_EMB_PACK_ROOT% > nul
|
||||
|
||||
for %%v in ( icuuc30 icudt30 icuin30 ) do (
|
||||
@copy %FB_ICU_SOURCE_BIN%\%%v.dll %FBBUILD_EMB_PACK_ROOT% >nul
|
||||
)
|
||||
|
||||
@copy /Y %FB_TEMP_DIR%\%FBBUILD_BUILDTYPE%\firebird\bin\ib_util.dll %FBBUILD_EMB_PACK_ROOT% > nul
|
||||
@copy /Y %FB_TEMP_DIR%\%FBBUILD_BUILDTYPE%\firebird\ib_util.dll %FBBUILD_EMB_PACK_ROOT% > nul
|
||||
@copy /Y %FB_OUTPUT_DIR%\doc\Firebird*.pdf %FBBUILD_EMB_PACK_ROOT%\doc\ > nul
|
||||
@copy /Y %FB_OUTPUT_DIR%\intl\*.* %FBBUILD_EMB_PACK_ROOT%\intl\ > nul
|
||||
@copy /Y %FB_OUTPUT_DIR%\udf\*.* %FBBUILD_EMB_PACK_ROOT%\udf\ > nul
|
||||
@copy /Y %FB_OUTPUT_DIR%\bin\msvc*.* %FBBUILD_EMB_PACK_ROOT% > nul
|
||||
@copy /Y %FB_OUTPUT_DIR%\msvc*.* %FBBUILD_EMB_PACK_ROOT% > nul
|
||||
if %MSVC_VERSION% EQU 8 (
|
||||
@copy /Y %FB_OUTPUT_DIR%\bin\Microsoft.VC80.CRT.manifest %FBBUILD_EMB_PACK_ROOT% > nul
|
||||
@copy /Y %FB_OUTPUT_DIR%\Microsoft.VC80.CRT.manifest %FBBUILD_EMB_PACK_ROOT% > nul
|
||||
)
|
||||
|
||||
if "%FBBUILD_SHIP_PDB%"=="ship_pdb" (
|
||||
@ -618,7 +619,7 @@ for %%v in (IPLicense.txt IDPLicense.txt ) do (
|
||||
)
|
||||
|
||||
:: And readme
|
||||
@copy %FB_ROOT_PATH%\builds\install\arch-specific\win32\readme.txt %FBBUILD_EMB_PACK_ROOT%\ > nul
|
||||
@copy %FB_GEN_DIR%\readmes\readme.txt %FBBUILD_EMB_PACK_ROOT%\ > nul
|
||||
|
||||
|
||||
::End of GEN_EMBEDDED
|
||||
@ -685,6 +686,22 @@ if %FBBUILD_ISX_PACK% NEQ 1 goto :EOF
|
||||
@goto :EOF
|
||||
|
||||
|
||||
:DO_MD5SUMS
|
||||
::=========
|
||||
:: Generate the md5sum checksum file
|
||||
::==================================
|
||||
if NOT DEFINED GNU_TOOLCHAIN (
|
||||
call :WARNING GNU_TOOLCHAIN variable not defined. Cannot generate md5 sums.
|
||||
@goto :EOF
|
||||
)
|
||||
@echo Generating md5sums for Firebird-%FBBUILD_PRODUCT_VER_STRING%-%FBBUILD_PACKAGE_NUMBER%
|
||||
|
||||
%GNU_TOOLCHAIN%\md5sum.exe %FBBUILD_INSTALL_IMAGES%\Firebird-%FBBUILD_PRODUCT_VER_STRING%?%FBBUILD_PACKAGE_NUMBER%*.* > %FBBUILD_INSTALL_IMAGES%\Firebird-%FBBUILD_PRODUCT_VER_STRING%-%FBBUILD_PACKAGE_NUMBER%.md5sum
|
||||
|
||||
::---------------
|
||||
@goto :EOF
|
||||
|
||||
|
||||
:HELP
|
||||
::===
|
||||
@echo.
|
||||
@ -719,6 +736,21 @@ if %FBBUILD_ISX_PACK% NEQ 1 goto :EOF
|
||||
@echo.
|
||||
@echo FB2_EXAMPLES=0 - Don't include examples in the install kit.
|
||||
@echo.
|
||||
@echo.
|
||||
@echo Required Files
|
||||
@echo.
|
||||
@echo To successfully package Firebird you will need to make sure several
|
||||
@echo packages are installed and correctly configured on your system.
|
||||
@echo.
|
||||
@echo o InnoSetup is needed to create the binary installer. See the header
|
||||
@echo of the .iss file to see which minimum version is required.
|
||||
@echo.
|
||||
@echo o 7ZIP is required to create the zip and embedded packages
|
||||
@echo.
|
||||
@echo o sed is required for packaging. Use the sed provided by
|
||||
@echo gnuwin32. The cygwin one is not guaranteed to work.
|
||||
@echo.
|
||||
|
||||
::End of HELP
|
||||
::-----------
|
||||
@goto :EOF
|
||||
@ -776,8 +808,6 @@ popd
|
||||
@if errorlevel 1 (goto :END)
|
||||
|
||||
@if not defined FB2_ISS_DEBUG (set FB2_ISS_DEBUG=0)
|
||||
::@if %FB2_ISS_DEBUG% equ 0 (SETLOCAL)
|
||||
|
||||
@if not defined FB2_EXAMPLES (set FB2_EXAMPLES=1)
|
||||
|
||||
@Echo.
|
||||
@ -857,6 +887,9 @@ if %FBBUILD_ISX_PACK% EQU 1 (
|
||||
@echo.
|
||||
)
|
||||
|
||||
@(@call :DO_MD5SUMS ) || (@echo Error calling DO_MD5SUMS & @goto :EOF)
|
||||
|
||||
|
||||
@echo.
|
||||
@echo Completed building installation kit(s)
|
||||
@echo.
|
||||
|
@ -44,6 +44,10 @@
|
||||
|
||||
function HasWI30: boolean;
|
||||
function HasNotWI30: boolean;
|
||||
|
||||
function SummarizeInstalledProducts: String;
|
||||
function AnalysisAssessment: boolean;
|
||||
|
||||
*)
|
||||
|
||||
|
||||
@ -358,9 +362,9 @@ begin
|
||||
dbg_Server := ProductsInstalledArray[product].ServerVersion;
|
||||
dbg_InstallType := ProductsInstalledArray[product].InstallType;
|
||||
|
||||
if FileExists(ProductsInstalledArray[product].Path + '\bin\fbclient.dll') then
|
||||
if FileExists(ProductsInstalledArray[product].Path + '\fbclient.dll') then
|
||||
ProductsInstalledArray[product].ClientVersion := GetInstalledVersion(
|
||||
ProductsInstalledArray[product].Path + '\bin\fbclient.dll',VerInt)
|
||||
ProductsInstalledArray[product].Path + '\fbclient.dll',VerInt)
|
||||
else
|
||||
ProductsInstalledArray[product].ClientVersion := gds32VersionString;
|
||||
|
||||
@ -375,15 +379,15 @@ begin
|
||||
///////////
|
||||
if ((ProductsInstalledArray[product].InstallType AND ClientInstall) = ClientInstall) then begin
|
||||
|
||||
GetVersionNumbersString( ProductsInstalledArray[product].Path+'\bin\gbak.exe',
|
||||
GetVersionNumbersString( ProductsInstalledArray[product].Path+'\gbak.exe',
|
||||
ProductsInstalledArray[product].GBAKVersion);
|
||||
If ProductsInstalledArray[product].GBAKVersion <> '' then begin
|
||||
ProductsInstalledArray[product].ActualVersion := ProductsInstalledArray[product].GBAKVersion;
|
||||
ProductsInstalledArray[product].InstallType := ProductsInstalledArray[product].InstallType + AdminInstall;
|
||||
end;
|
||||
|
||||
if FileExists(ProductsInstalledArray[product].Path+'\bin\fb_inet_server.exe') then begin
|
||||
GetVersionNumbersString( ProductsInstalledArray[product].Path+'\bin\fb_inet_server.exe',
|
||||
if FileExists(ProductsInstalledArray[product].Path+'\fb_inet_server.exe') then begin
|
||||
GetVersionNumbersString( ProductsInstalledArray[product].Path+'\fb_inet_server.exe',
|
||||
ProductsInstalledArray[product].ServerVersion);
|
||||
If ProductsInstalledArray[product].ServerVersion <> '' then begin
|
||||
ProductsInstalledArray[product].ActualVersion := ProductsInstalledArray[product].ServerVersion;
|
||||
@ -391,8 +395,8 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
if FileExists(ProductsInstalledArray[product].Path+'\bin\fbserver.exe') then begin
|
||||
GetVersionNumbersString( ProductsInstalledArray[product].Path+'\bin\fbserver.exe',
|
||||
if FileExists(ProductsInstalledArray[product].Path+'\fbserver.exe') then begin
|
||||
GetVersionNumbersString( ProductsInstalledArray[product].Path+'\fbserver.exe',
|
||||
ProductsInstalledArray[product].ServerVersion);
|
||||
If ProductsInstalledArray[product].ServerVersion <> '' then begin
|
||||
ProductsInstalledArray[product].ActualVersion := ProductsInstalledArray[product].ServerVersion;
|
||||
@ -400,8 +404,8 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
if FileExists(ProductsInstalledArray[product].Path+'\bin\ibserver.exe') then begin
|
||||
GetVersionNumbersString( ProductsInstalledArray[product].Path+'\bin\ibserver.exe',
|
||||
if FileExists(ProductsInstalledArray[product].Path+'\ibserver.exe') then begin
|
||||
GetVersionNumbersString( ProductsInstalledArray[product].Path+'\ibserver.exe',
|
||||
ProductsInstalledArray[product].ServerVersion);
|
||||
If ProductsInstalledArray[product].ServerVersion <> '' then begin
|
||||
ProductsInstalledArray[product].ActualVersion := ProductsInstalledArray[product].ServerVersion;
|
||||
@ -684,7 +688,7 @@ var
|
||||
|
||||
procedure SetupSharedFilesArray;
|
||||
//All shared files go in this list. Use
|
||||
// find /n "sharedfile" FirebirdInstall_15.iss
|
||||
// find /n "sharedfile" FirebirdInstall_20.iss
|
||||
//to list them in the order they appear in the setup script
|
||||
// Shared Files are defined as either:
|
||||
// - Files which are absolutely necessary for a functioning installation.
|
||||
@ -692,56 +696,57 @@ procedure SetupSharedFilesArray;
|
||||
// - Libraries
|
||||
// - License files
|
||||
begin
|
||||
SetArrayLength(SharedFileArray,36);
|
||||
SetArrayLength(SharedFileArray,35);
|
||||
|
||||
SharedFileArray[0].Filename := ExpandConstant('{app}')+'\IPLicense.txt';
|
||||
SharedFileArray[1].Filename := ExpandConstant('{app}')+'\IDPLicense.txt';
|
||||
SharedFileArray[2].Filename := ExpandConstant('{app}')+'\firebird.msg';
|
||||
SharedFileArray[3].Filename := ExpandConstant('{app}')+'\bin\gbak.exe';
|
||||
SharedFileArray[4].Filename := ExpandConstant('{app}')+'\bin\gfix.exe';
|
||||
SharedFileArray[5].Filename := ExpandConstant('{app}')+'\bin\gsec.exe';
|
||||
SharedFileArray[6].Filename := ExpandConstant('{app}')+'\bin\gsplit.exe';
|
||||
SharedFileArray[7].Filename := ExpandConstant('{app}')+'\bin\gstat.exe';
|
||||
SharedFileArray[8].Filename := ExpandConstant('{app}')+'\bin\fbguard.exe';
|
||||
SharedFileArray[9].Filename := ExpandConstant('{app}')+'\bin\fb_lock_print.exe';
|
||||
SharedFileArray[10].Filename := ExpandConstant('{app}')+'\bin\fb_inet_server.exe'
|
||||
SharedFileArray[11].Filename := ExpandConstant('{app}')+'\bin\fbserver.exe';
|
||||
SharedFileArray[12].Filename := ExpandConstant('{app}')+'\bin\ib_util.dll';
|
||||
SharedFileArray[13].Filename := ExpandConstant('{app}')+'\bin\instclient.exe';
|
||||
SharedFileArray[14].Filename := ExpandConstant('{app}')+'\bin\instreg.exe';
|
||||
SharedFileArray[15].Filename := ExpandConstant('{app}')+'\bin\instsvc.exe';
|
||||
SharedFileArray[0].Filename := ExpandConstant('{app}')+'IPLicense.txt';
|
||||
SharedFileArray[1].Filename := ExpandConstant('{app}')+'IDPLicense.txt';
|
||||
SharedFileArray[2].Filename := ExpandConstant('{app}')+'firebird.msg';
|
||||
SharedFileArray[3].Filename := ExpandConstant('{app}')+'gbak.exe';
|
||||
SharedFileArray[4].Filename := ExpandConstant('{app}')+'gfix.exe';
|
||||
SharedFileArray[5].Filename := ExpandConstant('{app}')+'gsec.exe';
|
||||
SharedFileArray[6].Filename := ExpandConstant('{app}')+'gsplit.exe';
|
||||
SharedFileArray[7].Filename := ExpandConstant('{app}')+'gstat.exe';
|
||||
SharedFileArray[8].Filename := ExpandConstant('{app}')+'fbguard.exe';
|
||||
SharedFileArray[9].Filename := ExpandConstant('{app}')+'fb_lock_print.exe';
|
||||
SharedFileArray[10].Filename := ExpandConstant('{app}')+'firebird.exe';
|
||||
SharedFileArray[11].Filename := ExpandConstant('{app}')+'ib_util.dll';
|
||||
SharedFileArray[12].Filename := ExpandConstant('{app}')+'instclient.exe';
|
||||
SharedFileArray[13].Filename := ExpandConstant('{app}')+'instreg.exe';
|
||||
SharedFileArray[14].Filename := ExpandConstant('{app}')+'instsvc.exe';
|
||||
|
||||
SharedFileArray[16].Filename := ExpandConstant('{sys}')+'\gds32.dll';
|
||||
SharedFileArray[17].Filename := ExpandConstant('{sys}')+'\fbclient.dll';
|
||||
SharedFileArray[15].Filename := ExpandConstant('{sys}')+'gds32.dll';
|
||||
SharedFileArray[16].Filename := ExpandConstant('{sys}')+'fbclient.dll';
|
||||
|
||||
SharedFileArray[18].Filename := ExpandConstant('{app}')+'\bin\fbclient.dll';
|
||||
SharedFileArray[17].Filename := ExpandConstant('{app}')+'fbclient.dll';
|
||||
|
||||
SharedFileArray[19].Filename := ExpandConstant('{app}')+'\bin\icuuc30.dll';
|
||||
SharedFileArray[20].Filename := ExpandConstant('{app}')+'\bin\icuin30.dll';
|
||||
SharedFileArray[21].Filename := ExpandConstant('{app}')+'\bin\icudt30.dll';
|
||||
SharedFileArray[18].Filename := ExpandConstant('{app}')+'icuuc30.dll';
|
||||
SharedFileArray[19].Filename := ExpandConstant('{app}')+'icuin30.dll';
|
||||
SharedFileArray[20].Filename := ExpandConstant('{app}')+'icudt30.dll';
|
||||
|
||||
SharedFileArray[22].Filename := ExpandConstant('{app}')+'\bin\msvcrt.dll';
|
||||
SharedFileArray[23].Filename := ExpandConstant('{app}')+'\bin\msvcr{#msvc_version}0.dll';
|
||||
SharedFileArray[24].Filename := ExpandConstant('{app}')+'\bin\msvcp{#msvc_version}0.dll';
|
||||
SharedFileArray[21].Filename := ExpandConstant('{app}')+'msvcrt.dll';
|
||||
SharedFileArray[22].Filename := ExpandConstant('{app}')+'msvcr{#msvc_version}0.dll';
|
||||
|
||||
SharedFileArray[25].Filename := ExpandConstant('{app}')+'\bin\fbintl.dll';
|
||||
|
||||
SharedFileArray[26].Filename := ExpandConstant('{app}')+'\UDF\ib_udf.dll';
|
||||
SharedFileArray[27].Filename := ExpandConstant('{app}')+'\UDF\fbudf.dll';
|
||||
SharedFileArray[23].Filename := ExpandConstant('{app}')+'fbintl.dll';
|
||||
SharedFileArray[24].Filename := ExpandConstant('{app}')+'UDF\ib_udf.dll';
|
||||
SharedFileArray[25].Filename := ExpandConstant('{app}')+'UDF\fbudf.dll';
|
||||
|
||||
|
||||
if UsingWinNT then
|
||||
SharedFileArray[28].Filename := ExpandConstant('{sys}')+'\Firebird2Control.cpl'
|
||||
SharedFileArray[26].Filename := ExpandConstant('{sys}')+'Firebird2Control.cpl'
|
||||
else
|
||||
SharedFileArray[28].Filename := ExpandConstant('{sys}')+'\FIREBI~1.CPL';
|
||||
SharedFileArray[26].Filename := ExpandConstant('{sys}')+'FIREBI~1.CPL';
|
||||
|
||||
SharedFileArray[29].Filename := ExpandConstant('{app}')+'aliases.conf';
|
||||
SharedFileArray[30].Filename := ExpandConstant('{app}')+'firebird.conf';
|
||||
SharedFileArray[31].Filename := ExpandConstant('{app}')+'firebird.log';
|
||||
SharedFileArray[32].Filename := ExpandConstant('{app}')+'security2.fdb';
|
||||
SharedFileArray[33].Filename := ExpandConstant('{app}')+'fbtrace.conf';
|
||||
SharedFileArray[34].Filename := ExpandConstant('{app}')+'\bin\fbsvcmgr.exe';
|
||||
SharedFileArray[35].Filename := ExpandConstant('{app}')+'\bin\fbrmclib.dll';
|
||||
SharedFileArray[27].Filename := ExpandConstant('{app}')+'aliases.conf';
|
||||
SharedFileArray[28].Filename := ExpandConstant('{app}')+'firebird.conf';
|
||||
SharedFileArray[29].Filename := ExpandConstant('{app}')+'firebird.log';
|
||||
SharedFileArray[30].Filename := ExpandConstant('{app}')+'security3.fdb';
|
||||
SharedFileArray[31].Filename := ExpandConstant('{app}')+'fbtrace.conf';
|
||||
SharedFileArray[32].Filename := ExpandConstant('{app}')+'fbsvcmgr.exe';
|
||||
SharedFileArray[33].Filename := ExpandConstant('{app}')+'fbrmclib.dll';
|
||||
SharedFileArray[34].Filename := ExpandConstant('{app}')+'fbtracemgr.exe';
|
||||
|
||||
// FIXME
|
||||
// Add in WOW64 here.
|
||||
|
||||
end;
|
||||
|
||||
@ -804,7 +809,7 @@ begin
|
||||
RegQueryStringValue(HKEY_LOCAL_MACHINE,
|
||||
'SOFTWARE\FirebirdSQL\Firebird\CurrentVersion','RootDirectory', FirebirdDir);
|
||||
if (FirebirdDir<>'') then
|
||||
GetInstalledVersion(FirebirdDir+'\bin\gbak.exe', FirebirdVer);
|
||||
GetInstalledVersion(FirebirdDir+'\gbak.exe', FirebirdVer);
|
||||
|
||||
Result := FirebirdDir;
|
||||
end;
|
||||
@ -821,7 +826,7 @@ begin
|
||||
RegQueryStringValue(HKEY_LOCAL_MACHINE,
|
||||
'SOFTWARE\Borland\InterBase\CurrentVersion','RootDirectory', InterBaseDir);
|
||||
if ( InterBaseDir <> '' ) then
|
||||
GetInstalledVersion(InterBaseDir+'\bin\gbak.exe',InterBaseVer);
|
||||
GetInstalledVersion(InterBaseDir+'\gbak.exe',InterBaseVer);
|
||||
|
||||
Result := InterBaseDir;
|
||||
end;
|
||||
@ -993,3 +998,142 @@ begin
|
||||
result := NOT HasWI30;
|
||||
end;
|
||||
|
||||
function SummarizeInstalledProducts: String;
|
||||
var
|
||||
InstallSummaryArray: TArrayofString;
|
||||
product: Integer;
|
||||
i: Integer;
|
||||
StatusDescription: String;
|
||||
InstallSummary: String;
|
||||
prodstr: String;
|
||||
begin
|
||||
|
||||
//do nothing gracefully if we are called by accident.
|
||||
if ProductsInstalledCount = 0 then
|
||||
exit;
|
||||
|
||||
SetArrayLength(InstallSummaryArray,ProductsInstalledCount);
|
||||
for product := 0 to MaxProdInstalled -1 do begin
|
||||
if (ProductsInstalledArray[product].InstallType <> NotInstalled) then begin
|
||||
InstallSummaryArray[i] := Format(ProductsInstalledArray[product].Description, [ProductsInstalledArray[product].ActualVersion]);
|
||||
|
||||
if (ProductsInstalledArray[product].ServerVersion <> '') then begin
|
||||
if ((ProductsInstalledArray[product].InstallType AND ClassicServerInstall) = ClassicServerInstall) then
|
||||
InstallSummaryArray[i] := InstallSummaryArray[i] + ' '+ExpandConstant('{cm:ClassicServerInstall}')
|
||||
else
|
||||
InstallSummaryArray[i] := InstallSummaryArray[i] + ' '+ExpandConstant('{cm:SuperServerInstall}')
|
||||
end
|
||||
else begin
|
||||
if (ProductsInstalledArray[product].GBAKVersion <> '') then
|
||||
InstallSummaryArray[i] := InstallSummaryArray[i] + ' '+ExpandConstant('{cm:DeveloperInstall}')
|
||||
else
|
||||
InstallSummaryArray[i] := InstallSummaryArray[i] + ' '+ExpandConstant('{cm:ClientInstall}')
|
||||
end;
|
||||
|
||||
if ((ProductsInstalledArray[product].InstallType AND BrokenInstall) = BrokenInstall) then
|
||||
InstallSummaryArray[i] := InstallSummaryArray[i]
|
||||
+ #13 + ExpandConstant('{cm:PreviousInstallBroken}')
|
||||
else
|
||||
InstallSummaryArray[i] := InstallSummaryArray[i]
|
||||
+ #13 + ExpandConstant('{cm:PreviousInstallGood}')
|
||||
;
|
||||
|
||||
i:= i+1;
|
||||
end;
|
||||
end;
|
||||
|
||||
for i:=0 to ProductsInstalledCount-1 do
|
||||
InstallSummary := InstallSummary + InstallSummaryArray[i] + #13;
|
||||
|
||||
// If FB21 is installed and installed platform does not match current platform
|
||||
// then notify user.
|
||||
#if PlatformTarget == "x64"
|
||||
If ((ProductsInstalled AND FB21_x64 ) = FB21_x64 ) then
|
||||
#else
|
||||
If ((ProductsInstalled AND FB21 ) = FB21 ) then
|
||||
#endif
|
||||
InstallSummary := InstallSummary
|
||||
+#13 + ExpandConstant('{cm:InstallSummarySuffix1}')
|
||||
+#13 + ExpandConstant('{cm:InstallSummarySuffix2}')
|
||||
+#13 + ExpandConstant('{cm:InstallSummarySuffix3}')
|
||||
+#13 + ExpandConstant('{cm:InstallSummarySuffix4}')
|
||||
+#13
|
||||
;
|
||||
|
||||
if ProductsInstalledCount = 1 then
|
||||
StatusDescription := Format(ExpandConstant('{cm:InstalledProducts}'), [IntToStr(ProductsInstalledCount), ExpandConstant('{cm:InstalledProdCountSingular}')])
|
||||
else
|
||||
StatusDescription := Format(ExpandConstant('{cm:InstalledProducts}'), [IntToStr(ProductsInstalledCount), ExpandConstant('{cm:InstalledProdCountPlural}')]);
|
||||
|
||||
Result := StatusDescription
|
||||
+#13
|
||||
+#13 + InstallSummary
|
||||
+#13 + ExpandConstant('{cm:InstallSummaryCancel1}')
|
||||
+#13 + ExpandConstant('{cm:InstallSummaryCancel2}')
|
||||
+#13
|
||||
+#13 + ExpandConstant('{cm:InstallSummaryCancel3}')
|
||||
+#13
|
||||
end;
|
||||
|
||||
function AnalysisAssessment: boolean;
|
||||
var
|
||||
MsgText: String;
|
||||
MsgResult: Integer;
|
||||
VerString: String;
|
||||
begin
|
||||
result := false;
|
||||
|
||||
//We've got all this information. What do we do with it?
|
||||
|
||||
if ProductsInstalledCount = 0 then begin
|
||||
result := true;
|
||||
exit;
|
||||
end;
|
||||
|
||||
|
||||
//If existing install of the same majorver.minorver is
|
||||
//found then we can upgrade it.
|
||||
if ( (ProductsInstalledCount = 1) AND
|
||||
#if PlatformTarget == "x64"
|
||||
((ProductsInstalled AND FB21_x64 ) = FB21_x64 ) ) then begin
|
||||
#else
|
||||
((ProductsInstalled AND FB21 ) = FB21 ) ) then begin
|
||||
#endif
|
||||
result := true;
|
||||
exit;
|
||||
end
|
||||
;
|
||||
|
||||
if ForceInstall then begin
|
||||
result := true;
|
||||
exit;
|
||||
end;
|
||||
|
||||
//Otherwise, show user the analysis report.
|
||||
MsgText := SummarizeInstalledProducts;
|
||||
MsgResult := MsgBox(MsgText,mbConfirmation,MB_YESNO);
|
||||
if (MsgResult = IDNO ) then
|
||||
result := true;
|
||||
//but we don't configure
|
||||
if ((InstallAndConfigure AND Configure) = Configure) then
|
||||
InstallAndConfigure := InstallAndConfigure - Configure;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
// Dummy functions to get us started
|
||||
{*function UseSSTask: boolean;
|
||||
begin
|
||||
result := false
|
||||
end;
|
||||
|
||||
function UseSCTask: boolean;
|
||||
begin
|
||||
result := false
|
||||
end;
|
||||
|
||||
function UseCSTask: boolean;
|
||||
begin
|
||||
result := false
|
||||
end;
|
||||
*}
|
@ -0,0 +1,224 @@
|
||||
(* Initial Developer's Public License.
|
||||
The contents of this file are subject to the Initial Developer's Public
|
||||
License Version 1.0 (the "License"). You may not use this file except
|
||||
in compliance with the License. You may obtain a copy of the License at
|
||||
http://www.ibphoenix.com?a=ibphoenix&page=ibp_idpl
|
||||
Software distributed under the License is distributed on an "AS IS" basis,
|
||||
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
for the specific language governing rights and limitations under the
|
||||
License.
|
||||
|
||||
The Original Code is copyright 2007 Paul Reeves.
|
||||
|
||||
The Initial Developer of the Original Code is Paul Reeves.
|
||||
|
||||
All Rights Reserved.
|
||||
|
||||
GUI related functions for the Firebird Installer.
|
||||
|
||||
o ResizeWizardFormHeight
|
||||
- Change height of Wizard Form
|
||||
- Adjust the position of each control to work in new height.
|
||||
|
||||
o ResizeWizardFormWidth
|
||||
- Make form wider
|
||||
|
||||
o MoveOuterNoteBook
|
||||
- Move OuterNotebook and Bevel.
|
||||
Value moved should match value passed to ResizeWizardFormWidth.
|
||||
|
||||
o EnumerateObjectList;
|
||||
- Simple demonstration of object enumeration.
|
||||
|
||||
|
||||
*)
|
||||
|
||||
var
|
||||
CompGroup1Array: array of string;
|
||||
CompGroup2Array: array of string;
|
||||
CompGroup3Array: array of string;
|
||||
CompGroupButtonsArray: array of string;
|
||||
CompGroup1, CompGroup2, CompGroup3, CompGroupButtons: TStringList;
|
||||
|
||||
// This is a non-exhaustive list of components that need to be repositioned
|
||||
// and/or resized if the form size is changed. Use EnumerateObjectList to
|
||||
// get a full list of components.
|
||||
procedure SetupWizardFormComponentsArrays;
|
||||
var
|
||||
i, len: integer;
|
||||
begin
|
||||
|
||||
SetArrayLength(CompGroup1Array,24);
|
||||
|
||||
CompGroup1Array[0]:='WelcomePage';
|
||||
CompGroup1Array[1]:='WelcomeLabel2';
|
||||
CompGroup1Array[2]:='InnerPage';
|
||||
CompGroup1Array[3]:='InnerNotebook';
|
||||
CompGroup1Array[4]:='LicensePage';
|
||||
CompGroup1Array[5]:='LicenseMemo';
|
||||
CompGroup1Array[6]:='PasswordPage';
|
||||
CompGroup1Array[7]:='InfoBeforePage';
|
||||
CompGroup1Array[8]:='InfoBeforeMemo';
|
||||
CompGroup1Array[9]:='UserInfoPage';
|
||||
CompGroup1Array[10]:='SelectDirPage';
|
||||
CompGroup1Array[11]:='SelectComponentsPage';
|
||||
CompGroup1Array[12]:='ComponentsList';
|
||||
CompGroup1Array[13]:='SelectProgramGroupPage';
|
||||
CompGroup1Array[14]:='SelectTasksPage';
|
||||
CompGroup1Array[15]:='TasksList';
|
||||
CompGroup1Array[16]:='ReadyPage';
|
||||
CompGroup1Array[17]:='ReadyMemo';
|
||||
CompGroup1Array[18]:='PreparingPage';
|
||||
CompGroup1Array[19]:='InstallingPage';
|
||||
CompGroup1Array[20]:='InfoAfterPage';
|
||||
CompGroup1Array[21]:='InfoAfterMemo';
|
||||
CompGroup1Array[22]:='FinishedPage';
|
||||
CompGroup1Array[23]:='OuterNotebook';
|
||||
|
||||
CompGroup1 := TStringList.create;
|
||||
|
||||
for i := 0 to GetArrayLength( CompGroup1Array )-1 do begin
|
||||
CompGroup1.add( CompGroup1Array[i] );
|
||||
CompGroup1.objects[i] := (WizardForm.FindComponent(CompGroup1Array[i]));
|
||||
end;
|
||||
|
||||
SetArrayLength(CompGroup2Array,8);
|
||||
CompGroup2Array[0] := 'Bevel';
|
||||
CompGroup2Array[1] := 'BeveledLabel';
|
||||
CompGroup2Array[2] := 'LicenseAcceptedRadio';
|
||||
CompGroup2Array[3] := 'LicenseNotAcceptedRadio';
|
||||
CompGroup2Array[4] := 'DiskSpaceLabel';
|
||||
CompGroup2Array[5] := 'ComponentsDiskSpaceLabel';
|
||||
CompGroup2Array[6] := 'NoIconsCheck';
|
||||
CompGroup2Array[7] := 'RunList';
|
||||
|
||||
CompGroup2 := TStringList.create;
|
||||
for i := 0 to GetArrayLength( CompGroup2Array )-1 do begin
|
||||
CompGroup2.add(CompGroup2Array[i]);
|
||||
CompGroup2.objects[i] := (WizardForm.FindComponent(CompGroup2Array[i]));
|
||||
end;
|
||||
|
||||
SetArrayLength(CompGroup3Array,1);
|
||||
CompGroup3Array[0] := 'WizardBitmapImage';
|
||||
CompGroup3 := TStringList.create;
|
||||
for i:=0 to GetArrayLength(CompGroup3Array)-1 do begin
|
||||
CompGroup3.add(CompGroup3Array[i]);
|
||||
CompGroup3.objects[i] := (WizardForm.FindComponent(CompGroup3Array[i]));
|
||||
end;
|
||||
|
||||
SetArrayLength(CompGroupButtonsArray,3);
|
||||
CompGroupButtonsArray[0] := 'BackButton';
|
||||
CompGroupButtonsArray[1] := 'NextButton';
|
||||
CompGroupButtonsArray[2] := 'CancelButton';
|
||||
CompGroupButtons := TStringList.create;
|
||||
for i:=0 to GetArrayLength(CompGroupButtonsArray)-1 do begin
|
||||
CompGroupButtons.add(CompGroupButtonsArray[i]);
|
||||
CompGroupButtons.objects[i] := (WizardForm.FindComponent(CompGroupButtonsArray[i]));
|
||||
end;
|
||||
|
||||
end;
|
||||
|
||||
procedure ResizeWizardFormHeight(AValue: Integer);
|
||||
var
|
||||
i: integer;
|
||||
begin
|
||||
wizardform.height := wizardform.height+AValue;
|
||||
wizardform.top := wizardform.top - (AValue div 2);
|
||||
|
||||
// Group 1 - reset height of components
|
||||
for i:=0 to GetArrayLength(CompGroup1Array)-1 do
|
||||
TControl(CompGroup1.objects[i]).height := TControl(CompGroup1.objects[i]).height + Avalue;
|
||||
|
||||
// Group 2 - reset top of components
|
||||
for i:=0 to GetArrayLength(CompGroup2Array)-1 do
|
||||
TControl(CompGroup2.objects[i]).top := TControl(CompGroup2.objects[i]).top + AValue;
|
||||
|
||||
// Group 3 - reset top of components but keep 'centered' vertically.
|
||||
for i:=0 to GetArrayLength(CompGroup3Array)-1 do
|
||||
TControl( CompGroup3.objects[i]).top := TControl(CompGroup3.objects[i]).top + (AValue div 2);
|
||||
|
||||
// Group Buttons - reset top of components
|
||||
for i:=0 to GetArrayLength(CompGroupButtonsArray)-1 do
|
||||
TControl(CompGroupButtons.objects[i]).top := TControl(CompGroupButtons.objects[i]).top + AValue;
|
||||
|
||||
end;
|
||||
|
||||
procedure ResizeWizardFormWidth(AValue: Integer);
|
||||
var
|
||||
i: integer;
|
||||
begin
|
||||
wizardform.width := wizardform.width + AValue;
|
||||
wizardform.left := wizardform.left - (AValue div 2);
|
||||
|
||||
// Group 1 - reset width of components
|
||||
for i:=0 to GetArrayLength(CompGroup1Array)-1 do begin
|
||||
TControl(CompGroup1.objects[i]).width := TControl(CompGroup1.objects[i]).width + Avalue;
|
||||
// TControl(CompGroup1.objects[i]).left := TControl(CompGroup1.objects[i]).left + (Avalue div 2);
|
||||
end;
|
||||
|
||||
// Group 2 - reset left of components
|
||||
for i:=0 to GetArrayLength(CompGroup2Array)-1 do begin
|
||||
TControl(CompGroup2.objects[i]).left := TControl(CompGroup2.objects[i]).left + AValue;
|
||||
TControl(CompGroup2.objects[i]).width := TControl(CompGroup2.objects[i]).width + (AValue div 2);
|
||||
end;
|
||||
|
||||
// Group 3 - reset left of components but keep 'centered' horizontally.
|
||||
for i:=0 to GetArrayLength(CompGroup3Array)-1 do
|
||||
TControl( CompGroup3.objects[i]).left := TControl(CompGroup3.objects[i]).left - (AValue div 2);
|
||||
|
||||
// Group 2 - reset left of buttons
|
||||
for i:=0 to GetArrayLength(CompGroupButtonsArray)-1 do begin
|
||||
TControl(CompGroupButtons.objects[i]).left := TControl(CompGroupButtons.objects[i]).left + AValue;
|
||||
end;
|
||||
|
||||
end;
|
||||
|
||||
procedure MoveOuterNoteBookRight(AValue: Integer);
|
||||
begin
|
||||
with wizardform do begin
|
||||
OuterNotebook.left := wizardform.OuterNotebook.left + AValue;
|
||||
Bevel.left := Bevel.left + AValue;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure MoveOuterNoteBookLeft(AValue: Integer);
|
||||
begin
|
||||
with wizardform do begin
|
||||
OuterNotebook.left := wizardform.OuterNotebook.left - AValue;
|
||||
Bevel.left := Bevel.left - AValue;
|
||||
end;
|
||||
end;
|
||||
|
||||
const
|
||||
group1 = ' group one';
|
||||
group2 = ' group two';
|
||||
group3 = ' group three';
|
||||
group4 = ' group not allocated.';
|
||||
|
||||
procedure EnumerateObjectList;
|
||||
//Walk through the components on the InnoSetup install wizard
|
||||
var
|
||||
Alist: TStringList;
|
||||
i, j: integer;
|
||||
aComponent: string;
|
||||
|
||||
begin
|
||||
Alist := TStringList.create;
|
||||
for i := 0 to WizardForm.ComponentCount -1 do begin
|
||||
aComponent := WizardForm.Components[i].name;
|
||||
if CompGroup1.IndexOf( aComponent ) > -1 then
|
||||
aComponent := aComponent + group1
|
||||
else if CompGroup2.IndexOf( aComponent ) > -1 then
|
||||
aComponent := aComponent + group2
|
||||
else if CompGroup3.IndexOf( aComponent ) > -1 then
|
||||
aComponent := aComponent + group3
|
||||
else
|
||||
aComponent := aComponent + group4;
|
||||
|
||||
|
||||
AList.add( aComponent );
|
||||
end;
|
||||
WizardForm.INFOBEFOREMEMO.lines.assign(Alist);
|
||||
end;
|
||||
|
||||
|
@ -48,6 +48,10 @@ Function Prototypes
|
||||
procedure CreateHelpDlg;
|
||||
function ShowHelpDlg: Integer;
|
||||
procedure CloseHelpDlg;
|
||||
procedure CreateDebugDlg(aString: String; aDescription: String);
|
||||
function ShowDebugDlg(aString: String; aDescription: String): Integer;
|
||||
procedure CloseDebugDlg;
|
||||
|
||||
*)
|
||||
|
||||
(*
|
||||
@ -62,12 +66,18 @@ InnoSetup Help Extract on Windows version strings:
|
||||
Windows NT versions:
|
||||
4.0.1381 Windows NT 4.0
|
||||
5.0.2195 Windows 2000
|
||||
5.01.2600 Windows XP
|
||||
or Windows XP 64-Bit Edition Version 2002 (Itanium)
|
||||
5.02.3790 Windows Server 2003
|
||||
or Windows XP x64 Edition (AMD64/EM64T)
|
||||
or Windows XP 64-Bit Edition Version 2003 (Itanium)
|
||||
6.0.6000 Windows Vista
|
||||
5.01.2600 Windows XP
|
||||
or Windows XP 64-Bit Edition Version 2002 (Itanium)
|
||||
5.02.3790 Windows Server 2003
|
||||
or Windows XP x64 Edition (AMD64/EM64T)
|
||||
or Windows XP 64-Bit Edition Version 2003 (Itanium)
|
||||
6.0.6000 Windows Vista
|
||||
6.0.6001 Windows Vista with Service Pack 1
|
||||
or Windows Server 2008
|
||||
6.0.6002 Windows Vista with Service Pack 2
|
||||
6.1.7600 Windows 7
|
||||
or Windows Server 2008 R2
|
||||
|
||||
|
||||
*)
|
||||
|
||||
@ -93,9 +103,18 @@ v3.1 3.1.4000.2435 Released with a fix to address the issue
|
||||
discussed in KB898628. This is the latest version
|
||||
of Windows Installer 3.1.
|
||||
v4.0 4.0.6000.16386 Released with Windows Vista.
|
||||
v4.0 4.0.6001.16531 or greater Released with Windows Vista SP1 and
|
||||
v4.0 4.0.6001.16531 Released with Windows Vista SP1 and
|
||||
Windows Server 2008.
|
||||
|
||||
v4.5 4.5.6002.18005 Released with Windows Vista with Service Pack 2 (SP2)
|
||||
and Windows Server 2008 with Service Pack (SP2.)
|
||||
v4.5 4.5.6000.20817 Released as a redistributable for Windows Vista.
|
||||
v4.5 4.5.6001.22162 Released as a redistributable for Windows Server 2008
|
||||
and Windows Vista with SP1.
|
||||
v4.5 4.5.6001.22159 Released as a redistributable for Windows XP with Service Pack 2 (SP2) and later,
|
||||
and Windows Server 2003 with SP1 and later.
|
||||
v5.0 5.0.7600.16385 or greater Released with Windows Server 2008 R2
|
||||
and Windows 7.
|
||||
|
||||
(NB1 - msi.dll stores the correct version number and is updated
|
||||
automatically by Windows Update. msiexec.exe will be the original shipped version.
|
||||
|
||||
@ -128,10 +147,48 @@ var
|
||||
Version: TWindowsVersion;
|
||||
begin
|
||||
GetWindowsVersionEx(Version);
|
||||
if (Version.Major = 6) and (Version.Minor = 0) then
|
||||
if ( Version.Major = 6 ) and ( Version.Minor = 0 ) and ( Version.build = 6000 )then
|
||||
result := true;
|
||||
end;
|
||||
|
||||
function IsVistaSP1: boolean;
|
||||
var
|
||||
Version: TWindowsVersion;
|
||||
begin
|
||||
GetWindowsVersionEx(Version);
|
||||
if ( Version.Major = 6 ) and ( Version.Minor = 0 ) and ( Version.build = 6001 )then
|
||||
result := true;
|
||||
end;
|
||||
|
||||
function IsWin2K8R1: boolean;
|
||||
var
|
||||
Version: TWindowsVersion;
|
||||
begin
|
||||
GetWindowsVersionEx(Version);
|
||||
if ( Version.Major = 6 ) and ( Version.Minor = 0 ) and ( Version.build = 6001 )then
|
||||
result := true;
|
||||
end;
|
||||
|
||||
function IsWinSeven: boolean;
|
||||
var
|
||||
Version: TWindowsVersion;
|
||||
begin
|
||||
GetWindowsVersionEx(Version);
|
||||
if (Version.Major = 6) and (Version.Minor = 1) then
|
||||
result := true;
|
||||
end;
|
||||
|
||||
//This test is identical to the test for Win7
|
||||
function IsWin2K8R2: boolean;
|
||||
var
|
||||
Version: TWindowsVersion;
|
||||
begin
|
||||
GetWindowsVersionEx(Version);
|
||||
if (Version.Major = 6) and (Version.Minor = 1) then
|
||||
result := true;
|
||||
end;
|
||||
|
||||
|
||||
function IsWin2k3: boolean;
|
||||
var
|
||||
Version: TWindowsVersion;
|
||||
@ -436,11 +493,6 @@ begin
|
||||
HelpDlg.ActiveControl := OKButton;
|
||||
end;
|
||||
|
||||
function ShowHelpDlg: Integer;
|
||||
begin
|
||||
result := HelpDlg.ShowModal;
|
||||
end;
|
||||
|
||||
procedure CloseHelpDlg;
|
||||
begin
|
||||
with HelpDlg do begin
|
||||
@ -449,4 +501,68 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
function ShowHelpDlg: Integer;
|
||||
begin
|
||||
CreateHelpDlg;
|
||||
result := HelpDlg.ShowModal;
|
||||
CloseHelpDlg;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
|
||||
// Add a simple debug dialogue
|
||||
var
|
||||
DebugDlg: TForm;
|
||||
|
||||
procedure CreateDebugDlg(aString: String; ADescription: String);
|
||||
var
|
||||
DebugText: TMemo;
|
||||
DebugDescription: TLabel;
|
||||
OKButton: TButton;
|
||||
begin
|
||||
DebugDlg := TForm.create(nil);
|
||||
with DebugDlg do begin
|
||||
BorderStyle := bsSizeable;
|
||||
Position := poScreenCenter;
|
||||
ClientWidth := 450;
|
||||
ClientHeight := 350;
|
||||
Caption := 'Firebird Installation - command-line parameters.';
|
||||
end;
|
||||
DebugText := TMemo.Create(DebugDlg);
|
||||
with DebugText do begin
|
||||
Parent := DebugDlg;
|
||||
ScrollBars := ssVertical;
|
||||
Lines.Text :=aString;
|
||||
Align := alTop;
|
||||
Height := 200;
|
||||
ReadOnly := True;
|
||||
end;
|
||||
OKButton := TButton.create(DebugDlg);
|
||||
with OKButton do begin
|
||||
Parent := DebugDlg;
|
||||
Left := (Parent.width div 2) - width div 2;
|
||||
top := Parent.ClientHeight - 40;
|
||||
Caption := 'OK';
|
||||
ModalResult := mrOK;
|
||||
end;
|
||||
DebugDlg.ActiveControl := OKButton;
|
||||
|
||||
end;
|
||||
|
||||
procedure CloseDebugDlg;
|
||||
begin
|
||||
with DebugDlg do begin
|
||||
Close;
|
||||
Free;
|
||||
end;
|
||||
end;
|
||||
|
||||
function ShowDebugDlg(aString: String; aDescription: String): Integer;
|
||||
begin
|
||||
CreateDebugDlg(aString,aDescription);
|
||||
result := DebugDlg.ShowModal;
|
||||
CloseDebugDlg;
|
||||
end;
|
||||
|
||||
|
||||
|
1181
builds/install/arch-specific/win32/FirebirdInstall_30.iss
Normal file
1181
builds/install/arch-specific/win32/FirebirdInstall_30.iss
Normal file
File diff suppressed because it is too large
Load Diff
@ -1,7 +1,7 @@
|
||||
|
||||
==========================================
|
||||
Firebird 2.5.0 Beta 2 (Windows Build)
|
||||
==========================================
|
||||
====================================
|
||||
Firebird $MAJOR.$MINOR.$RELEASE (Windows Build)
|
||||
====================================
|
||||
|
||||
|
||||
o Introduction
|
||||
@ -12,13 +12,13 @@ o Reporting Bugs
|
||||
Introduction
|
||||
============
|
||||
|
||||
Welcome to Firebird 2.5.
|
||||
Welcome to Firebird $MAJOR.$MINOR.
|
||||
|
||||
|
||||
Intended Users
|
||||
==============
|
||||
|
||||
This is a beta version of Firebird.
|
||||
This is a pre-alpha version of Firebird.
|
||||
|
||||
It is not intended for production use. It is for
|
||||
test purposes only.
|
||||
@ -39,9 +39,10 @@ version of Firebird!
|
||||
|
||||
Please don't use the Firebird-devel list for technical
|
||||
support unless the question specifically relates to a
|
||||
new feature in Firebird 2.5
|
||||
new feature in Firebird $MAJOR.$MINOR
|
||||
|
||||
|
||||
Happy Testing!
|
||||
|
||||
From the Firebird team.
|
||||
|
||||
|
@ -15,19 +15,20 @@ en.UseApplicationTaskMsg=Run as an &Application?
|
||||
en.TaskGroupDescription=Run Firebird server as:
|
||||
en.UseServiceTask=Run as a &Service?
|
||||
en.AutoStartTask=Start &Firebird automatically everytime you boot up?
|
||||
en.SuperClassicTask=Use SuperClassic?
|
||||
en.CopyFbClientToSysTask=Copy &Firebird client library to <system> directory?
|
||||
en.CopyFbClientAsGds32Task=Generate client library as GDS32.DLL for &legacy app. support?
|
||||
en.InstallCPLAppletTask="Install Control &Panel Applet?"
|
||||
en.InstallCPLAppletTask=Install Control &Panel Applet?
|
||||
en.instreg=Updating the registry
|
||||
en.instclientCopyFbClient=Copying fbclient to the <sys> directory
|
||||
en.instclientGenGds32=Generating gds32.dll for <sys> directory
|
||||
en.instclientDecLibCountGds32="Decrementing shared lib count for gds32 and removing it if appropriate."
|
||||
en.instclientDecLibCountFbClient="Decrementing shared lib count for fbclient and removing it if appropriate."
|
||||
en.instclientDecLibCountGds32=Decrementing shared lib count for gds32 and removing it if appropriate.
|
||||
en.instclientDecLibCountFbClient=Decrementing shared lib count for fbclient and removing it if appropriate.
|
||||
en.instsvcSetup=Setting up the service
|
||||
en.instsvcStartQuestion=Start Firebird Service now?
|
||||
en.instsvcStartMsg=Starting the server
|
||||
en.instsvcStopMsg="Stopping the service"
|
||||
en.instsvcRemove="Removing the service"
|
||||
en.instsvcStopMsg=Stopping the service
|
||||
en.instsvcRemove=Removing the service
|
||||
en.instappStartQuestion=Start Firebird now?
|
||||
en.instappStartMsg=Starting the server
|
||||
|
||||
@ -70,4 +71,9 @@ en.RunISQL=Run command-line based Interactive SQL tool
|
||||
|
||||
en.ReadmeFile=readme.txt
|
||||
en.InstallationReadmeFile=installation_readme.txt
|
||||
|
||||
;en.IncompleteTranslationNotice=This document is not up-to-date. Please refer to the original english language version for the latest information.
|
||||
en.RunCS=Run Firebird Classic server
|
||||
en.RunSC=Run Firebird SuperClassic server
|
||||
en.RunSS=Run Firebird SuperServer
|
||||
en.ServerTaskDescription=Choose Server Architecture:
|
||||
en.initSecurityDb=Adding SYSDBA to security database.
|
@ -9,11 +9,12 @@ documentatation i18n should be available separately. I18n is a
|
||||
good thing, but bloating the installer with large amounts of translated
|
||||
documentation is not desirable.
|
||||
|
||||
The current version of InnoSetup - 4.2.7 - provides generic support for
|
||||
the following languages:
|
||||
The current version of InnoSetup used by Firebird $MAJOR.$MINOR - 5.4.2 - provides
|
||||
generic support for the following languages:
|
||||
|
||||
Catalan, Czech, Dutch, French, German, Norwegian, Polish,
|
||||
PortugueseStd, Russian and Slovenian.
|
||||
Basque, BrazilianPortuguese, Catalan, Czech, Danish, Dutch, Finnish, French,
|
||||
German, Hebrew, Hungarian, Italian, Japanese, Norwegian, Polish, Portuguese,
|
||||
Russian, Slovak, Slovenian, and Spanish
|
||||
|
||||
In addition, the InnoSetup user community has made other language packs
|
||||
available for download. See here for details:
|
||||
@ -23,37 +24,35 @@ available for download. See here for details:
|
||||
Therefore adding i18n support to the Firebird installer is extremely
|
||||
simple as all we need are translations of the Firebird specific messages.
|
||||
|
||||
Currently the Firebird installer has support for English, French, German,
|
||||
Portuguese (standard), Hungarian and Slovenian installs. So there are still
|
||||
opportunities for others to provide support for their native language.
|
||||
Currently the Firebird installer has support for Bosnian, Czech, Spanish,
|
||||
French, German, Hungarian, Italian, Polish, Portuguese (standard), Russian,
|
||||
Slovakian and Slovenian installs. So there are still opportunities for others
|
||||
to provide support for their native language.
|
||||
|
||||
|
||||
How to add new languages
|
||||
------------------------
|
||||
|
||||
The simplest way to understand this is to study the implementation of
|
||||
the French translation. The steps to follow are these:
|
||||
an existing translation. The steps to follow are these:
|
||||
|
||||
o The Win32 install files are located in install\arch-specific\win32.
|
||||
This sub-directory is located as follows:
|
||||
|
||||
Firebird 1.5 - firebird2\src
|
||||
Firebird 2.0 - firebird2\builds
|
||||
Firebird 2.n - firebird2\builds
|
||||
Firebird 3.n - firebird2\builds
|
||||
|
||||
o You can use anonymous CVS to checkout the Win32 install kit with these
|
||||
commands:
|
||||
o You can use a tool such as TortoiseSVN to checkout the Win32 install
|
||||
kit. Just open the SVN checkout dialogue and enter something similar
|
||||
to this Repository URL:
|
||||
https://firebird.svn.sourceforge.net/svnroot/firebird/firebird/branch/B2_5_Release/builds/install/arch-specific/win32
|
||||
or this:
|
||||
https://firebird.svn.sourceforge.net/svnroot/firebird/firebird/tags/R2_5_1/builds/install/arch-specific/win32
|
||||
For 2.1 the equivalent URLs would be:
|
||||
https://firebird.svn.sourceforge.net/svnroot/firebird/firebird/branch/B2_1_Release/builds/install/arch-specific/win32
|
||||
https://firebird.svn.sourceforge.net/svnroot/firebird/firebird/tags/R2_1_4/builds/install/arch-specific/win32
|
||||
|
||||
[login]
|
||||
|
||||
cvs -d:pserver:anonymous@firebird.cvs.sourceforge.net:/cvsroot/firebird login
|
||||
|
||||
[checkout the Fb 1.5 Win32 installation kit]
|
||||
|
||||
cvs -z3 -d:pserver:anonymous@firebird.cvs.sourceforge.net:/cvsroot/firebird co -r B1_5_Release firebird2/src/install/arch-specific/win32
|
||||
|
||||
[checkout the Fb 2.0 Win32 installation kit]
|
||||
|
||||
cvs -z3 -d:pserver:anonymous@firebird.cvs.sourceforge.net:/cvsroot/firebird co -r B2_0_Release firebird2/builds/install/arch-specific/win32
|
||||
|
||||
|
||||
o Each language has its own sub-directory under install\arch-specific\win32.
|
||||
|
@ -1,17 +1,33 @@
|
||||
Firebird Database Server 2.5 Beta 2
|
||||
==================================================
|
||||
Firebird Database Server $MAJOR.$MINOR.$RELEASE (Alpha)
|
||||
========================================================
|
||||
|
||||
|
||||
############## NOTE ####################################
|
||||
# #
|
||||
# The installer is in an experimental state. #
|
||||
# This is not the definitive version for Firebird 3.0. #
|
||||
# #
|
||||
# o Layout and work sequence of the installer is not #
|
||||
# definitive. #
|
||||
# o Options available are subject to change. #
|
||||
# o Method of library deployment has not been #
|
||||
# finalized. #
|
||||
# o The notes below are not up-to-date. #
|
||||
# #
|
||||
############## END NOTE ################################
|
||||
|
||||
|
||||
This document is a guide to installing this package of
|
||||
Firebird 2.5 on the Windows platform. These notes refer
|
||||
Firebird $MAJOR.$MINOR on the Windows platform. These notes refer
|
||||
to the installation package itself, rather than
|
||||
Firebird 2.5 in general. In addition, these notes are
|
||||
Firebird $MAJOR.$MINOR in general. In addition, these notes are
|
||||
primarily aimed at users of the binary installer.
|
||||
|
||||
It is assumed that readers of this document are already
|
||||
familiar with Firebird 2.1. If you are evaluating
|
||||
Firebird 2.5 as part of a migration from FB 2.1 you are
|
||||
advised to review the FB 2.1 documentation to
|
||||
understand the changes made between 2.1 and 2.5.
|
||||
familiar with Firebird 2.5. If you are evaluating
|
||||
Firebird $MAJOR.$MINOR as part of a migration from Fb 2.5 you are
|
||||
advised to review the Fb $MAJOR.$MINOR documentation to
|
||||
understand the changes made between 2.5 and $MAJOR.$MINOR.
|
||||
|
||||
|
||||
Contents
|
||||
@ -59,7 +75,7 @@ Other Known installation problems
|
||||
---------------------------------
|
||||
|
||||
o It is only possible to use the binary installer
|
||||
to install the default instance of Firebird 2.1. If
|
||||
to install the default instance of Firebird $MAJOR.$MINOR. If
|
||||
you wish to install additional, named instances you
|
||||
should manually install them with the zipped install
|
||||
image.
|
||||
@ -111,11 +127,12 @@ o If Firebird is running as an application (instead of
|
||||
uninstall the uninstall will complete with errors.
|
||||
You will have to delete the remnants by hand.
|
||||
|
||||
o Uninstallation leaves four files in the install
|
||||
o Uninstallation leaves five files in the install
|
||||
directory:
|
||||
|
||||
- aliases.conf
|
||||
- firebird.conf
|
||||
- fbtrace.conf
|
||||
- firebird.log
|
||||
- security2.fdb
|
||||
|
||||
@ -158,3 +175,4 @@ Please see this document:
|
||||
installation_scripted.txt
|
||||
|
||||
for full details.
|
||||
|
||||
|
@ -28,6 +28,8 @@ Setup parameters specific to the Firebird Installer
|
||||
/COMPONENTS="comma separated list of component names"
|
||||
/TASKS="comma separated list of task names"
|
||||
/MERGETASKS="comma separated list of task names"
|
||||
/SYSDBAName="SYSDBA"
|
||||
/SYSDBAPassword="masterkey"
|
||||
|
||||
Setup parameters specific to the Firebird Uninstaller
|
||||
/CLEAN
|
||||
@ -281,7 +283,23 @@ Parameters specific to Firebird installs
|
||||
|
||||
(This option is not intended to be used with the /TASKS parameter.)
|
||||
|
||||
|
||||
/SYSDBANAME="SYSDBA"
|
||||
|
||||
SYSDBA name will default to SYSDBA unless overridden with this parameter.
|
||||
|
||||
NOTE: If an existing Security database is found this parameter will be
|
||||
ignored.
|
||||
|
||||
|
||||
/SYSDBAPASSWORD="masterkey"
|
||||
|
||||
SYSDBA password will use the default "masterkey" password.
|
||||
|
||||
NOTE: If an existing Security database is found this parameter will be
|
||||
ignored.
|
||||
|
||||
|
||||
Setup Exit Codes
|
||||
----------------
|
||||
|
||||
@ -377,12 +395,13 @@ Parameters specific to Firebird uninstalls
|
||||
/CLEAN
|
||||
|
||||
Uninstallation has always left the following files in place after
|
||||
the uninstallation process hase completed:
|
||||
the uninstallation process has completed:
|
||||
|
||||
firebird.conf
|
||||
aliases.conf
|
||||
firebird.log
|
||||
security2.fdb
|
||||
security3.fdb
|
||||
fbtrace.conf
|
||||
|
||||
The assumption is that these files will be useful to users
|
||||
re-installing or upgrading Firebird. Starting with Firebird 2.1
|
||||
|
Loading…
Reference in New Issue
Block a user