Skip to content

Commit 5c82cfb

Browse files
committed
Merge branch 'master' into metacache
2 parents 55eac37 + faf2523 commit 5c82cfb

File tree

30 files changed

+709
-317
lines changed

30 files changed

+709
-317
lines changed

builds/install/arch-specific/win32/FirebirdInstall.iss

Lines changed: 25 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -384,7 +384,7 @@ Filename: msiexec.exe; Parameters: "/qn /norestart /i ""{tmp}\vccrt{#msvc_runtim
384384
#endif
385385

386386
;Only register Firebird if we are installing AND configuring
387-
Filename: {app}\instreg.exe; Parameters: "install "; StatusMsg: {cm:instreg}; MinVersion: {#MinVer}; Components: ClientComponent; Flags: runminimized; Check: ConfigureFirebird;
387+
Filename: {app}\instreg.exe; Parameters: "install "; StatusMsg: {cm:instreg}; MinVersion: {#MinVer}; Components: ServerComponent; Flags: runminimized; Check: ConfigureFirebird;
388388

389389
Filename: {app}\instclient.exe; Parameters: "install fbclient"; StatusMsg: {cm:instclientCopyFbClient}; MinVersion: {#MinVer}; Components: ClientComponent; Flags: runminimized; Check: CopyFBClientLib;
390390
Filename: {app}\instclient.exe; Parameters: "install gds32"; StatusMsg: {cm:instclientGenGds32}; MinVersion: {#MinVer}; Components: ClientComponent; Flags: runminimized; Check: CopyGds32
@@ -410,7 +410,7 @@ Filename: "{#MyAppURL}/afterinstall"; Description: "After installation - What Ne
410410
Root: HKLM; Subkey: SOFTWARE\Microsoft\Windows\CurrentVersion\Run; ValueType: string; ValueName: Firebird; ValueData: ; Flags: uninsdeletevalue; Tasks: UseApplicationTask; Check: ConfigureFirebird;
411411

412412
;This doesn't seem to get cleared automatically by instreg on uninstall, so lets make sure of it
413-
Root: HKLM; Subkey: "SOFTWARE\Firebird Project"; Flags: uninsdeletekeyifempty; Components: ClientComponent DevAdminComponent ServerComponent
413+
Root: HKLM; Subkey: "SOFTWARE\Firebird Project"; Flags: uninsdeletekeyifempty; Components: ServerComponent
414414

415415
;Clean up Invalid registry entries from previous installs.
416416
Root: HKLM; Subkey: "SOFTWARE\FirebirdSQL"; ValueType: none; Flags: deletekey;
@@ -476,7 +476,7 @@ Source: {#FilesDir}\firebird.exe; DestDir: {app}; Components: ServerComponent; F
476476
Source: {#FilesDir}\fb_lock_print.exe; DestDir: {app}; Components: ServerComponent; Flags: sharedfile ignoreversion
477477
Source: {#FilesDir}\ib_util.dll; DestDir: {app}; Components: ServerComponent; Flags: sharedfile ignoreversion
478478
Source: {#FilesDir}\instclient.exe; DestDir: {app}; Components: ClientComponent; Flags: sharedfile ignoreversion
479-
Source: {#FilesDir}\instreg.exe; DestDir: {app}; Components: ClientComponent; Flags: sharedfile ignoreversion
479+
Source: {#FilesDir}\instreg.exe; DestDir: {app}; Components: ServerComponent; Flags: sharedfile ignoreversion
480480
Source: {#FilesDir}\instsvc.exe; DestDir: {app}; Components: ServerComponent; MinVersion: {#MinVer}; Flags: sharedfile ignoreversion
481481
Source: {#FilesDir}\isql.exe; DestDir: {app}; Components: DevAdminComponent; Flags: ignoreversion
482482
Source: {#FilesDir}\nbackup.exe; DestDir: {app}; Components: DevAdminComponent; Flags: ignoreversion
@@ -487,14 +487,25 @@ Source: {#FilesDir}\fbclient.dll; DestDir: {app}; Components: ClientComponent; F
487487
Source: {#WOW64Dir}\fbclient.dll; DestDir: {app}\WOW64; Components: ClientComponent; Flags: overwritereadonly sharedfile promptifolder {#SkipFileIfDevStatus}
488488
Source: {#WOW64Dir}\instclient.exe; DestDir: {app}\WOW64; Components: ClientComponent; Flags: sharedfile ignoreversion {#SkipFileIfDevStatus}
489489
#endif
490-
Source: {#FilesDir}\icuuc??.dll; DestDir: {app}; Components: ServerComponent; Flags: sharedfile ignoreversion
491-
Source: {#FilesDir}\icuin??.dll; DestDir: {app}; Components: ServerComponent; Flags: sharedfile ignoreversion
492-
Source: {#FilesDir}\icudt??.dll; DestDir: {app}; Components: ServerComponent; Flags: sharedfile ignoreversion
493-
Source: {#FilesDir}\icudt*.dat; DestDir: {app}; Components: ServerComponent; Flags: sharedfile ignoreversion
490+
Source: {#FilesDir}\icuuc??.dll; DestDir: {app}; Components: ClientComponent; Flags: sharedfile ignoreversion
491+
Source: {#FilesDir}\icuin??.dll; DestDir: {app}; Components: ClientComponent; Flags: sharedfile ignoreversion
492+
Source: {#FilesDir}\icudt??.dll; DestDir: {app}; Components: ClientComponent; Flags: sharedfile ignoreversion
493+
Source: {#FilesDir}\icudt*.dat; DestDir: {app}; Components: ClientComponent; Flags: sharedfile ignoreversion
494+
#if PlatformTarget == "x64"
495+
Source: {#WOW64Dir}\icuuc??.dll; DestDir: {app}\WOW64; Components: ClientComponent; Flags: sharedfile ignoreversion
496+
Source: {#WOW64Dir}\icuin??.dll; DestDir: {app}\WOW64; Components: ClientComponent; Flags: sharedfile ignoreversion
497+
Source: {#WOW64Dir}\icudt??.dll; DestDir: {app}\WOW64; Components: ClientComponent; Flags: sharedfile ignoreversion
498+
Source: {#WOW64Dir}\icudt*.dat; DestDir: {app}\WOW64; Components: ClientComponent; Flags: sharedfile ignoreversion
499+
#endif
500+
494501
#if PlatformTarget =="Win32"
495502
Source: {#FilesDir}\fbrmclib.dll; DestDir: {app}; Components: ServerComponent; Flags: sharedfile ignoreversion
496503
#endif
497-
Source: {#FilesDir}\zlib1.dll; DestDir: {app}; Components: ServerComponent; Flags: sharedfile ignoreversion
504+
505+
Source: {#FilesDir}\zlib1.dll; DestDir: {app}; Components: ClientComponent; Flags: sharedfile ignoreversion
506+
#if PlatformTarget == "x64"
507+
Source: {#WOW64Dir}\zlib1.dll; DestDir: {app}\WOW64; Components: ClientComponent; Flags: sharedfile ignoreversion
508+
#endif
498509

499510
;Rules for installation of MS runtimes are simplified with MSVC10
500511
;We just install the runtimes into the install dir.
@@ -542,9 +553,13 @@ Source: {#WOW64Dir}\lib\*.lib; DestDir: {app}\WOW64\lib; Components: DevAdminCom
542553
;Source: {#FilesDir}\UDF\*.txt; DestDir: {app}\UDF; Components: ServerComponent; Flags: ignoreversion;
543554

544555
Source: {#FilesDir}\plugins.conf; DestDir: {app}; Components: ServerComponent; Flags: ignoreversion;
545-
Source: {#FilesDir}\plugins\*.dll; DestDir: {app}\plugins; Components: ServerComponent; Flags: ignoreversion;
556+
Source: {#FilesDir}\plugins\*.dll; DestDir: {app}\plugins; Components: ServerComponent; Flags: ignoreversion; Check: IsServerInstall;
557+
Source: {#FilesDir}\plugins\chacha.dll; DestDir: {app}\plugins; Components: ClientComponent; Flags: ignoreversion; Check: IsNotServerInstall;
546558
Source: {#FilesDir}\plugins\*.conf; DestDir: {app}\plugins; Components: ServerComponent; Flags: ignoreversion;
547559
Source: {#FilesDir}\plugins\udr\*.*; DestDir: {app}\plugins\udr; Components: ServerComponent; Flags: ignoreversion;
560+
#if PlatformTarget == "x64"
561+
Source: {#WOW64Dir}\plugins\chacha*.dll; DestDir: {app}\WOW64\plugins; Components: ClientComponent; Flags: ignoreversion;
562+
#endif
548563

549564
Source: {#FilesDir}\misc\*.*; DestDir: {app}\misc; Components: ServerComponent; Flags: ignoreversion createallsubdirs recursesubdirs ;
550565

@@ -575,7 +590,7 @@ Filename: {app}\instclient.exe; Parameters: " remove fbclient"; StatusMsg: {cm:i
575590
Filename: {app}\wow64\instclient.exe; Parameters: " remove gds32"; StatusMsg: {cm:instclientDecLibCountGds32}; MinVersion: {#MinVer}; Flags: runminimized 32bit; RunOnceId: RemoveGDS32x86
576591
Filename: {app}\wow64\instclient.exe; Parameters: " remove fbclient"; StatusMsg: {cm:instclientDecLibCountFbClient}; MinVersion: {#MinVer}; Flags: runminimized 32bit; RunOnceId: RemoveFbClientx86
577592
#endif
578-
Filename: {app}\instreg.exe; Parameters: " remove"; StatusMsg: {cm:instreg}; MinVersion: {#MinVer}; Flags: runminimized; RunOnceId: RemoveRegistryEntry
593+
Filename: {app}\instreg.exe; Parameters: " remove"; StatusMsg: {cm:instreg}; MinVersion: {#MinVer}; Components: ServerComponent; Flags: runminimized; RunOnceId: RemoveRegistryEntry
579594

580595
[UninstallDelete]
581596
Type: files; Name: "{app}\*.lck"

builds/install/arch-specific/win32/FirebirdInstallEnvironmentChecks.inc

Lines changed: 32 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -890,9 +890,40 @@ begin
890890
end;
891891

892892

893+
function IsServerInstall: Boolean;
894+
var
895+
SetupType: String;
896+
begin
897+
898+
// DOC NOTE - WizardSetupType is not well documented. If parameter is set to
899+
// True the Description of the setup type is returned. (This is useless for us
900+
// as our descriptions are I18n'ised. ) If set False the string declared in
901+
// the TYPES section is returned. BUT LOWERCASED! Aargh!!
902+
// To protect against future changes each side is the comparison is lowercased.
903+
904+
SetupType := WizardSetupType ( false );
905+
if LowerCase( SetupType ) = LowerCase( 'ServerInstall' ) then
906+
Result := true
907+
else
908+
Result := False;
909+
end;
910+
911+
912+
function IsNotServerInstall: Boolean;
913+
begin
914+
if IsServerInstall then
915+
Result := False
916+
else
917+
Result := True;
918+
end;
919+
920+
893921
function ConfigureFirebird: boolean;
894922
begin
895-
result := (InstallAndConfigure AND Configure) = Configure;
923+
if IsNotServerInstall then
924+
Result := False
925+
else
926+
Result := (InstallAndConfigure AND Configure) = Configure;
896927
end;
897928

898929

Lines changed: 41 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
2-
31
Firebird Binary Installer Test Harness HELP (Designed with TABS=4 and console width=120)
42

53
fbit {PARAM [...]]
@@ -11,15 +9,22 @@
119
will clean up from previous broken installs. CLEAN must the first parameter
1210
and subsequent parameters are ignored. Note: - It will run silently.
1311

14-
1512
By default fbit installs Firebird according to the parameters passed and then
16-
immediately uninstalls it. A copy of the install is made, along with the install and uninstall logs.
13+
immediately uninstalls it. A copy of the install is made, along with the install and uninstall logs.
14+
15+
REQUIREMENTS
16+
============
17+
The script will attempt to detect if the current cmd session has just built firebird.
18+
If not you must set FBINST_EXEC in the environment prior to running this script.
19+
20+
Be sure to check :SET_GLOBAL_ENV for hard-coded settings
21+
Some knowledge of InnoSetup will be useful. See %FIREBIRD%/doc/installation_scripted.txt for more info.
1722

1823

1924
FBIT Specific Parameters
2025
========================
21-
Param Name Value Passed Comment
22-
---------- ------------ -------
26+
Param Name Value Passed to fbit Comment
27+
---------- -------------------- -------
2328
HELP - Displays this screen
2429
DRYRUN - Show what will be done. No changes are made
2530
NOARCHIVE - Disables copying of install dir to %USERPROFILE%\fbit
@@ -28,61 +33,74 @@
2833
SCRIPTED - Sets VERYSILENT, SP and NOMSG
2934
TESTNAME NameOfTestRun Optional. No spaces allowed. Used for storing test run details.
3035

31-
3236
The following parameters are set by default. They are unset automatically when a conflicting parameter is passed.
3337

34-
Default Param Value Unset by
35-
------------- ------------- ----------
38+
Default Param Default Value set by fbit Unset by
39+
------------- ------------------------- ----------
3640
INTERACTIVE True SCRIPTED
3741
INSTALLTYPE ServerInstall CLIENT or DEVINST
3842
SERVICE_TASK True APPTASK
3943
SUPERSERVER True CLASSICSERVER or SUPERCLASSIC
4044

41-
4245
Firebird Installer specific Parameters
4346
======================================
44-
Param Name Value passed Action when set
47+
Param Name Value passed to installer Action when set
4548
---------- ------------------------- ---------------
4649
COPYGDSLIB CopyFbClientAsGds32Task Copy fbclient to <SYS> and rename to gds32
4750
FORCE FORCE Force installation
4851
NOAUTOSTART NULL Does not set AutoStartTask
49-
NOCOPYFBLIB CopyFbClientToSysTask Does not copy fbclient to <SYS>
52+
NOCOPYFBLIB - Does not copy fbclient to <SYS>
5053
PASSWORD /SYSDBAPASSWORD=%ISC_PASSWORD% Changes SYSDBA password from masterkey
5154
See :SET_GLOBAL_ENV
5255

5356
Installation Tasks
5457
==================
55-
Param Name Value passed Comment
56-
------------- ------------ ---------------
58+
Param Name Value passed to /TASKS Comment
59+
------------- ---------------------- ---------------
5760
APPTASK UseApplicationTask Will not install as a service
5861
CLASSICSERVER UseClassicServerTask Will configure classic server
5962
SUPERCLASSIC UseSuperClassicTask Will configure super classic
6063

61-
6264
Installation Types
6365
==================
64-
Param Name Value passed Comment
65-
------------ ------------ -------
66+
Param Name Value passed to /TYPE Comment
67+
------------ --------------------- -------
6668
CLIENT ClientInstall Minimal working client install
6769
DEVINST DeveloperInstall Everything but the server.
68-
70+
SERVER_INSTALL ServerInstall
6971

7072
Uninstallation
7173
==============
72-
Param Name Value passed Comment
73-
-------------- ------------ -------
74+
Param Name Value passed to uninstaller Comment
75+
-------------- --------------------------- -------
7476
CLEAN CLEAN Completely remove the firebird install
7577
Reset list of shared dll's in the registry
76-
78+
Assumes installed version of Firebird matches %FIREBIRD_BASE_VER% set in fbit script.
7779

7880
Generic InnoSetup parameters
7981
============================
80-
Param Name Value passed Comment
81-
---------- ------------ -------
82+
Param Name Value passed to installer Comment
83+
---------- ------------------------- -------
8284
NOMSG SUPPRESSMSGBOXES Suppress message boxes
8385
NOCANCEL NOCANCEL Prevents user cancelling install
8486
SILENT SILENT
8587
SP SP- Disables the This will install... prompt
8688
VERYSILENT VERYSILENT
8789

90+
91+
Examples
92+
========
93+
94+
o Run a scripted server install:
95+
96+
fbit SCRIPTED
97+
98+
o Clean up previous firebird install:
99+
100+
fbit CLEAN
101+
102+
o Test install of firebird client:
103+
104+
fbit SCRIPTED CLIENT
105+
88106
-------------------------- End of Fbit Help Screen ----------------------------------------

0 commit comments

Comments
 (0)