The FB 2.5 Windows installer doesn't detect existing FB 2.1 install and as a result, overwrites it's service settings.
Steps to reproduce:
- Install Firebird 2.1.5, default settings
- Stop the Firebird service
- Install Firebird 2.5.2, default settings
Now, the only installed service is the FB 2.5 one.
The correct behaviour should be to show a warning message: "If you continue with this installation Firebird will be installed but not configured".
The bug is probably in the following fragment of AnalysisAssessment function in file FirebirdInstall_20.iss, which was left unmodified since FB 2.1 (another resembling suspicious code is in SummarizeInstalledProducts function):
function AnalysisAssessment: boolean;
//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
((ProductsInstalled AND FB21 ) = FB21 ) ) then begin
result := true;