mirror of
https://github.com/FirebirdSQL/firebird.git
synced 2025-01-23 00:43:02 +01:00
Installer for MinGW (first try)
This commit is contained in:
parent
f0a9a18ea5
commit
795d0d42f1
@ -1,96 +0,0 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
#
|
||||
GENDIR="../../../../gen/firebird"
|
||||
OUTDIR="../../../../output"
|
||||
SRCDIR="../../../../src"
|
||||
DOCDIR="../../../../doc"
|
||||
EXADIR="../../../../examples"
|
||||
#
|
||||
#
|
||||
rm -Rf $OUTDIR
|
||||
mkdir $OUTDIR
|
||||
#
|
||||
# Copying root
|
||||
#
|
||||
echo Copying root...
|
||||
cp $GENDIR/misc/firebird.conf $OUTDIR
|
||||
cp $GENDIR/security.fdb $OUTDIR
|
||||
$GENDIR/bin/gbak_static $GENDIR/security.fdb $OUTDIR/security.fbk
|
||||
cp $GENDIR/firebird.msg $OUTDIR/firebird.msg
|
||||
#
|
||||
# Copying bin
|
||||
#
|
||||
echo Copying bin...
|
||||
mkdir $OUTDIR/bin
|
||||
cp $GENDIR/lib/fbclient.dll $OUTDIR/bin/
|
||||
echo "to be build" > $OUTDIR/bin/gds32.dll
|
||||
cp $GENDIR/lib/libib_util.dll $OUTDIR/bin/ib_util.dll
|
||||
cp $GENDIR/bin/fb_lock_print.exe $OUTDIR/bin/
|
||||
cp $GENDIR/bin/fbserver.exe $OUTDIR/bin/
|
||||
cp $GENDIR/bin/gbak.exe $OUTDIR/bin/
|
||||
cp $GENDIR/bin/gdef.exe $OUTDIR/bin/
|
||||
cp $GENDIR/bin/gfix.exe $OUTDIR/bin/
|
||||
cp $GENDIR/bin/gpre.exe $OUTDIR/bin/
|
||||
cp $GENDIR/bin/gsec.exe $OUTDIR/bin/
|
||||
cp $GENDIR/bin/gsplit.exe $OUTDIR/bin/
|
||||
cp $GENDIR/bin/gstat.exe $OUTDIR/bin/
|
||||
cp $GENDIR/bin/ibguard.exe $OUTDIR/bin/fbguard.exe
|
||||
cp $GENDIR/bin/instreg.exe $OUTDIR/bin/
|
||||
cp $GENDIR/bin/instsvc.exe $OUTDIR/bin/
|
||||
cp $GENDIR/bin/isql.exe $OUTDIR/bin/
|
||||
cp $GENDIR/bin/nbackup.exe $OUTDIR/bin/
|
||||
cp $GENDIR/bin/qli.exe $OUTDIR/bin/
|
||||
#
|
||||
# Copying Doc
|
||||
#
|
||||
echo Copying doc...
|
||||
cp -R $DOCDIR $OUTDIR/doc
|
||||
#
|
||||
# Copying Examples
|
||||
#
|
||||
echo Copying examples...
|
||||
cp -R $EXADIR $OUTDIR/examples
|
||||
#
|
||||
# Copying help
|
||||
#
|
||||
echo Copying help...
|
||||
mkdir $OUTDIR/help
|
||||
cp $GENDIR/help/help.fdb $OUTDIR/help/
|
||||
#
|
||||
# Copying Include
|
||||
#
|
||||
echo Copying include...
|
||||
mkdir $OUTDIR/include
|
||||
cp $GENDIR/include/blr.h $OUTDIR/include/
|
||||
cp $GENDIR/include/gds.h $OUTDIR/include/
|
||||
cp $GENDIR/include/ib_util.h $OUTDIR/include/
|
||||
cp $GENDIR/include/ibase.h $OUTDIR/include/
|
||||
cp $GENDIR/include/iberror.h $OUTDIR/include/
|
||||
cp $GENDIR/include/perf.h $OUTDIR/include/
|
||||
#
|
||||
# Copying intl
|
||||
#
|
||||
echo Copying intl...
|
||||
mkdir $OUTDIR/intl
|
||||
cp $GENDIR/intl/fbintl.dll $OUTDIR/intl/
|
||||
#
|
||||
# Copying lib (should create fbclient_ms.lib and gds32_ms.lib
|
||||
#
|
||||
# TODO the fbclient_ms is generated with all the functions exported and so the size is huge.
|
||||
# a new def file with cdecl and stdcall entrypoints for only the API functions should be created
|
||||
#
|
||||
echo Copying lib...
|
||||
mkdir $OUTDIR/lib
|
||||
cp $GENDIR/lib/fbclient_ms.lib $OUTDIR/lib/
|
||||
echo "to be build" > $OUTDIR/lib/gds32.lib
|
||||
#
|
||||
# Copying UDF
|
||||
#
|
||||
echo Copying UDF...
|
||||
mkdir $OUTDIR/UDF
|
||||
cp $SRCDIR/extlib/ib_udf.sql $OUTDIR/UDF
|
||||
cp $SRCDIR/extlib/fbudf/fbudf.sql $OUTDIR/UDF
|
||||
cp $GENDIR/UDF/fbudf.dll $OUTDIR/UDF
|
||||
cp $GENDIR/UDF/ib_udf.dll $OUTDIR/UDF
|
||||
|
541
builds/install/arch-specific/mingw/super/FirebirdInstall_15.iss
Normal file
541
builds/install/arch-specific/mingw/super/FirebirdInstall_15.iss
Normal file
@ -0,0 +1,541 @@
|
||||
; 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/idpl.html
|
||||
; 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 2001-2003 Paul Reeves for IBPhoenix.
|
||||
;
|
||||
; The Initial Developer of the Original Code is Paul Reeves for IBPhoenix.
|
||||
;
|
||||
; All Rights Reserved.
|
||||
;
|
||||
; Contributor(s):
|
||||
; Tilo Muetze, Theo ? and Michael Rimov for improved detection
|
||||
; of an existing install directory.
|
||||
; Simon Carter for the WinSock2 detection.
|
||||
|
||||
; Usage Notes:
|
||||
;
|
||||
; This script has been designed to work with My InnoSetup Extensions 3.0.6.2
|
||||
; or later. It may work with earlier versions but this is neither guaranteed
|
||||
; nor tested. My InnoSetup Extensions is available from
|
||||
; http://www.wintax.nl/isx/
|
||||
;
|
||||
|
||||
;Either classic_server_install or super_server_install
|
||||
;Default to SuperServer if not defined
|
||||
#define super_server_install
|
||||
#define server_architecture "SuperServer"
|
||||
#define FirebirdURL "http://www.firebirdsql.org"
|
||||
#define BaseVer "1_5"
|
||||
#define mingwBase "c:\mingw"
|
||||
|
||||
[Setup]
|
||||
AppName=Firebird Database Server 1.5 ({#server_architecture})
|
||||
;The following is important - all ISS install packages should
|
||||
;duplicate this for v1.5. See the InnoSetup help for details.
|
||||
AppID=FBDBServer_{#BaseVer}
|
||||
AppVerName=Firebird 1.5.0 {#server_architecture}
|
||||
AppPublisher=Firebird Project
|
||||
AppPublisherURL={#FirebirdURL}
|
||||
AppSupportURL={#FirebirdURL}
|
||||
AppUpdatesURL={#FirebirdURL}
|
||||
DefaultDirName={code:InstallDir|{pf}\Firebird\Firebird_{#BaseVer}}
|
||||
DefaultGroupName=Firebird_{#BaseVer}
|
||||
AllowNoIcons=true
|
||||
SourceDir=..\..\..\..\..\
|
||||
LicenseFile=builds\install\misc\IPLicense.txt
|
||||
InfoBeforeFile=builds\install\arch-specific\win32\installation_readme.txt
|
||||
InfoAfterFile=builds\install\arch-specific\win32\readme.txt
|
||||
AlwaysShowComponentsList=true
|
||||
WizardImageFile=builds\install\arch-specific\win32\firebird_install_logo1.bmp
|
||||
PrivilegesRequired=admin
|
||||
#ifdef classic_server_install
|
||||
UninstallDisplayIcon={app}\bin\fb_inet_server.exe
|
||||
#else
|
||||
UninstallDisplayIcon={app}\bin\fbserver.exe
|
||||
#endif
|
||||
OutputDir=builds\install\arch-specific\mingw
|
||||
OutputBaseFilename=Firebird-1.5.0-Win32-{#server_architecture}
|
||||
Compression=bzip
|
||||
|
||||
[Types]
|
||||
Name: ServerInstall; Description: Full installation of server and development tools.
|
||||
Name: DeveloperInstall; Description: Installation of Client tools for Developers and database administrators.
|
||||
Name: ClientInstall; Description: Minimum client install - no server, no tools.
|
||||
|
||||
[Components]
|
||||
Name: ServerComponent; Description: Server component; Types: ServerInstall
|
||||
Name: DevAdminComponent; Description: Tools component; Types: ServerInstall DeveloperInstall
|
||||
Name: ClientComponent; Description: Client component; Types: ServerInstall DeveloperInstall ClientInstall; Flags: fixed disablenouninstallwarning
|
||||
|
||||
[Tasks]
|
||||
;Server tasks
|
||||
Name: UseGuardianTask; Description: "Use the &Guardian to control the server?"; Components: ServerComponent; MinVersion: 4.0,4.0
|
||||
Name: UseApplicationTask; Description: An &Application?; GroupDescription: "Run Firebird server as:"; Components: ServerComponent; MinVersion: 4,4; Flags: exclusive
|
||||
Name: UseServiceTask; Description: A &Service?; GroupDescription: "Run Firebird server as:"; Components: ServerComponent; MinVersion: 0,4; Flags: exclusive
|
||||
Name: AutoStartTask; Description: "Start &Firebird automatically everytime you boot up?"; Components: ServerComponent; MinVersion: 4,4;
|
||||
;Developer Tasks
|
||||
Name: MenuGroupTask; Description: Create a Menu &Group; Components: ServerComponent; MinVersion: 4,4;
|
||||
;One for Ron
|
||||
;Name: MenuGroupTask\desktopicon; Description: Create a &desktop icon; Components: ServerComponent; MinVersion: 4.0,4.0;
|
||||
|
||||
[Run]
|
||||
;Always register Firebird
|
||||
Filename: "{app}\bin\instreg.exe"; Parameters: "install ""{app}"" "; StatusMsg: Updating the registry; MinVersion: 4.0,4.0; Components: ClientComponent; Flags: runminimized
|
||||
|
||||
;If on NT/Win2k etc and 'Install and start service' requested
|
||||
Filename: "{app}\bin\instsvc.exe"; Parameters: "install ""{app}"" {code:ServiceStartFlags|""""} "; StatusMsg: "Setting up the service"; MinVersion: 0,4.0; Components: ServerComponent; Flags: runminimized; Tasks: UseServiceTask;
|
||||
Filename: "{app}\bin\instsvc.exe"; Description: "Start Firebird Service now?"; Parameters: start; StatusMsg: Starting the server; MinVersion: 0,4.0; Components: ServerComponent; Flags: runminimized postinstall; Tasks: UseServiceTask; Check: StartEngine;
|
||||
|
||||
;If 'start as application' requested
|
||||
#ifdef classic_server_install
|
||||
Filename: "{code:StartApp|{app}\bin\fb_inet_server.exe}"; Description: "Start Firebird now?"; Parameters: "-a"; StatusMsg: Starting the server; MinVersion: 0,4.0; Components: ServerComponent; Flags: nowait postinstall; Tasks: UseApplicationTask; Check: StartEngine;
|
||||
#else
|
||||
Filename: "{code:StartApp|{app}\bin\fbserver.exe}"; Description: "Start Firebird now?"; Parameters: "-a"; StatusMsg: Starting the server; MinVersion: 0,4.0; Components: ServerComponent; Flags: nowait postinstall; Tasks: UseApplicationTask; Check: StartEngine;
|
||||
#endif
|
||||
|
||||
[Registry]
|
||||
;If user has chosen to start as App they may well want to start automatically. That is handled by a function below.
|
||||
;Unless we set a marker here the uninstall will leave some annoying debris.
|
||||
Root: HKLM; Subkey: SOFTWARE\Microsoft\Windows\CurrentVersion\Run; ValueType: string; ValueName: Firebird; ValueData: ""; Flags: uninsdeletevalue; Tasks: UseApplicationTask;
|
||||
|
||||
;This doesn't seem to get cleared automatically by instreg on uninstall, so lets make sure of it
|
||||
Root: HKLM; Subkey: SOFTWARE\FirebirdSQL; Flags: uninsdeletekeyifempty; Components: ClientComponent DevAdminComponent ServerComponent;
|
||||
|
||||
[Icons]
|
||||
#ifdef classic_server_install
|
||||
Name: "{group}\Firebird Server"; Filename: {app}\bin\fb_inet_server.exe; Parameters: "-a"; Flags: runminimized; MinVersion: 4.0,4.0; Tasks: MenuGroupTask; Check: InstallServerIcon; IconIndex: 0; Comment: "Run Firebird classic server (without guardian)";
|
||||
#else
|
||||
Name: "{group}\Firebird Server"; Filename: {app}\bin\fbserver.exe; Parameters: "-a"; Flags: runminimized; MinVersion: 4.0,4.0; Tasks: MenuGroupTask; Check: InstallServerIcon; IconIndex: 0; Comment: "Run Firebird Superserver (without guardian)";
|
||||
#endif
|
||||
Name: "{group}\Firebird Guardian"; Filename: {app}\bin\fbguard.exe; Parameters: "-a"; Flags: runminimized; MinVersion: 4.0,4.0; Tasks: MenuGroupTask; Check: InstallGuardianIcon; IconIndex: 1; Comment: "Run Firebird server (with guardian)";
|
||||
Name: "{group}\Firebird 1.5 Release Notes"; Filename: {app}\doc\Firebird_v1_ReleaseNotes.pdf; MinVersion: 4.0,4.0; Tasks: MenuGroupTask; IconIndex: 1; Comment: "Firebird 1.0 release notes. (Requires Acrobat Reader.)";
|
||||
Name: "{group}\Firebird 1.5 Readme"; Filename: {app}\readme.txt; MinVersion: 4.0,4.0; Tasks: MenuGroupTask;
|
||||
Name: "{group}\Uninstall Firebird"; Filename: {uninstallexe}; Comment: "Uninstall Firebird"
|
||||
|
||||
[Files]
|
||||
Source: {#mingwBase}\bin\mingwm10.dll; DestDir:{app}\bin; Components: ClientComponent; Flags: sharedfile onlyifdoesntexist;
|
||||
Source: builds\install\misc\IPLicense.txt; DestDir: {app}; Components: ClientComponent; Flags: sharedfile ignoreversion;
|
||||
;Source: builds\install\arch-specific\win32\readme.txt; DestDir: {app}; Components: DevAdminComponent; Flags: ignoreversion;
|
||||
Source: builds\install\misc\firebird.conf; DestDir: {app}; Components: ServerComponent; Flags: uninsneveruninstall onlyifdoesntexist;
|
||||
;Source: output\aliases.conf; DestDir: {app}; Components: ServerComponent; Flags: uninsneveruninstall onlyifdoesntexist;
|
||||
Source: gen\firebird\security.fdb; DestDir: {app}; Components: ServerComponent; Flags: uninsneveruninstall onlyifdoesntexist;
|
||||
;Source: output\security.fbk; DestDir: {app}; Components: ServerComponent; Flags: ignoreversion;
|
||||
;Source: output\firebird.log; DestDir: {app}; Components: ServerComponent; Flags: uninsneveruninstall skipifsourcedoesntexist external dontcopy;
|
||||
Source: gen\firebird\firebird.msg; DestDir: {app}; Components: ClientComponent; Flags: sharedfile ignoreversion;
|
||||
Source: gen\firebird\bin\gbak.exe; DestDir: {app}\bin; Components: ServerComponent; Flags: sharedfile ignoreversion;
|
||||
Source: gen\firebird\bin\gbak.exe; DestDir: {app}\bin; Components: DevAdminComponent; Flags: ignoreversion;
|
||||
Source: gen\firebird\bin\gdef.exe; DestDir: {app}\bin; Components: DevAdminComponent; Flags: ignoreversion;
|
||||
Source: gen\firebird\bin\gfix.exe; DestDir: {app}\bin; Components: ServerComponent; Flags: sharedfile ignoreversion;
|
||||
Source: gen\firebird\bin\gfix.exe; DestDir: {app}\bin; Components: DevAdminComponent; Flags: ignoreversion;
|
||||
Source: gen\firebird\bin\gpre.exe; DestDir: {app}\bin; Components: DevAdminComponent; Flags: ignoreversion;
|
||||
Source: gen\firebird\bin\gsec.exe; DestDir: {app}\bin; Components: ServerComponent; Flags: sharedfile ignoreversion;
|
||||
Source: gen\firebird\bin\gsec.exe; DestDir: {app}\bin; Components: DevAdminComponent; Flags: sharedfile ignoreversion;
|
||||
Source: gen\firebird\bin\gsplit.exe; DestDir: {app}\bin; Components: DevAdminComponent; Flags: sharedfile ignoreversion;
|
||||
Source: gen\firebird\bin\gstat.exe; DestDir: {app}\bin; Components: ServerComponent; Flags: sharedfile ignoreversion;
|
||||
Source: gen\firebird\bin\ibguard.exe; DestName: fbguard.exe; DestDir: {app}\bin; Components: ServerComponent; Flags: sharedfile ignoreversion;
|
||||
Source: gen\firebird\bin\fb_lock_print.exe; DestDir: {app}\bin; Components: ServerComponent; Flags: sharedfile ignoreversion;
|
||||
#ifdef classic_server_install
|
||||
Source: gen\firebird\bin\fb_inet_server.exe; DestDir: {app}\bin; Components: ServerComponent; Flags: sharedfile ignoreversion;
|
||||
#else
|
||||
Source: gen\firebird\bin\fbserver.exe; DestDir: {app}\bin; Components: ServerComponent; Flags: sharedfile ignoreversion;
|
||||
#endif
|
||||
Source: gen\firebird\lib\libib_util.dll; DestName: ib_util.dll; DestDir: {app}\bin; Components: ServerComponent; Flags: sharedfile ignoreversion;
|
||||
Source: gen\firebird\bin\instreg.exe; DestDir: {app}\bin; Components: ClientComponent; Flags: sharedfile ignoreversion;
|
||||
Source: gen\firebird\bin\instsvc.exe; DestDir: {app}\bin; Components: ServerComponent; Flags: sharedfile ignoreversion;
|
||||
Source: gen\firebird\bin\isql.exe; DestDir: {app}\bin; Components: DevAdminComponent; Flags: ignoreversion;
|
||||
Source: gen\firebird\bin\qli.exe; DestDir: {app}\bin; Components: DevAdminComponent; Flags: ignoreversion;
|
||||
Source: output\doc\*.*; DestDir: {app}\doc; Components: DevAdminComponent; Flags: skipifsourcedoesntexist ignoreversion;
|
||||
Source: output\doc\sql.extensions\*.*; DestDir: {app}\doc\sql.extensions; Components: DevAdminComponent; Flags: skipifsourcedoesntexist ignoreversion;
|
||||
Source: gen\firebird\help\*.*; DestDir: {app}\help; Components: DevAdminComponent; Flags: ignoreversion;
|
||||
Source: gen\firebird\include\*.*; DestDir: {app}\include; Components: DevAdminComponent; Flags: ignoreversion;
|
||||
Source: gen\firebird\intl\fbintl.dll; DestDir: {app}\intl; Components: ServerComponent; Flags: sharedfile ignoreversion;
|
||||
Source: gen\firebird\lib\fbclient_ms.lib; DestDir: {app}\lib; Components: DevAdminComponent; Flags: ignoreversion;
|
||||
Source: gen\firebird\UDF\*.*; DestDir: {app}\UDF; Components: ServerComponent; Flags: sharedfile ignoreversion;
|
||||
Source: src\extlib\fbudf\fbudf.sql; DestDir: {app}\UDF; Components: ServerComponent; Flags: sharedfile ignoreversion;
|
||||
Source: src\extlib\ib_udf.sql; DestDir: {app}\UDF; Components: ServerComponent; Flags: sharedfile ignoreversion;
|
||||
Source: gen\firebird\examples\*.*; DestDir: {app}\examples; Components: DevAdminComponent; Flags: ignoreversion;
|
||||
Source: gen\firebird\examples\api\*.*; DestDir: {app}\examples\api; Components: DevAdminComponent; Flags: ignoreversion;
|
||||
Source: gen\firebird\examples\build_win32\*.*; DestDir: {app}\examples\build_win32; Components: DevAdminComponent; Flags: ignoreversion;
|
||||
Source: gen\firebird\examples\dyn\*.*; DestDir: {app}\examples\dyn; Components: DevAdminComponent; Flags: ignoreversion;
|
||||
Source: gen\firebird\examples\empbuild\*.*; DestDir: {app}\examples\empbuild; Components: DevAdminComponent; Flags: ignoreversion;
|
||||
Source: gen\firebird\examples\include\*.*; DestDir: {app}\examples\include; Components: DevAdminComponent; Flags: ignoreversion;
|
||||
Source: gen\firebird\examples\stat\*.*; DestDir: {app}\examples\stat; Components: DevAdminComponent; Flags: ignoreversion;
|
||||
Source: gen\firebird\examples\udf\*.*; DestDir: {app}\examples\udf; Components: DevAdminComponent; Flags: ignoreversion;
|
||||
;For now (RC2 timeframe) we are not recommending co-existence with other versions of Firebird or InterBase
|
||||
;so we can install the client library and its wrapper into {sys}
|
||||
;Source: output\bin\gds32.dll; DestDir: {app}\bin; Components: ClientComponent; Flags: overwritereadonly sharedfile promptifolder;
|
||||
;Source: output\bin\fbclient.dll; DestDir: {app}\bin; Components: ClientComponent; Flags: overwritereadonly sharedfile promptifolder;
|
||||
Source: gen\firebird\lib\fbclient.dll; DestDir: {sys}\; Components: ClientComponent; Flags: overwritereadonly sharedfile promptifolder;
|
||||
;Source: builds\install\arch-specific\win32\msvcrt.dll; DestDir: {sys}\; Components: ClientComponent; Flags: uninsneveruninstall sharedfile onlyifdoesntexist;
|
||||
;Source: builds\install\arch-specific\win32\msvcp{#msvc_version}0.dll; DestDir: {sys}\; Components: ClientComponent; Flags: uninsneveruninstall sharedfile onlyifdoesntexist;
|
||||
Source: src\extlib\fbudf\fbudf.sql; DestDir: {app}\examples; Components: ServerComponent; Flags: ignoreversion;
|
||||
Source: src\extlib\fbudf\fbudf.txt; DestDir: {app}\doc; Components: ServerComponent; Flags: ignoreversion;
|
||||
Source: lang_helpers\ib_util.pas; DestDir: {app}\include; Components: DevAdminComponent; Flags: ignoreversion;
|
||||
;Source: firebird\install\doc_all_platforms\Firebird_v1_ReleaseNotes.pdf; DestDir: {app}\doc; Components: DevAdminComponent; Flags: ignoreversion;
|
||||
;Source: firebird\install\doc_all_platforms\Firebird_v1_*.html; DestDir: {app}\doc; Components: DevAdminComponent; Flags: ignoreversion;
|
||||
|
||||
[UninstallRun]
|
||||
Filename: {app}\bin\instsvc.exe; Parameters: stop; StatusMsg: "Stopping the service"; MinVersion: 0,4.0; Components: ServerComponent; Flags: runminimized; Tasks: UseServiceTask; check: RemoveThisVersion;
|
||||
Filename: {app}\bin\instsvc.exe; Parameters: remove -g; StatusMsg: "Removing the service"; MinVersion: 0,4.0; Components: ServerComponent; Flags: runminimized; Tasks: UseServiceTask; check: RemoveThisVersion;
|
||||
Filename: {app}\bin\instreg.exe; Parameters: remove; StatusMsg: "Updating the registry"; MinVersion: 4.0,4.0; Flags: runminimized; check: RemoveThisVersion;
|
||||
|
||||
[UninstallDelete]
|
||||
Type: files; Name: {app}\*.lck
|
||||
Type: files; Name: {app}\*.evn
|
||||
|
||||
[_ISTool]
|
||||
EnableISX=true
|
||||
|
||||
[Code]
|
||||
program Setup;
|
||||
|
||||
const
|
||||
sWinSock2 = 'ws2_32.dll';
|
||||
sNoWinsock2 = 'Please Install Winsock 2 Update before continuing';
|
||||
sMSWinsock2Update = 'http://www.microsoft.com/windows95/downloads/contents/WUAdminTools/S_WUNetworkingTools/W95Sockets2/Default.asp';
|
||||
sWinsock2Web = 'Winsock 2 is not installed.'#13#13'Would you like to Visit the Winsock 2 Update Home Page?';
|
||||
ProductVersion = 'PRODUCT_VER_STRING';
|
||||
|
||||
var
|
||||
Winsock2Failure: Boolean;
|
||||
InterBaseVer: Array of Integer;
|
||||
// Likely values for installed versions of InterBase are:
|
||||
// [6,2,0,nnn] Firebird 1.0.0
|
||||
// [6,2,2,nnn] Firebird 1.0.2
|
||||
// [6,0,n,n] InterBase 6.0
|
||||
// [6,5,n,n] InterBase 6.5
|
||||
// [7,0,n,n] InterBase 7.0
|
||||
|
||||
FirebirdVer: Array of Integer;
|
||||
// Likely values for installed versions of Firebird are:
|
||||
// [6,2,0,nnn] Firebird 1.0.0
|
||||
// [6,2,2,nnn] Firebird 1.0.2
|
||||
// [6,2,3,nnn] Firebird 1.0.3
|
||||
// [1,5,0,nnnn] Firebird 1.5.0
|
||||
|
||||
fbclientStartCount,
|
||||
gds32StartCount : Integer;
|
||||
|
||||
procedure GetSharedLibCountAtStart;
|
||||
var
|
||||
dw: Cardinal;
|
||||
begin
|
||||
if RegQueryDWordValue(HKEY_LOCAL_MACHINE,
|
||||
'SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDLLs','C:\WINNT\System32\fbclient.dll', dw) then
|
||||
fbclientStartCount := dw
|
||||
else
|
||||
fbclientStartCount := 0;
|
||||
|
||||
if RegQueryDWordValue(HKEY_LOCAL_MACHINE,
|
||||
'SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDLLs','C:\WINNT\System32\gds32.dll', dw) then
|
||||
gds32StartCount := dw
|
||||
else
|
||||
gds32StartCount := 0;
|
||||
|
||||
end;
|
||||
|
||||
procedure SetSharedLibCountAtEnd;
|
||||
// gds32 and fbclient get registered twice as shared libraries.
|
||||
// This appears to be a bug in InnoSetup. It only appears to affect
|
||||
// libraries the first time they are registered, and it only seems
|
||||
// to affect stuff in the {sys} directory. To work around this we
|
||||
// check the count before install and after install.
|
||||
var
|
||||
dw: cardinal;
|
||||
begin
|
||||
if RegQueryDWordValue(HKEY_LOCAL_MACHINE,
|
||||
'SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDLLs','C:\WINNT\System32\fbclient.dll', dw) then begin
|
||||
|
||||
if (( dw - fbclientStartCount ) > 1 ) then begin
|
||||
dw := fbclientStartCount + 1 ;
|
||||
RegWriteDWordValue(HKEY_LOCAL_MACHINE,
|
||||
'SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDLLs','C:\WINNT\System32\fbclient.dll', dw);
|
||||
end;
|
||||
end;
|
||||
|
||||
if RegQueryDWordValue(HKEY_LOCAL_MACHINE,
|
||||
'SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDLLs','C:\WINNT\System32\gds32.dll', dw) then begin
|
||||
|
||||
if (( dw - gds32StartCount ) > 1 ) then begin
|
||||
dw := gds32StartCount + 1 ;
|
||||
RegWriteDWordValue(HKEY_LOCAL_MACHINE,
|
||||
'SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDLLs','C:\WINNT\System32\gds32.dll', dw);
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
function CheckWinsock2(): Boolean;
|
||||
begin
|
||||
Result := True;
|
||||
//Check if Winsock 2 is installed (win 95 only)
|
||||
if (not UsingWinNt) and (not FileExists(AddBackslash(GetSystemDir) + sWinSock2)) then begin
|
||||
Winsock2Failure := True;
|
||||
Result := False;
|
||||
end
|
||||
else
|
||||
Winsock2Failure := False;
|
||||
end;
|
||||
|
||||
function InitializeSetup(): Boolean;
|
||||
var
|
||||
i: Integer;
|
||||
begin
|
||||
|
||||
result := true;
|
||||
|
||||
if not CheckWinsock2 then
|
||||
exit;
|
||||
|
||||
//Look for a running version of Firebird
|
||||
i:=FindWindowByClassName('FB_Disabled');
|
||||
if ( i=0 ) then
|
||||
i:=FindWindowByClassName('FB_Server');
|
||||
|
||||
if ( i<>0 ) then begin
|
||||
result := false;
|
||||
MsgBox('An existing Firebird Server is running. You must close the '+
|
||||
'application or stop the service before continuing.', mbError, MB_OK);
|
||||
end;
|
||||
|
||||
//Check the shared library count.
|
||||
if ( result=true ) then
|
||||
GetSharedLibCountAtStart;
|
||||
|
||||
end;
|
||||
|
||||
procedure DeInitializeSetup();
|
||||
var
|
||||
ErrCode: Integer;
|
||||
begin
|
||||
// Did the install fail because winsock 2 was not installed?
|
||||
if Winsock2Failure then
|
||||
// Ask user if they want to visit the Winsock2 update web page.
|
||||
if MsgBox(sWinsock2Web, mbInformation, MB_YESNO) = idYes then
|
||||
// User wants to visit the web page
|
||||
InstShellExec(sMSWinsock2Update, '', '', SW_SHOWNORMAL, ErrCode);
|
||||
|
||||
end;
|
||||
|
||||
procedure DecodeVersion( verstr: String; var verint: array of Integer );
|
||||
var
|
||||
i,p: Integer; s: string;
|
||||
begin
|
||||
verint := [0,0,0,0];
|
||||
i := 0;
|
||||
while ( (Length(verstr) > 0) and (i < 4) ) do
|
||||
begin
|
||||
p := pos('.', verstr);
|
||||
if p > 0 then
|
||||
begin
|
||||
if p = 1 then s:= '0' else s:= Copy( verstr, 1, p - 1 );
|
||||
verint[i] := StrToInt(s);
|
||||
i := i + 1;
|
||||
verstr := Copy( verstr, p+1, Length(verstr));
|
||||
end
|
||||
else
|
||||
begin
|
||||
verint[i] := StrToInt( verstr );
|
||||
verstr := '';
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
function GetInstalledVersion(ADir: String): Array of Integer;
|
||||
var
|
||||
AString: String;
|
||||
VerInt: Array of Integer;
|
||||
begin
|
||||
if (ADir<>'') then begin
|
||||
GetVersionNumbersString( ADir+'\bin\gbak.exe', Astring);
|
||||
DecodeVersion(AString, VerInt);
|
||||
end;
|
||||
result := VerInt;
|
||||
end;
|
||||
|
||||
function GetFirebirdDir: string;
|
||||
//Check if Firebird installed, get version info to global var and return root dir
|
||||
var
|
||||
FirebirdDir: String;
|
||||
begin
|
||||
FirebirdVer := [0,0,0,0];
|
||||
RegQueryStringValue(HKEY_LOCAL_MACHINE,
|
||||
'SOFTWARE\FirebirdSQL\Firebird\CurrentVersion','RootDirectory', FirebirdDir);
|
||||
if (FirebirdDir<>'') then
|
||||
FirebirdVer:=GetInstalledVersion(FirebirdDir);
|
||||
end;
|
||||
|
||||
function GetInterBaseDir: string;
|
||||
//Check if InterBase installed, get version info to global var and return root dir
|
||||
var
|
||||
InterBaseDir: String;
|
||||
begin
|
||||
InterBaseVer := [0,0,0,0];
|
||||
RegQueryStringValue(HKEY_LOCAL_MACHINE,
|
||||
'SOFTWARE\Borland\InterBase\CurrentVersion','RootDirectory', InterBaseDir);
|
||||
if (InterBaseDir<>'') then
|
||||
InterBaseVer:=GetInstalledVersion(InterBaseDir);
|
||||
end;
|
||||
|
||||
//This function tries to find an existing install of Firebird 1.5
|
||||
//If it succeeds it suggests that directory for the install
|
||||
//Otherwise it suggests the default for Fb 1.5
|
||||
function InstallDir(Default: String): String;
|
||||
var
|
||||
InstallRootDir,
|
||||
InterBaseRootDir,
|
||||
FirebirdRootDir: String;
|
||||
begin
|
||||
InstallRootDir := '';
|
||||
|
||||
// Try to find the value of "RootDirectory" in the Firebird
|
||||
// registry settings. This is either where Fb 1.0 exists or Fb 1.5
|
||||
InterBaseRootDir:=GetInterBaseDir;
|
||||
FirebirdRootDir:=GetFirebirdDir;
|
||||
|
||||
if (FirebirdRootDir <> '') and ( FirebirdRootDir = InterBaseRootDir ) then //Fb 1.0 must be installed so don't overwrite it.
|
||||
InstallRootDir := Default;
|
||||
|
||||
if (( InstallRootDir = '' ) and
|
||||
( FirebirdRootDir = Default )) then // Fb 1.5 is already installed,
|
||||
InstallRootDir := Default; // so we offer to install over it
|
||||
|
||||
if (( InstallRootDir = '') and
|
||||
( FirebirdVer[0] = 1 ) and ( FirebirdVer[1] = 5 ) ) then // Firebird 1.5 is installed
|
||||
InstallRootDir := FirebirdRootDir; // but the user has changed the default
|
||||
|
||||
// if we haven't found anything then try the FIREBIRD env var
|
||||
// User may have preferred location for Firebird, but has possibly
|
||||
// uninstalled previous version
|
||||
if (InstallRootDir = '') then
|
||||
InstallRootDir:=getenv('FIREBIRD');
|
||||
|
||||
//if no existing locations found make sure we default to the default.
|
||||
if (InstallRootDir = '') then
|
||||
InstallRootDir := Default;
|
||||
|
||||
Result := ExpandConstant(InstallRootDir);
|
||||
|
||||
end;
|
||||
|
||||
function UseGuardian(Default: String): String;
|
||||
begin
|
||||
if ShouldProcessEntry('ServerComponent', 'UseGuardianTask')= srYes then
|
||||
Result := '1'
|
||||
else
|
||||
Result := '0';
|
||||
end;
|
||||
|
||||
function ServiceStartFlags(Default: String): String;
|
||||
var
|
||||
classic: String;
|
||||
begin
|
||||
classic := '';
|
||||
#ifdef classic_server_install
|
||||
classic := ' -classic';
|
||||
#endif
|
||||
Result := '';
|
||||
if ShouldProcessEntry('ServerComponent', 'UseGuardianTask')= srYes then begin
|
||||
if ShouldProcessEntry('ServerComponent', 'AutoStartTask')= srYes then
|
||||
Result := ' -auto ' + classic + ' -g '
|
||||
else
|
||||
Result := classic + ' -g ';
|
||||
end
|
||||
else
|
||||
if ShouldProcessEntry('ServerComponent', 'AutoStartTask')= srYes then
|
||||
Result := ' -auto ';
|
||||
end;
|
||||
|
||||
function InstallGuardianIcon(): Boolean;
|
||||
begin
|
||||
result := false;
|
||||
if ShouldProcessEntry('ServerComponent', 'UseApplicationTask')= srYes then
|
||||
if ShouldProcessEntry('ServerComponent', 'UseGuardianTask')= srYes then
|
||||
result := true;
|
||||
end;
|
||||
|
||||
function InstallServerIcon(): Boolean;
|
||||
begin
|
||||
result := false;
|
||||
if ShouldProcessEntry('ServerComponent', 'UseApplicationTask')= srYes then
|
||||
if ShouldProcessEntry('ServerComponent', 'UseGuardianTask')= srNo then
|
||||
result := true;
|
||||
end;
|
||||
|
||||
function StartApp(Default: String): String;
|
||||
var
|
||||
AppPath: String;
|
||||
begin
|
||||
AppPath:=ExpandConstant('{app}');
|
||||
//Now start the app as
|
||||
if ShouldProcessEntry('ServerComponent', 'UseGuardianTask')= srYes then
|
||||
Result := AppPath+'\bin\fbguard.exe'
|
||||
else
|
||||
#ifdef classic_server_install
|
||||
Result := AppPath+'\bin\fb_inet_server.exe';
|
||||
#else
|
||||
Result := AppPath+'\bin\fbserver.exe';
|
||||
#endif
|
||||
end;
|
||||
|
||||
procedure CurStepChanged(CurStep: Integer);
|
||||
var
|
||||
AppStr: String;
|
||||
begin
|
||||
if ( CurStep=csFinished ) then begin
|
||||
//If user has chosen to install an app and run it automatically set up the registry accordingly
|
||||
//so that the server or guardian starts evertime they login.
|
||||
if (ShouldProcessEntry('ServerComponent', 'AutoStartTask')= srYes) and
|
||||
( ShouldProcessEntry('ServerComponent', 'UseApplicationTask')= srYes ) then begin
|
||||
AppStr := StartApp('')+' -a';
|
||||
|
||||
RegWriteStringValue (HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Run', 'Firebird', AppStr);
|
||||
|
||||
end;
|
||||
end;
|
||||
|
||||
if ( CurStep=csFinished ) then
|
||||
//Check that the shared lib count is correct.
|
||||
SetSharedLibCountAtEnd;
|
||||
|
||||
end;
|
||||
|
||||
function FirebirdOneRunning: boolean;
|
||||
var
|
||||
i: Integer;
|
||||
begin
|
||||
result := false;
|
||||
|
||||
//Look for a running copy of InterBase or Firebird 1.0.
|
||||
i:=0;
|
||||
i:=FindWindowByClassName('IB_Server') ;
|
||||
if ( i<>0 ) then
|
||||
result := true;
|
||||
|
||||
end;
|
||||
|
||||
function StartEngine: boolean;
|
||||
begin
|
||||
result := not FirebirdOneRunning;
|
||||
end;
|
||||
|
||||
function RemoveThisVersion: boolean;
|
||||
//check if we are still the current version before removing
|
||||
var
|
||||
VersionStr: string;
|
||||
begin
|
||||
result := false;
|
||||
if RegQueryStringValue(HKEY_LOCAL_MACHINE,
|
||||
'SOFTWARE\FirebirdSQL\Firebird\CurrentVersion','Version', VersionStr ) then
|
||||
if (pos(ProductVersion,VersionStr)>0) then
|
||||
result := true;
|
||||
end;
|
||||
|
||||
begin
|
||||
end.
|
92
builds/install/arch-specific/mingw/super/Readme.txt
Normal file
92
builds/install/arch-specific/mingw/super/Readme.txt
Normal file
@ -0,0 +1,92 @@
|
||||
|
||||
==================================
|
||||
Firebird 1.5.0 (Win32 Build)
|
||||
==================================
|
||||
|
||||
****** NOTE ******
|
||||
|
||||
Please ignore this document for the time being.
|
||||
|
||||
This document is just a placeholder. NONE of the
|
||||
information refers to Firebird 1.5. An up-to-date
|
||||
readme file will be provided with a future version.
|
||||
|
||||
**** END NOTE ****
|
||||
|
||||
o Introduction TODO
|
||||
o Intended Users TODO
|
||||
o Features in this release (all platforms) TODO
|
||||
o Bugs fixed in this release TODO
|
||||
o Installation
|
||||
o Known Issues
|
||||
o Reporting Bugs
|
||||
o Requesting New Features
|
||||
|
||||
|
||||
Introduction
|
||||
============
|
||||
|
||||
|
||||
Intended Users
|
||||
==============
|
||||
|
||||
|
||||
Features in this release (all platforms)
|
||||
========================================
|
||||
|
||||
|
||||
Bugs fixed in this release (all platforms)
|
||||
==========================================
|
||||
|
||||
|
||||
Installing the self-installing executable
|
||||
=========================================
|
||||
|
||||
Please run the executable and read the accompanying installation
|
||||
instructions that are contained within the setup wizard.
|
||||
|
||||
|
||||
Known Issues
|
||||
============
|
||||
|
||||
There are no known issues at this time.
|
||||
|
||||
|
||||
Reporting Bugs
|
||||
==============
|
||||
|
||||
o Are you sure you understand how Firebird works?
|
||||
|
||||
Perhaps you are seeing the correct behaviour and you really have a
|
||||
support question. In this case contact the ib-support list server.
|
||||
|
||||
You may subscribe here:
|
||||
|
||||
mailto:ib-support-subscribe@yahoogroups.com
|
||||
|
||||
|
||||
o Still think it is a bug?
|
||||
|
||||
Check the list of Open Bugs. This can be found at
|
||||
|
||||
http://prdownloads.sourceforge.net/firebird/Firebird_v1_OpenBugs.html
|
||||
|
||||
An older version is contained in the doc directory of this release.
|
||||
|
||||
Otherwise, if you are reasonably sure it is a bug then please
|
||||
try to develop a reproducible test case. You can then submit it
|
||||
to the Firebird bug tracker at:
|
||||
|
||||
http://sourceforge.net/tracker/?atid=109028&group_id=9028&func=browse
|
||||
|
||||
|
||||
Requesting New Features
|
||||
=======================
|
||||
|
||||
Before submitting feature requests please review the existing
|
||||
feature request list. Chances are that someone has already thought
|
||||
of it. Existing feature requests can be browed here:
|
||||
|
||||
http://sourceforge.net/tracker/?atid=109028&group_id=9028&func=browse
|
||||
|
||||
|
Binary file not shown.
After Width: | Height: | Size: 151 KiB |
147
builds/install/arch-specific/mingw/super/installation_readme.txt
Normal file
147
builds/install/arch-specific/mingw/super/installation_readme.txt
Normal file
@ -0,0 +1,147 @@
|
||||
Firebird Database Server 1.5 Release Candidate 2
|
||||
================================================
|
||||
|
||||
This document is a guide to installing this package of
|
||||
Firebird 1.5 on the Win32 platform. These notes refer to the
|
||||
installation package itself, rather than Firebird 1.5 in general.
|
||||
|
||||
|
||||
Contents
|
||||
--------
|
||||
|
||||
o Before installation
|
||||
o Two Packages
|
||||
o Uninstallation
|
||||
o Other Notes
|
||||
o Installation from a batch file
|
||||
|
||||
|
||||
Before installation
|
||||
-------------------
|
||||
|
||||
One of the design goals of Firebird 1.5 is to allow different
|
||||
versions of Firebird (or InterBase) to run simultaneously.
|
||||
|
||||
Much work has been done on this installation script to support this
|
||||
aim, but that work is NOT yet complete.
|
||||
|
||||
There are still some known installation problems surrounding the issue
|
||||
of co-existence:
|
||||
|
||||
o Uninstalling Firebird 1.0 or 1.0.2 after installing this package
|
||||
will break this installation by removing some registry keys. The
|
||||
next maintenance release of Firebird 1.0 will correct this.
|
||||
|
||||
o Neither the Firebird 1.0 nor 1.0.2 installers handle shared
|
||||
library counts correctly. This will have unpredictable results
|
||||
when uninstalling one of these versions. For instance, gds32.dll
|
||||
may or may not exist if one of these earlier versions is uninstalled
|
||||
after installing this package.
|
||||
|
||||
o The server will not start if an existing Firebird or InterBase
|
||||
server is listening on the default port 3050. A future version of
|
||||
this installation script will likely detect this and prompt for a
|
||||
different port during the install. Until then it is necessary to
|
||||
edit the firebird.conf file manually.
|
||||
|
||||
To save yourself confusion while testing this release candidate it is
|
||||
recommended that you UNINSTALL all previous versions of Firebird 1.0,
|
||||
Firebird 1.5 or InterBase before installing this package.
|
||||
|
||||
|
||||
Two Packages
|
||||
------------
|
||||
|
||||
A subsidiary design goal is to allow developers to easily switch
|
||||
between the Super Server and Classic Architectures. Each architecture
|
||||
is encapsulated in a single binary. All that is required at a technical
|
||||
level is to choose which version of the server to execute.
|
||||
|
||||
Combining the two server architectures in a single installation package
|
||||
is doable, at the expense of bringing complexity to the installation
|
||||
process.
|
||||
|
||||
o A custom dialogue screen is required to ask the user to choose the
|
||||
desired architecture. This is supported by the installation builder
|
||||
but is not an 'out of the box' option.
|
||||
|
||||
o Uninstallation needs to check whether the running architecture has
|
||||
changed from the one originally installed.
|
||||
|
||||
These issues are solvable but that takes time. While waiting for the
|
||||
SuperInstaller to come along the existing installation script has been
|
||||
enhanced to ensure that repeated installation and uninstallation of
|
||||
each package works flawlessly. Switching between packages should
|
||||
require no more effort than uninstalling one and installing the other.
|
||||
|
||||
|
||||
Uninstallation
|
||||
--------------
|
||||
|
||||
This package should be uninstalled via the Control Panel. Alternatively
|
||||
it can be uninstalled by running unins000.exe from the installation
|
||||
directory.
|
||||
|
||||
|
||||
Other Notes
|
||||
-----------
|
||||
|
||||
Firebird requires WinSock2. All Win32 platforms should have this,
|
||||
except for Win95. A test for the Winsock2 library is made during
|
||||
install. If it is not found the install will fail. You can visit
|
||||
this link:
|
||||
|
||||
http://support.microsoft.com/default.aspx?scid=kb;EN-US;q177719
|
||||
|
||||
to find out how to go about upgrading.
|
||||
|
||||
|
||||
Installation from a batch file
|
||||
------------------------------
|
||||
|
||||
The setup program can be run from a batch file. This is useful if you wish
|
||||
to install the client across a network. The following parameters may be passed:
|
||||
|
||||
|
||||
/SP-
|
||||
Disables the 'This will install... Do you wish to continue?' prompt at
|
||||
the beginning of Setup.
|
||||
|
||||
/SILENT, /VERYSILENT
|
||||
Instructs Setup to be silent or very silent. When Setup is silent the
|
||||
wizard and the background window are not displayed but the installation
|
||||
progress window is. When a setup is very silent this installation
|
||||
progress window is not displayed. Everything else is normal so for
|
||||
example error messages during installation are displayed and the startup
|
||||
prompt is (if you haven't disabled it with the '/SP-' command line option
|
||||
explained above)
|
||||
|
||||
If a restart is necessary and the '/NORESTART' command isn't used
|
||||
(see below) and Setup is silent, it will display a Reboot now?
|
||||
messagebox. If it's very silent it will reboot without asking.
|
||||
|
||||
/NORESTART
|
||||
Instructs Setup not to reboot even if it's necessary.
|
||||
|
||||
/DIR="x:\dirname"
|
||||
Overrides the default directory name displayed on the Select Destination
|
||||
Directory wizard page. A fully qualified pathname must be specified. If
|
||||
the [Setup] section directive DisableDirPage was set to yes, this command
|
||||
line parameter is ignored.
|
||||
|
||||
/GROUP="folder name"
|
||||
Overrides the default folder name displayed on the Select Start Menu Folder
|
||||
wizard page. If the [Setup] section directive DisableProgramGroupPage was
|
||||
set to yes, this command line parameter is ignored.
|
||||
|
||||
/NOICONS
|
||||
Instructs Setup to initially disable the Don't create any icons check box
|
||||
on the Select Start Menu Folder wizard page.
|
||||
|
||||
/COMPONENTS="comma separated list of component names"
|
||||
|
||||
Choose from - ServerComponent, DevAdminComponent and ClientComponent
|
||||
|
||||
Overrides the default components settings. Using this command line parameter
|
||||
causes Setup to automatically select a custom type. A full install requires
|
||||
combining components.
|
Loading…
Reference in New Issue
Block a user