mirror of
https://github.com/FirebirdSQL/firebird.git
synced 2025-01-23 03:23:04 +01:00
Forward port installer changes from 2.1.1 to 2.5.000
This commit is contained in:
parent
c2c4f134f5
commit
43c5385b38
@ -127,7 +127,7 @@ 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%.)
|
||||
) else (@echo o WiX found at %WIX%.)
|
||||
|
||||
|
||||
if not DEFINED FB_EXTERNAL_DOCS (
|
||||
@ -197,8 +197,8 @@ set FBBUILD_FB25_CUR_VER=%FB_MAJOR_VER%.%FB_MINOR_VER%.%FB_REV_NO%
|
||||
:: 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.3
|
||||
set FBBUILD_FB21_CUR_VER=2.1.0
|
||||
set FBBUILD_FB20_CUR_VER=2.0.4
|
||||
set FBBUILD_FB21_CUR_VER=2.1.1
|
||||
|
||||
::End of SED_MAGIC
|
||||
::----------------
|
||||
@ -330,7 +330,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.0-QuickStart.pdf Firebird_v%FBBUILD_FB15_CUR_VER%.ReleaseNotes.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-2.1-QuickStart.pdf Firebird_v%FBBUILD_FB15_CUR_VER%.ReleaseNotes.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 (
|
||||
@echo ... %%v
|
||||
(@copy /Y %FB_EXTERNAL_DOCS%\%%v %FB_OUTPUT_DIR%\doc\%%v > nul) || (call :WARNING Copying %FB_EXTERNAL_DOCS%\%%v failed.)
|
||||
)
|
||||
|
@ -84,27 +84,44 @@ Const
|
||||
BrokenInstall = 32; //version or component mismatch found, so mark broken
|
||||
|
||||
//Possible product installs
|
||||
IB4Install = 0;
|
||||
IB5Install = 1;
|
||||
IB6Install = 2;
|
||||
IB65Install = 3;
|
||||
IB7Install = 4;
|
||||
FB1Install = 5;
|
||||
FB15RCInstall = 6;
|
||||
FB15Install = 7;
|
||||
FB2Install = 8; //All Fb 1.6 and beyond
|
||||
MaxProdInstalled = FB2Install;
|
||||
IB4Install = 0;
|
||||
IB5Install = 1;
|
||||
IB6Install = 2;
|
||||
IB65Install = 3;
|
||||
IB70Install = 4;
|
||||
FB1Install = 5;
|
||||
FB15RCInstall = 6;
|
||||
FB15Install = 7;
|
||||
FB20Install = 8;
|
||||
IB80Install = 9;
|
||||
IB81Install = 10;
|
||||
FB21Install = 11;
|
||||
FB21_x64_Install = 12;
|
||||
FB25Install = 13;
|
||||
FB25_x64_Install = 14;
|
||||
FB30Install = 15;
|
||||
FB30_x64_Install = 16;
|
||||
|
||||
//ProductsInstalled
|
||||
IB4 = $0001;
|
||||
IB5 = $0002;
|
||||
IB6 = $0004;
|
||||
IB65 = $0008;
|
||||
IB7 = $0010;
|
||||
FB1 = $0020;
|
||||
FB15RC = $0040;
|
||||
FB15 = $0080;
|
||||
FB2 = $0100;
|
||||
MaxProdInstalled = FB30_x64_Install;
|
||||
|
||||
//ProductsInstalled
|
||||
IB4 = $00001;
|
||||
IB5 = $00002;
|
||||
IB6 = $00004;
|
||||
IB65 = $00008;
|
||||
IB70 = $00010;
|
||||
FB1 = $00020;
|
||||
FB15RC = $00040;
|
||||
FB15 = $00080;
|
||||
FB20 = $00100;
|
||||
IB80 = $00200;
|
||||
IB81 = $00400;
|
||||
FB21 = $00800;
|
||||
FB25 = $01000;
|
||||
FB30 = $02000;
|
||||
FB21_x64 = $04000;
|
||||
FB25_x64 = $08000;
|
||||
FB30_x64 = $10000;
|
||||
|
||||
// Likely gds32 version strings for installed versions of Firebird or InterBase are:
|
||||
// [6,0,n,n] InterBase 6.0
|
||||
@ -141,6 +158,7 @@ Type
|
||||
InstallType: Integer;
|
||||
ActualVersion: String;
|
||||
FirebirdVersion:String;
|
||||
RootKey: Integer;
|
||||
end;
|
||||
|
||||
|
||||
@ -151,6 +169,7 @@ procedure InitExistingInstallRecords;
|
||||
var
|
||||
product: Integer;
|
||||
begin
|
||||
|
||||
SetArrayLength(ProductsInstalledArray,MaxProdInstalled + 1);
|
||||
for product := 0 to MaxProdInstalled do begin
|
||||
|
||||
@ -163,6 +182,7 @@ begin
|
||||
ProductsInstalledArray[product].RegKey := IBRegKey;
|
||||
ProductsInstalledArray[product].RegEntry := LegacyRegPathEntry;
|
||||
ProductsInstalledArray[product].MessageFile := IB4MessageFile;
|
||||
ProductsInstalledArray[product].RootKey := HKLM32;
|
||||
end;
|
||||
|
||||
IB5Install: begin
|
||||
@ -170,6 +190,7 @@ begin
|
||||
ProductsInstalledArray[product].RegKey := IB5RegKey;
|
||||
ProductsInstalledArray[product].RegEntry := LegacyRegPathEntry;
|
||||
ProductsInstalledArray[product].MessageFile := IBMessageFile;
|
||||
ProductsInstalledArray[product].RootKey := HKLM32;
|
||||
end;
|
||||
|
||||
IB6Install: begin
|
||||
@ -177,6 +198,7 @@ begin
|
||||
ProductsInstalledArray[product].RegKey := IBRegKey;
|
||||
ProductsInstalledArray[product].RegEntry := LegacyRegPathEntry;
|
||||
ProductsInstalledArray[product].MessageFile := IBMessageFile;
|
||||
ProductsInstalledArray[product].RootKey := HKLM32;
|
||||
end;
|
||||
|
||||
IB65Install: begin
|
||||
@ -184,13 +206,31 @@ begin
|
||||
ProductsInstalledArray[product].RegKey := IBRegKey;
|
||||
ProductsInstalledArray[product].RegEntry := LegacyRegPathEntry;
|
||||
ProductsInstalledArray[product].MessageFile := IBMessageFile;
|
||||
ProductsInstalledArray[product].RootKey := HKLM32;
|
||||
end;
|
||||
|
||||
IB7Install: begin
|
||||
IB70Install: begin
|
||||
ProductsInstalledArray[product].Description := IBDesc;
|
||||
ProductsInstalledArray[product].RegKey := IBRegKey;
|
||||
ProductsInstalledArray[product].RegEntry := LegacyRegPathEntry;
|
||||
ProductsInstalledArray[product].MessageFile := IBMessageFile;
|
||||
ProductsInstalledArray[product].RootKey := HKLM32;
|
||||
end;
|
||||
|
||||
IB80Install: begin
|
||||
ProductsInstalledArray[product].Description := IBDesc;
|
||||
ProductsInstalledArray[product].RegKey := IBRegKey;
|
||||
ProductsInstalledArray[product].RegEntry := LegacyRegPathEntry;
|
||||
ProductsInstalledArray[product].MessageFile := IBMessageFile;
|
||||
ProductsInstalledArray[product].RootKey := HKLM32;
|
||||
end;
|
||||
|
||||
IB81Install: begin
|
||||
ProductsInstalledArray[product].Description := IBDesc;
|
||||
ProductsInstalledArray[product].RegKey := IBRegKey;
|
||||
ProductsInstalledArray[product].RegEntry := LegacyRegPathEntry;
|
||||
ProductsInstalledArray[product].MessageFile := IBMessageFile;
|
||||
ProductsInstalledArray[product].RootKey := HKLM32;
|
||||
end;
|
||||
|
||||
FB1Install: begin
|
||||
@ -198,6 +238,7 @@ begin
|
||||
ProductsInstalledArray[product].RegKey := IBRegKey;
|
||||
ProductsInstalledArray[product].RegEntry := LegacyRegPathEntry;
|
||||
ProductsInstalledArray[product].MessageFile := IBMessageFile;
|
||||
ProductsInstalledArray[product].RootKey := HKLM32;
|
||||
end;
|
||||
|
||||
FB15RCInstall: begin
|
||||
@ -205,6 +246,7 @@ begin
|
||||
ProductsInstalledArray[product].RegKey := FB15RCKey;
|
||||
ProductsInstalledArray[product].RegEntry := LegacyRegPathEntry;
|
||||
ProductsInstalledArray[product].MessageFile := FBMessageFile;
|
||||
ProductsInstalledArray[product].RootKey := HKLM32;
|
||||
end;
|
||||
|
||||
FB15Install: begin
|
||||
@ -212,22 +254,72 @@ begin
|
||||
ProductsInstalledArray[product].RegKey := FB2RegKey;
|
||||
ProductsInstalledArray[product].RegEntry := FBRegPathEntry;
|
||||
ProductsInstalledArray[product].MessageFile := FBMessageFile;
|
||||
ProductsInstalledArray[product].RootKey := HKLM32;
|
||||
end;
|
||||
|
||||
FB2Install: begin
|
||||
FB20Install: begin
|
||||
ProductsInstalledArray[product].Description := FBDesc;
|
||||
ProductsInstalledArray[product].RegKey := FB2RegKey;
|
||||
ProductsInstalledArray[product].RegEntry := FBRegPathEntry;
|
||||
ProductsInstalledArray[product].MessageFile := FBMessageFile;
|
||||
ProductsInstalledArray[product].RootKey := HKLM32;
|
||||
end;
|
||||
|
||||
FB21Install: begin
|
||||
ProductsInstalledArray[product].Description := FBDesc + ' (Win32) ';
|
||||
ProductsInstalledArray[product].RegKey := FB2RegKey;
|
||||
ProductsInstalledArray[product].RegEntry := FBRegPathEntry;
|
||||
ProductsInstalledArray[product].MessageFile := FBMessageFile;
|
||||
ProductsInstalledArray[product].RootKey := HKLM32;
|
||||
end;
|
||||
|
||||
FB21_x64_Install: begin
|
||||
ProductsInstalledArray[product].Description := FBDesc + ' (x64) ';
|
||||
ProductsInstalledArray[product].RegKey := FB2RegKey;
|
||||
ProductsInstalledArray[product].RegEntry := FBRegPathEntry;
|
||||
ProductsInstalledArray[product].MessageFile := FBMessageFile;
|
||||
ProductsInstalledArray[product].RootKey := HKLM64;
|
||||
end;
|
||||
|
||||
FB25Install: begin
|
||||
ProductsInstalledArray[product].Description := FBDesc + ' (Win32) ';
|
||||
ProductsInstalledArray[product].RegKey := FB2RegKey;
|
||||
ProductsInstalledArray[product].RegEntry := FBRegPathEntry;
|
||||
ProductsInstalledArray[product].MessageFile := FBMessageFile;
|
||||
ProductsInstalledArray[product].RootKey := HKLM32;
|
||||
end;
|
||||
|
||||
FB25_x64_Install: begin
|
||||
ProductsInstalledArray[product].Description := FBDesc + ' (x64) ';
|
||||
ProductsInstalledArray[product].RegKey := FB2RegKey;
|
||||
ProductsInstalledArray[product].RegEntry := FBRegPathEntry;
|
||||
ProductsInstalledArray[product].MessageFile := FBMessageFile;
|
||||
ProductsInstalledArray[product].RootKey := HKLM64;
|
||||
end;
|
||||
|
||||
FB30Install: begin
|
||||
ProductsInstalledArray[product].Description := FBDesc + ' (Win32) ';
|
||||
ProductsInstalledArray[product].RegKey := FB2RegKey;
|
||||
ProductsInstalledArray[product].RegEntry := FBRegPathEntry;
|
||||
ProductsInstalledArray[product].MessageFile := FBMessageFile;
|
||||
ProductsInstalledArray[product].RootKey := HKLM32;
|
||||
end;
|
||||
|
||||
FB30_x64_Install: begin
|
||||
ProductsInstalledArray[product].Description := FBDesc + ' (x64) ';
|
||||
ProductsInstalledArray[product].RegKey := FB2RegKey;
|
||||
ProductsInstalledArray[product].RegEntry := FBRegPathEntry;
|
||||
ProductsInstalledArray[product].MessageFile := FBMessageFile;
|
||||
ProductsInstalledArray[product].RootKey := HKLM64;
|
||||
end;
|
||||
|
||||
end; //case
|
||||
|
||||
ProductsInstalledArray[product].Path := GetRegistryEntry(
|
||||
ProductsInstalledArray[product].RegKey, ProductsInstalledArray[product].RegEntry);
|
||||
ProductsInstalledArray[product].Path := GetRegistryEntry(ProductsInstalledArray[product].RootKey,
|
||||
ProductsInstalledArray[product].RegKey, ProductsInstalledArray[product].RegEntry);
|
||||
|
||||
ProductsInstalledArray[product].RegVersion := GetRegistryEntry(
|
||||
ProductsInstalledArray[product].RegKey, 'Version');
|
||||
ProductsInstalledArray[product].RootKey, ProductsInstalledArray[product].RegKey, 'Version');
|
||||
|
||||
end; //for
|
||||
end; //function
|
||||
@ -387,14 +479,14 @@ begin
|
||||
ProductsInstalledArray[product].InstallType := NotInstalled;
|
||||
end;
|
||||
|
||||
IB7Install: begin
|
||||
IB70Install: begin
|
||||
//If we get here we have ambiguity with other versions of InterBase and Firebird
|
||||
if ( pos('InterBase',ProductsInstalledArray[product].RegVersion) > 0 ) then begin
|
||||
if CompareVersion(ProductsInstalledArray[product].ClientVersion, '7.0.0.0',1) <> 0 then
|
||||
ProductsInstalledArray[product].InstallType := NotInstalled
|
||||
else
|
||||
if ((ProductsInstalledArray[product].InstallType AND ClientInstall) = ClientInstall) then begin
|
||||
ProductsInstalled := ProductsInstalled + IB7;
|
||||
ProductsInstalled := ProductsInstalled + IB70;
|
||||
ProductsInstalledCount := ProductsInstalledCount + 1;
|
||||
end;
|
||||
end
|
||||
@ -437,16 +529,118 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
FB2Install: begin
|
||||
FB20Install: begin
|
||||
if (CompareVersion(ProductsInstalledArray[product].ClientVersion, '2.0.0.0',2) <> 0) then
|
||||
ProductsInstalledArray[product].InstallType := NotInstalled
|
||||
else
|
||||
if ((ProductsInstalledArray[product].InstallType AND ClientInstall) = ClientInstall) then begin
|
||||
ProductsInstalled := ProductsInstalled + FB2;
|
||||
ProductsInstalled := ProductsInstalled + FB20;
|
||||
ProductsInstalledCount := ProductsInstalledCount + 1;
|
||||
end;
|
||||
end;
|
||||
|
||||
IB80Install: begin
|
||||
//If we get here we have ambiguity with other versions of InterBase and Firebird
|
||||
if ( pos('InterBase',ProductsInstalledArray[product].RegVersion) > 0 ) then begin
|
||||
if CompareVersion(ProductsInstalledArray[product].ClientVersion, '8.0.0.0',2) <> 0 then
|
||||
ProductsInstalledArray[product].InstallType := NotInstalled
|
||||
else
|
||||
if ((ProductsInstalledArray[product].InstallType AND ClientInstall) = ClientInstall) then begin
|
||||
ProductsInstalled := ProductsInstalled + IB80;
|
||||
ProductsInstalledCount := ProductsInstalledCount + 1;
|
||||
end;
|
||||
end
|
||||
else
|
||||
ProductsInstalledArray[product].InstallType := NotInstalled;
|
||||
end;
|
||||
|
||||
IB81Install: begin
|
||||
//If we get here we have ambiguity with other versions of InterBase and Firebird
|
||||
if ( pos('InterBase',ProductsInstalledArray[product].RegVersion) > 0 ) then begin
|
||||
if CompareVersion(ProductsInstalledArray[product].ClientVersion, '8.1.0.0',2) <> 0 then
|
||||
ProductsInstalledArray[product].InstallType := NotInstalled
|
||||
else
|
||||
if ((ProductsInstalledArray[product].InstallType AND ClientInstall) = ClientInstall) then begin
|
||||
ProductsInstalled := ProductsInstalled + IB81;
|
||||
ProductsInstalledCount := ProductsInstalledCount + 1;
|
||||
end;
|
||||
end
|
||||
else
|
||||
ProductsInstalledArray[product].InstallType := NotInstalled;
|
||||
end;
|
||||
|
||||
FB21Install: begin
|
||||
if (CompareVersion(ProductsInstalledArray[product].ClientVersion, '2.1.0.0',2) <> 0) then
|
||||
ProductsInstalledArray[product].InstallType := NotInstalled
|
||||
else
|
||||
if ((ProductsInstalledArray[product].InstallType AND ClientInstall) = ClientInstall) then begin
|
||||
ProductsInstalled := ProductsInstalled + FB21;
|
||||
ProductsInstalledCount := ProductsInstalledCount + 1;
|
||||
end;
|
||||
end;
|
||||
|
||||
FB21_x64_Install: begin
|
||||
if iswin64 then begin
|
||||
if (CompareVersion(ProductsInstalledArray[product].ClientVersion, '2.1.0.0',2) <> 0) then
|
||||
ProductsInstalledArray[product].InstallType := NotInstalled
|
||||
else
|
||||
if ((ProductsInstalledArray[product].InstallType AND ClientInstall) = ClientInstall) then begin
|
||||
ProductsInstalled := ProductsInstalled + FB21_x64;
|
||||
ProductsInstalledCount := ProductsInstalledCount + 1;
|
||||
end
|
||||
end
|
||||
else
|
||||
ProductsInstalledArray[product].InstallType := NotInstalled;
|
||||
end;
|
||||
|
||||
FB25Install: begin
|
||||
if (CompareVersion(ProductsInstalledArray[product].ClientVersion, '2.5.0.0',2) <> 0) then
|
||||
ProductsInstalledArray[product].InstallType := NotInstalled
|
||||
else
|
||||
if ((ProductsInstalledArray[product].InstallType AND ClientInstall) = ClientInstall) then begin
|
||||
ProductsInstalled := ProductsInstalled + FB25;
|
||||
ProductsInstalledCount := ProductsInstalledCount + 1;
|
||||
end;
|
||||
end;
|
||||
|
||||
FB25_x64_Install: begin
|
||||
if iswin64 then begin
|
||||
if (CompareVersion(ProductsInstalledArray[product].ClientVersion, '2.5.0.0',2) <> 0) then
|
||||
ProductsInstalledArray[product].InstallType := NotInstalled
|
||||
else
|
||||
if ((ProductsInstalledArray[product].InstallType AND ClientInstall) = ClientInstall) then begin
|
||||
ProductsInstalled := ProductsInstalled + FB25_x64;
|
||||
ProductsInstalledCount := ProductsInstalledCount + 1;
|
||||
end
|
||||
end
|
||||
else
|
||||
ProductsInstalledArray[product].InstallType := NotInstalled;
|
||||
end;
|
||||
|
||||
FB30Install: begin
|
||||
if (CompareVersion(ProductsInstalledArray[product].ClientVersion, '3.0.0.0',2) <> 0) then
|
||||
ProductsInstalledArray[product].InstallType := NotInstalled
|
||||
else
|
||||
if ((ProductsInstalledArray[product].InstallType AND ClientInstall) = ClientInstall) then begin
|
||||
ProductsInstalled := ProductsInstalled + FB30;
|
||||
ProductsInstalledCount := ProductsInstalledCount + 1;
|
||||
end;
|
||||
end;
|
||||
|
||||
FB30_x64_Install: begin
|
||||
if iswin64 then begin
|
||||
if (CompareVersion(ProductsInstalledArray[product].ClientVersion, '3.0.0.0',2) <> 0) then
|
||||
ProductsInstalledArray[product].InstallType := NotInstalled
|
||||
else
|
||||
if ((ProductsInstalledArray[product].InstallType AND ClientInstall) = ClientInstall) then begin
|
||||
ProductsInstalled := ProductsInstalled + FB30_x64;
|
||||
ProductsInstalledCount := ProductsInstalledCount + 1;
|
||||
end
|
||||
end
|
||||
else
|
||||
ProductsInstalledArray[product].InstallType := NotInstalled;
|
||||
end;
|
||||
|
||||
end;//case
|
||||
|
||||
|
||||
@ -649,34 +843,76 @@ begin
|
||||
result := true;
|
||||
end;
|
||||
|
||||
//Detect any 1.5 or 2.0 server running with default ClassName or mutex
|
||||
function FirebirdDefaultServerRunning: String;
|
||||
|
||||
//Detect server running with default ClassName or mutex
|
||||
var
|
||||
RunningServerVerString: String;
|
||||
|
||||
function FirebirdDefaultServerRunning: Boolean;
|
||||
var
|
||||
Handle: Integer;
|
||||
mutex_found: boolean;
|
||||
mutexes: String;
|
||||
begin
|
||||
result := '';
|
||||
//Look for a running version of Firebird 1.5 or later
|
||||
Handle := FindWindowByClassName('FB_Disabled');
|
||||
if ( Handle = 0 ) then
|
||||
Handle := FindWindowByClassName('FB_Server');
|
||||
if ( Handle = 0 ) then
|
||||
Handle := FindWindowByClassName('FB_Guard');
|
||||
RunningServerVerString := '';
|
||||
Result := false;
|
||||
|
||||
if (Handle > 0) then
|
||||
result := '1.5'
|
||||
else begin
|
||||
mutex_found := CheckForMutexes('FirebirdGuardianMutex,FirebirdServerMutex');
|
||||
if mutex_found then
|
||||
result := '2.0'
|
||||
else begin
|
||||
mutex_found := CheckForMutexes('FirebirdGuardianMutexDefaultInstance,FirebirdServerMutexDefaultInstance');
|
||||
if mutex_found then
|
||||
result := '2.1'
|
||||
end;
|
||||
if FirebirdOneRunning then
|
||||
RunningServerVerString := 'Firebird v1.0 / InterBase';
|
||||
|
||||
//Look for a valid window handle
|
||||
if RunningServerVerString = '' then begin
|
||||
//This is effectivley a test for Firebird running as an application.
|
||||
//This is useful if Firebird is running without the guardian
|
||||
//because prior to v2.0.4 there is no server mutex.
|
||||
Handle := FindWindowByClassName('FB_Disabled');
|
||||
if ( Handle = 0 ) then
|
||||
Handle := FindWindowByClassName('FB_Server');
|
||||
if ( Handle = 0 ) then
|
||||
Handle := FindWindowByClassName('FB_Guard');
|
||||
|
||||
if (Handle > 0) then
|
||||
RunningServerVerString := 'Firebird';
|
||||
end;
|
||||
|
||||
//Look for a firebird mutex
|
||||
if RunningServerVerString = '' then begin
|
||||
//General Notes on testing for mutexes:
|
||||
// - Mutexes are case-sensitive.
|
||||
// - Don't escape the slash in Global\, Local\ etc. (We don't currently use Local\)
|
||||
//
|
||||
// v2.0 notes
|
||||
// - v2.0 prior to 2.0.4 does not create a FirebirdServerMutex mutex,
|
||||
// so server running without guardian is not detected.
|
||||
// - v2.0.4 creates mutexes without the global prefix.
|
||||
// - Later versions (if any) will use the prefix, so we will test for them anyway.
|
||||
mutexes := 'Global\FirebirdGuardianMutex' + ',' +
|
||||
'Global\FirebirdServerMutex' + ',' +
|
||||
'FirebirdGuardianMutex' + ',' +
|
||||
'FirebirdServerMutex';
|
||||
mutex_found := CheckForMutexes(mutexes);
|
||||
|
||||
if mutex_found then
|
||||
RunningServerVerString := 'Firebird';
|
||||
end;
|
||||
|
||||
if RunningServerVerString = '' then begin
|
||||
//v2.1.1 notes
|
||||
// - v2.1.0 creates mutexes without the global prefix.
|
||||
// - v2.1.1 and later should use the correct prefix.
|
||||
mutexes := 'Global\FirebirdGuardianMutexDefaultInstance' + ',' +
|
||||
'Global\FirebirdServerMutexDefaultInstance' + ',' +
|
||||
'FirebirdGuardianMutexDefaultInstance' + ',' +
|
||||
'FirebirdServerMutexDefaultInstance';
|
||||
mutex_found := CheckForMutexes(mutexes);
|
||||
|
||||
if mutex_found then
|
||||
RunningServerVerString := 'v2.1'
|
||||
end;
|
||||
|
||||
if RunningServerVerString <> '' then
|
||||
Result := True;
|
||||
|
||||
end;
|
||||
|
||||
|
||||
|
@ -25,6 +25,8 @@
|
||||
|
||||
Function Prototypes
|
||||
|
||||
function IsWin32: boolean;
|
||||
function Is32BitInstallMode: boolean;
|
||||
function IsVista: boolean;
|
||||
function IsWin2k3: boolean;
|
||||
function IsWinXP: boolean;
|
||||
@ -108,6 +110,19 @@ v4.0 4.0.6001.16531 or greater Released with Windows Vista SP1 and
|
||||
systems do not have v3.0 of the Windows Installer.
|
||||
*)
|
||||
|
||||
|
||||
function IsWin32: boolean;
|
||||
//helper function to simplify logic of x86/win64 checks.
|
||||
begin
|
||||
result := not IsWin64;
|
||||
end;
|
||||
|
||||
function Is32BitInstallMode: boolean;
|
||||
//helper function to simplify logic of x86/win64 checks.
|
||||
begin
|
||||
result := not Is64BitInstallMode;
|
||||
end;
|
||||
|
||||
function IsVista: boolean;
|
||||
var
|
||||
Version: TWindowsVersion;
|
||||
@ -368,10 +383,17 @@ begin
|
||||
|
||||
end;
|
||||
|
||||
function GetRegistryEntry(RegKey, RegEntry: string): String;
|
||||
|
||||
function GetRegistryEntry(RootKey: Integer; RegKey, RegEntry: string): String;
|
||||
begin
|
||||
result := '';
|
||||
RegQueryStringValue(HKEY_LOCAL_MACHINE, RegKey, RegEntry, Result);
|
||||
Result := '';
|
||||
//if not win64 and RootKey is HKLM64 then we are on a 32-bit box,
|
||||
//so skip looking in registry
|
||||
if ( (RootKey = HKLM64) AND (isWin32) ) then
|
||||
//do nothing
|
||||
Result := ''
|
||||
else
|
||||
RegQueryStringValue(RootKey, RegKey, RegEntry, Result);
|
||||
end;
|
||||
|
||||
|
||||
|
@ -23,7 +23,7 @@
|
||||
|
||||
; Usage Notes:
|
||||
;
|
||||
; This script has been designed to work with Inno Setup v5.2.2
|
||||
; This script has been designed to work with Inno Setup v5.2.3
|
||||
; It is available as a quick start pack from here:
|
||||
; http://www.jrsoftware.org/isdl.php#qsp
|
||||
;
|
||||
@ -52,13 +52,12 @@
|
||||
;Hard code some defaults to aid debugging and running script standalone.
|
||||
;In practice, these values are set in the environment and we use the env vars.
|
||||
#define MajorVer "2"
|
||||
#define MinorVer "1"
|
||||
#define MinorVer "5"
|
||||
#define PointRelease "0"
|
||||
#define BuildNumber "0"
|
||||
#define PackageNumber "0"
|
||||
|
||||
|
||||
|
||||
;-------Start of Innosetup script debug flags section
|
||||
|
||||
; if iss_release is undefined then iss_debug is set
|
||||
@ -96,6 +95,9 @@
|
||||
#undef files
|
||||
;We speed up compilation (and hence testing) by not compressing contents.
|
||||
#undef compression
|
||||
|
||||
;Default to x64 for testing
|
||||
#define PlatformTarget "x64"
|
||||
#endif
|
||||
|
||||
|
||||
@ -109,33 +111,48 @@
|
||||
; uses them.
|
||||
#define release
|
||||
#define no_pdb
|
||||
#define i18n
|
||||
;#define i18n
|
||||
|
||||
|
||||
;------If necessary we can turn off i18n by uncommenting this undefine
|
||||
;#undef i18n
|
||||
|
||||
;----- If we are debugging the script (and not executed from command prompt)
|
||||
;----- there is no guarantee that the environment variable exists. However an
|
||||
;----- expression such as #define FB_MAJOR_VER GetEnv("FB_MAJOR_VER") will
|
||||
;----- 'define' the macro anyway so we need to test for a valid env var before
|
||||
;----- we define our macro.
|
||||
#if Len(GetEnv("FB_MAJOR_VER")) > 0
|
||||
#define FB_MAJOR_VER GetEnv("FB_MAJOR_VER")
|
||||
#endif
|
||||
#ifdef FB_MAJOR_VER
|
||||
#define MajorVer FB_MAJOR_VER
|
||||
#endif
|
||||
|
||||
#if Len(GetEnv("FB_MINOR_VER")) > 0
|
||||
#define FB_MINOR_VER GetEnv("FB_MINOR_VER")
|
||||
#endif
|
||||
#ifdef FB_MINOR_VER
|
||||
#define MinorVer FB_MINOR_VER
|
||||
#endif
|
||||
|
||||
#if Len(GetEnv("FB_REV_VER")) > 0
|
||||
#define FB_REV_NO GetEnv("FB_REV_NO")
|
||||
#endif
|
||||
#ifdef FB_REV_NO
|
||||
#define PointRelease FB_REV_NO
|
||||
#endif
|
||||
|
||||
#if Len(GetEnv("FB_BUILD_NO")) > 0
|
||||
#define FB_BUILD_NO GetEnv("FB_BUILD_NO")
|
||||
#endif
|
||||
#ifdef FB_BUILD_NO
|
||||
#define BuildNumber FB_BUILD_NO
|
||||
#endif
|
||||
|
||||
#if Len(GetEnv("FBBUILD_PACKAGE_NUMBER")) > 0
|
||||
#define FBBUILD_PACKAGE_NUMBER GetEnv("FBBUILD_PACKAGE_NUMBER")
|
||||
#endif
|
||||
#ifdef FBBUILD_PACKAGE_NUMBER
|
||||
#define PackageNumber FBBUILD_PACKAGE_NUMBER
|
||||
#endif
|
||||
@ -149,8 +166,10 @@
|
||||
#endif
|
||||
#define MyAppVerName MyAppName + " " + MyAppVerString
|
||||
|
||||
|
||||
;---- If we haven't already set PlatformTarget then pick it up from the environment.
|
||||
#ifndef PlatformTarget
|
||||
#define PlatformTarget GetEnv("FB_TARGET_PLATFORM")
|
||||
#endif
|
||||
#if PlatformTarget == ""
|
||||
#define PlatformTarget "win32"
|
||||
#endif
|
||||
@ -162,9 +181,9 @@
|
||||
#endif
|
||||
#define msvc_version 8
|
||||
|
||||
;BaseVer should be used for all v2.n installs.
|
||||
;This allows us to upgrade silently from 2.0 to 2.1
|
||||
#define BaseVer MajorVer + "_0"
|
||||
;BaseVer should be used for all v2.5.n installs.
|
||||
;This allows us to upgrade silently from 2.5.m to 2.5.n
|
||||
#define BaseVer MajorVer + "_" + MinorVer
|
||||
#define AppVer MajorVer + "_" + MinorVer
|
||||
#define GroupnameVer MajorVer + "." + MinorVer
|
||||
|
||||
@ -269,7 +288,7 @@ Name: it; MessagesFile: compiler:Languages\Italian.isl; InfoBeforeFile: {#Script
|
||||
Name: pl; MessagesFile: compiler:Languages\Polish.isl; InfoBeforeFile: {#ScriptsDir}\pl\instalacja_czytajto.txt; InfoAfterFile: {#ScriptsDir}\pl\czytajto.txt;
|
||||
Name: pt; MessagesFile: compiler:Languages\Portuguese.isl; InfoBeforeFile: {#ScriptsDir}\pt\instalacao_leia-me.txt; InfoAfterFile: {#ScriptsDir}\pt\leia-me.txt
|
||||
Name: ru; MessagesFile: compiler:Languages\Russian.isl; InfoBeforeFile: {#ScriptsDir}\ru\installation_readme.txt; InfoAfterFile: {#ScriptsDir}\ru\readme.txt;
|
||||
Name: si; MessagesFile: compiler:Languages\Slovenian.isl; InfoBeforeFile: {#ScriptsDir}\si\instalacija_precitajMe.txt; InfoAfterFile: {#ScriptsDir}\readme.txt;
|
||||
;Name: si; MessagesFile: compiler:Languages\Slovenian.isl; InfoBeforeFile: {#ScriptsDir}\si\instalacija_precitajMe.txt; InfoAfterFile: {#ScriptsDir}\readme.txt;
|
||||
#endif
|
||||
|
||||
[Messages]
|
||||
@ -284,7 +303,7 @@ it.BeveledLabel=Italiano
|
||||
pl.BeveledLabel=Polski
|
||||
pt.BeveledLabel=Português
|
||||
ru.BeveledLabel=Ðóññêèé
|
||||
si.BeveledLabel=Slovenski
|
||||
;si.BeveledLabel=Slovenski
|
||||
#endif
|
||||
|
||||
[CustomMessages]
|
||||
@ -299,7 +318,7 @@ si.BeveledLabel=Slovenski
|
||||
#include "pl\custom_messages_pl.inc"
|
||||
#include "pt\custom_messages_pt.inc"
|
||||
#include "ru\custom_messages_ru.inc"
|
||||
#include "si\custom_messages_si.inc"
|
||||
;#include "si\custom_messages_si.inc"
|
||||
#endif
|
||||
|
||||
#ifdef iss_debug
|
||||
@ -343,14 +362,14 @@ Name: CopyFbClientAsGds32Task; Description: {cm:CopyFbClientAsGds32Task}; Compon
|
||||
|
||||
[Run]
|
||||
#if msvc_version == 8
|
||||
Filename: msiexec.exe; Parameters: "/qn /i ""{tmp}\vccrt{#msvc_version}_Win32.msi"" /L*v {tmp}\vccrt{#msvc_version}_Win32.log "; Check: HasWI30; Components: ClientComponent;
|
||||
Filename: msiexec.exe; Parameters: "/qn /i ""{tmp}\vccrt{#msvc_version}_Win32.msi"" /L*v {tmp}\vccrt{#msvc_version}_Win32.log "; StatusMsg: "Installing MSVC 32-bit runtime libraries to system directory"; Check: HasWI30; Components: ClientComponent;
|
||||
#if PlatformTarget == "x64"
|
||||
Filename: msiexec.exe; Parameters: "/qn /i ""{tmp}\vccrt{#msvc_version}_x64.msi"" /L*v {tmp}\vccrt{#msvc_version}_x64.log "; Check: HasWI30; Components: ClientComponent;
|
||||
Filename: msiexec.exe; Parameters: "/qn /i ""{tmp}\vccrt{#msvc_version}_x64.msi"" /L*v {tmp}\vccrt{#msvc_version}_x64.log "; StatusMsg: "Installing MSVC 64-bit runtime libraries to system directory"; Check: HasWI30; Components: ClientComponent;
|
||||
#endif
|
||||
#endif
|
||||
|
||||
;Always register Firebird
|
||||
Filename: {app}\bin\instreg.exe; Parameters: "install "; StatusMsg: {cm:instreg}; MinVersion: 4.0,4.0; Components: ClientComponent; Flags: runminimized
|
||||
;Only register Firebird if we are installing AND configuring
|
||||
Filename: {app}\bin\instreg.exe; Parameters: "install "; StatusMsg: {cm:instreg}; MinVersion: 4.0,4.0; Components: ClientComponent; Flags: runminimized; Check: ConfigureFirebird;
|
||||
|
||||
Filename: {app}\bin\instclient.exe; Parameters: "install fbclient"; StatusMsg: {cm:instclientCopyFbClient}; MinVersion: 4.0,4.0; Components: ClientComponent; Flags: runminimized; Check: CopyFBClientLib;
|
||||
Filename: {app}\bin\instclient.exe; Parameters: "install gds32"; StatusMsg: {cm:instclientGenGds32}; MinVersion: 4.0,4.0; Components: ClientComponent; Flags: runminimized; Check: CopyGds32
|
||||
@ -363,7 +382,7 @@ Filename: {app}\WOW64\instclient.exe; Parameters: "install gds32"; StatusMsg: {c
|
||||
;First, if installing service we must try and remove remnants of old service. Otherwise the new install will fail and when we start the service the old service will be started.
|
||||
Filename: {app}\bin\instsvc.exe; Parameters: "remove "; StatusMsg: {cm:instsvcSetup}; MinVersion: 0,4.0; Components: ServerComponent; Flags: runminimized; Tasks: UseServiceTask; Check: ConfigureFirebird;
|
||||
Filename: {app}\bin\instsvc.exe; Parameters: "install {code:ServiceStartFlags} "; StatusMsg: {cm:instsvcSetup}; MinVersion: 0,4.0; Components: ServerComponent; Flags: runminimized; Tasks: UseServiceTask; Check: ConfigureFirebird;
|
||||
Filename: {app}\bin\instsvc.exe; Description: {cm:instsvcStartQuestion}; Parameters: "start {code:ServiceName} "; StatusMsg: {cm:instsvcStartMsg}; MinVersion: 0,4.0; Components: ServerComponent; Flags: runminimized postinstall; Tasks: UseServiceTask; Check: StartEngine
|
||||
Filename: {app}\bin\instsvc.exe; Description: {cm:instsvcStartQuestion}; Parameters: "start {code:ServiceName} "; StatusMsg: {cm:instsvcStartMsg}; MinVersion: 0,4.0; Components: ServerComponent; Flags: runminimized postinstall runascurrentuser; Tasks: UseServiceTask; Check: StartEngine
|
||||
;If 'start as application' requested
|
||||
Filename: {code:StartApp|{app}\bin\fbserver.exe}; Description: {cm:instappStartQuestion}; Parameters: -a; StatusMsg: {cm:instappStartMsg}; MinVersion: 0,4.0; Components: ServerComponent; Flags: nowait postinstall; Tasks: UseApplicationTask; Check: StartEngine
|
||||
|
||||
@ -394,8 +413,7 @@ Name: {group}\Firebird {#FB_cur_ver} Release Notes; Filename: {app}\doc\Firebird
|
||||
Name: {group}\Firebird {#FB_cur_ver} Installation Guide; Filename: {app}\doc\Firebird_v{#FB_cur_ver}.InstallationGuide.pdf; MinVersion: 4.0,4.0; Comment: {#MyAppName} {cm:InstallationGuide}
|
||||
Name: {group}\Firebird {#FB_cur_ver} Bug Fixes; Filename: {app}\doc\Firebird_v{#FB_cur_ver}.BugFixes.pdf; MinVersion: 4.0,4.0; Comment: {#MyAppName} {cm:BugFixes}
|
||||
Name: {group}\Firebird {#FB21_cur_ver} Release Notes; Filename: {app}\doc\Firebird_v{#FB21_cur_ver}.ReleaseNotes.pdf; MinVersion: 4.0,4.0; Comment: {#MyAppName} {cm:ReleaseNotes}
|
||||
Name: {group}\Firebird {#FB15_cur_ver} Release Notes; Filename: {app}\doc\Firebird_v{#FB15_cur_ver}.ReleaseNotes.pdf; MinVersion: 4.0,4.0; Comment: {#MyAppName} {cm:ReleaseNotes}
|
||||
Name: {group}\Firebird 2.0 Quick Start Guide; Filename: {app}\doc\Firebird-2.0-QuickStart.pdf; MinVersion: 4.0,4.0; Comment: {#MyAppName}
|
||||
Name: {group}\Firebird 2.1 Quick Start Guide; Filename: {app}\doc\Firebird-2.1-QuickStart.pdf; MinVersion: 4.0,4.0; Comment: {#MyAppName}
|
||||
Name: "{group}\After Installation"; Filename: "{app}\doc\After_Installation.url"; Comment: "New User? Here's a quick guide to what you should do next."
|
||||
Name: "{group}\Firebird Web-site"; Filename: "{app}\doc\firebirdsql.org.url"
|
||||
;Always install the original english version
|
||||
@ -425,7 +443,7 @@ Source: {#ScriptsDir}\it\*.txt; DestDir: {app}\doc; Components: DevAdminComponen
|
||||
Source: {#ScriptsDir}\pl\*.txt; DestDir: {app}\doc; Components: DevAdminComponent; Flags: ignoreversion; Languages: pl;
|
||||
Source: {#ScriptsDir}\pt\*.txt; DestDir: {app}\doc; Components: DevAdminComponent; Flags: ignoreversion; Languages: pt;
|
||||
Source: {#ScriptsDir}\ru\*.txt; DestDir: {app}\doc; Components: DevAdminComponent; Flags: ignoreversion; Languages: ru;
|
||||
Source: {#ScriptsDir}\si\*.txt; DestDir: {app}\doc; Components: DevAdminComponent; Flags: ignoreversion; Languages: si;
|
||||
;Source: {#ScriptsDir}\si\*.txt; DestDir: {app}\doc; Components: DevAdminComponent; Flags: ignoreversion; Languages: si;
|
||||
#endif
|
||||
Source: {#FilesDir}\firebird.conf; DestDir: {app}; DestName: firebird.conf.default; Components: ServerComponent; check: FirebirdConfExists;
|
||||
Source: {#FilesDir}\firebird.conf; DestDir: {app}; DestName: firebird.conf; Components: ServerComponent; Flags: uninsneveruninstall; check: NoFirebirdConfExists
|
||||
@ -678,8 +696,13 @@ end;
|
||||
for i:=0 to ProductsInstalledCount-1 do
|
||||
InstallSummary := InstallSummary + InstallSummaryArray[i] + #13;
|
||||
|
||||
//If FB2 is installed
|
||||
If ((ProductsInstalled AND FB2) = FB2) then
|
||||
// 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}')
|
||||
@ -719,24 +742,16 @@ begin
|
||||
end;
|
||||
|
||||
|
||||
//If Fb2.0 is installed then we can install over it.
|
||||
//unless we find the server running.
|
||||
if (ProductsInstalledCount = 1) AND
|
||||
((ProductsInstalled AND FB2) = FB2) then begin
|
||||
VerString := ( FirebirdDefaultServerRunning );
|
||||
if VerString <> '' then begin
|
||||
result := false;
|
||||
MsgBox( #13+Format(ExpandConstant('{cm:FbRunning1}'), [VerString])
|
||||
+#13
|
||||
+#13+ExpandConstant('{cm:FbRunning2}')
|
||||
+#13+ExpandConstant('{cm:FbRunning3}')
|
||||
+#13, mbError, MB_OK);
|
||||
exit;
|
||||
end
|
||||
else begin
|
||||
//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
|
||||
end
|
||||
;
|
||||
|
||||
@ -760,18 +775,12 @@ function InitializeSetup(): Boolean;
|
||||
var
|
||||
i: Integer;
|
||||
CommandLine: String;
|
||||
VerString: String;
|
||||
begin
|
||||
|
||||
result := true;
|
||||
|
||||
if not CheckWinsock2 then begin
|
||||
result := False;
|
||||
exit;
|
||||
end
|
||||
|
||||
CommandLine:=GetCmdTail;
|
||||
|
||||
|
||||
if ((pos('HELP',Uppercase(CommandLine)) > 0) or
|
||||
(pos('/?',Uppercase(CommandLine)) > 0) or
|
||||
(pos('/H',Uppercase(CommandLine)) > 0) ) then begin
|
||||
@ -780,7 +789,7 @@ begin
|
||||
CloseHelpDlg;
|
||||
result := False;
|
||||
Exit;
|
||||
|
||||
|
||||
end;
|
||||
|
||||
if pos('FORCE',Uppercase(CommandLine)) > 0 then
|
||||
@ -795,6 +804,17 @@ begin
|
||||
if pos('COPYFBCLIENT', Uppercase(CommandLine)) > 0 then
|
||||
CopyFbClient := True;
|
||||
|
||||
// Check if a server is running - we cannot continue if it is.
|
||||
if FirebirdDefaultServerRunning then begin
|
||||
result := false;
|
||||
exit;
|
||||
end;
|
||||
|
||||
if not CheckWinsock2 then begin
|
||||
result := False;
|
||||
exit;
|
||||
end
|
||||
|
||||
//By default we want to install and confugure,
|
||||
//unless subsequent analysis suggests otherwise.
|
||||
InstallAndConfigure := Install + Configure;
|
||||
@ -804,20 +824,7 @@ begin
|
||||
InitExistingInstallRecords;
|
||||
AnalyzeEnvironment;
|
||||
result := AnalysisAssessment;
|
||||
if result then begin
|
||||
//There is a possibility that all our efforts to detect an
|
||||
//install were in vain and a server _is_ running...
|
||||
VerString := FirebirdDefaultServerRunning;
|
||||
if ( VerString <> '' ) then begin
|
||||
result := false;
|
||||
MsgBox( #13+Format(ExpandConstant('{cm:FbRunning1}'), [VerString])
|
||||
+#13
|
||||
+#13+ExpandConstant('{cm:FbRunning2}')
|
||||
+#13+ExpandConstant('{cm:FbRunning3}')
|
||||
+#13, mbError, MB_OK);
|
||||
exit;
|
||||
end;
|
||||
end;
|
||||
|
||||
end;
|
||||
|
||||
|
||||
@ -831,19 +838,26 @@ begin
|
||||
if MsgBox(ExpandConstant('{cm:Winsock2Web1}')+#13#13+ExpandConstant('{cm:Winsock2Web2}'), mbInformation, MB_YESNO) = idYes then
|
||||
// User wants to visit the web page
|
||||
ShellExec('open', sMSWinsock2Update, '', '', SW_SHOWNORMAL, ewNoWait, ErrCode);
|
||||
|
||||
|
||||
if RunningServerVerString <> '' then
|
||||
MsgBox( #13+Format(ExpandConstant('{cm:FbRunning1}'), [RunningServerVerString])
|
||||
+#13
|
||||
+#13+ExpandConstant('{cm:FbRunning2}')
|
||||
+#13+ExpandConstant('{cm:FbRunning3}')
|
||||
+#13, mbError, MB_OK);
|
||||
|
||||
#ifdef setuplogging
|
||||
if OkToCopyLog then
|
||||
FileCopy (ExpandConstant ('{log}'), ExpandConstant ('{app}\InstallationLogFile.log'), FALSE);
|
||||
|
||||
|
||||
RestartReplace (ExpandConstant ('{log}'), '');
|
||||
#endif /* setuplogging */
|
||||
|
||||
end;
|
||||
|
||||
//This function tries to find an existing install of Firebird 1.5
|
||||
//This function tries to find an existing install of Firebird 2.n
|
||||
//If it succeeds it suggests that directory for the install
|
||||
//Otherwise it suggests the default for Fb 1.5
|
||||
//Otherwise it suggests the default for Fb 2.n
|
||||
function ChooseInstallDir(Default: String): String;
|
||||
var
|
||||
InterBaseRootDir,
|
||||
@ -870,7 +884,7 @@ begin
|
||||
InstallRootDir := Default; // but the user has changed the default
|
||||
|
||||
if (( InstallRootDir = '') and
|
||||
( FirebirdVer[0] = 2 ) and ( FirebirdVer[1] = 0 ) ) then // Firebird 2.0 is installed
|
||||
( FirebirdVer[0] = {#MajorVer} ) and ( FirebirdVer[1] = {#MinorVer} ) ) then // Firebird 2.n is installed
|
||||
InstallRootDir := FirebirdRootDir; // but the user has changed the default
|
||||
|
||||
// if we haven't found anything then try the FIREBIRD env var
|
||||
@ -1075,7 +1089,7 @@ end;
|
||||
function StartEngine: boolean;
|
||||
begin
|
||||
if ConfigureFirebird then
|
||||
result := not FirebirdOneRunning;
|
||||
result := not FirebirdDefaultServerRunning;
|
||||
end;
|
||||
|
||||
|
||||
|
@ -1,13 +1,8 @@
|
||||
|
||||
==========================================
|
||||
Firebird 2.5.0 pre alpha (Windows Build)
|
||||
Firebird 2.5.0 Alpha 1 (Windows Build)
|
||||
==========================================
|
||||
|
||||
-------------------------------------------------------
|
||||
The information below refers to Firebird 2.1.
|
||||
Documentation for Firebird 2.5 is not yet available.
|
||||
-------------------------------------------------------
|
||||
|
||||
|
||||
o Introduction
|
||||
o Intended Users
|
||||
@ -23,9 +18,9 @@ Welcome to Firebird 2.5.
|
||||
Intended Users
|
||||
==============
|
||||
|
||||
This is a pre-alpha version of Firebird.
|
||||
This is an alpha version of Firebird.
|
||||
|
||||
It is not intended for use. It is for
|
||||
It is not intended for production use. It is for
|
||||
test purposes only.
|
||||
|
||||
|
||||
|
@ -1,24 +1,17 @@
|
||||
Firebird Database Server 2.5 pre alpha
|
||||
Firebird Database Server 2.5 Alpha 1
|
||||
==================================================
|
||||
|
||||
-------------------------------------------------------
|
||||
The information below refers to Firebird 2.1.
|
||||
Documentation for Firebird 2.5 is not yet available.
|
||||
-------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
This document is a guide to installing this package of
|
||||
Firebird 2.1 on the Windows platform. These notes refer
|
||||
Firebird 2.5 on the Windows platform. These notes refer
|
||||
to the installation package itself, rather than
|
||||
Firebird 2.1 in general. In addition, these notes are
|
||||
Firebird 2.5 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.0. If you are evaluating
|
||||
Firebird 2.1 as part of a migration from Fb 1.5 you are
|
||||
advised to review the Fb 2.0 documentation to
|
||||
understand the changes made between 1.5 and 2.0.
|
||||
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.
|
||||
|
||||
|
||||
Contents
|
||||
|
Loading…
Reference in New Issue
Block a user