; https://github.com/FirebirdSQL/firebird/blob/B3_0_Release/builds/install/arch-specific/win32/FirebirdInstall_30.iss ; Latest commit fce616b on May 2, 2022 ; gpre.exe, gsec.exe, gsplit.exe, instclient.exe and qli.exe files are not required #define AppVersion GetVersionNumbersString('Files\firebird.exe') #define MajorVersion "3" #define MinorVersion "0" [Setup] AppID=FBDBServer_{#MajorVersion}_{#MinorVersion}_x64 AppName=Firebird AppPublisher=Firebird Project AppPublisherURL=http://www.firebirdsql.org/ AppSupportURL=http://www.firebirdsql.org/ AppUpdatesURL=http://www.firebirdsql.org/ AppVerName=Firebird {#AppVersion} (x64) AppVersion={#AppVersion} ArchitecturesAllowed=x64 ArchitecturesInstallIn64BitMode=x64 DefaultDirName={commonpf64}\Firebird\Firebird_{#MajorVersion}_{#MinorVersion} DefaultGroupName=Firebird {#MajorVersion}.{#MinorVersion} (x64) DisableDirPage=yes DisableProgramGroupPage=yes OutputBaseFilename=Firebird-{#AppVersion}_0_x64 OutputDir=..\ PrivilegesRequired=admin SetupLogging=yes SetupMutex=Firebird SolidCompression=yes SourceDir=Files UninstallDisplayIcon={app}\firebird.exe VersionInfoVersion={#AppVersion} [Files] Source: "intl\fbintl.conf"; DestDir: "{app}\intl\"; Flags: onlyifdoesntexist; Source: "intl\fbintl.dll"; DestDir: "{app}\intl\"; Flags: sharedfile ignoreversion; Source: "plugins\udr\udrcpp_example.dll"; DestDir: "{app}\plugins\udr\"; Flags: ignoreversion; Source: "plugins\engine12.dll"; DestDir: "{app}\plugins\"; Flags: ignoreversion; Source: "plugins\fbtrace.dll"; DestDir: "{app}\plugins\"; Flags: ignoreversion; Source: "plugins\legacy_auth.dll"; DestDir: "{app}\plugins\"; Flags: ignoreversion; Source: "plugins\legacy_usermanager.dll"; DestDir: "{app}\plugins\"; Flags: ignoreversion; Source: "plugins\srp.dll"; DestDir: "{app}\plugins\"; Flags: ignoreversion; Source: "plugins\udr_engine.conf"; DestDir: "{app}\plugins\"; Flags: ignoreversion; Source: "plugins\udr_engine.dll"; DestDir: "{app}\plugins\"; Flags: ignoreversion; Source: "databases.conf"; DestDir: {app}; Flags: uninsneveruninstall onlyifdoesntexist; Source: "fb_lock_print.exe"; DestDir: {app}; Flags: sharedfile ignoreversion; Source: "fbclient.dll"; DestDir: {app}; Flags: overwritereadonly sharedfile promptifolder; Source: "fbsvcmgr.exe"; DestDir: {app}; Flags: ignoreversion; Source: "fbtrace.conf"; DestDir: {app}; Flags: uninsneveruninstall onlyifdoesntexist; Source: "fbtracemgr.exe"; DestDir: {app}; Flags: ignoreversion; Source: "firebird.conf"; DestDir: {app}; Flags: uninsneveruninstall; Source: "firebird.exe"; DestDir: {app}; Flags: sharedfile ignoreversion; Source: "firebird.msg"; DestDir: {app}; Flags: sharedfile ignoreversion; Source: "gbak.exe"; DestDir: {app}; Flags: sharedfile ignoreversion; Source: "gfix.exe"; DestDir: {app}; Flags: sharedfile ignoreversion; Source: "gstat.exe"; DestDir: {app}; Flags: sharedfile ignoreversion; Source: "ib_util.dll"; DestDir: {app}; Flags: sharedfile ignoreversion; Source: "icudt52.dll"; DestDir: {app}; Flags: sharedfile ignoreversion; Source: "icudt52l.dat"; DestDir: {app}; Flags: sharedfile ignoreversion; Source: "icuin52.dll"; DestDir: {app}; Flags: sharedfile ignoreversion; Source: "icuuc52.dll"; DestDir: {app}; Flags: sharedfile ignoreversion; Source: "instreg.exe"; DestDir: {app}; Flags: sharedfile ignoreversion; Source: "instsvc.exe"; DestDir: {app}; Flags: sharedfile ignoreversion; Source: "isql.exe"; DestDir: {app}; Flags: ignoreversion; Source: "msvcp100.dll"; DestDir: {app}; Flags: sharedfile ignoreversion; Source: "msvcr100.dll"; DestDir: {app}; Flags: sharedfile ignoreversion; Source: "nbackup.exe"; DestDir: {app}; Flags: ignoreversion; Source: "plugins.conf"; DestDir: {app}; Flags: ignoreversion; Source: "security3.fdb"; DestDir: {app}; Flags: uninsneveruninstall onlyifdoesntexist; Source: "zlib1.dll"; DestDir: {app}; Flags: sharedfile ignoreversion; [Run] Filename: {app}\instreg.exe; Parameters: "install"; Flags: runminimized; Filename: {app}\instsvc.exe; Parameters: "remove"; Flags: runminimized; Filename: {app}\instsvc.exe; Parameters: "install -auto -n DefaultInstance"; Flags: runminimized; Filename: {app}\instsvc.exe; Parameters: "start -n DefaultInstance"; Flags: runminimized; [UninstallRun] Filename: {app}\instsvc.exe; Parameters: "stop -n DefaultInstance"; Flags: runminimized; RunOnceId: StopService Filename: {app}\instsvc.exe; Parameters: "remove -n DefaultInstance"; Flags: runminimized; RunOnceId: RemoveService Filename: {app}\instreg.exe; Parameters: "remove"; Flags: runminimized; RunOnceId: RemoveRegistryEntry [UninstallDelete] Type: filesandordirs; Name: {app} [Code] procedure CurStepChanged(CurStep: TSetupStep); var AStringList: TStringList; TempDir: String; ResultCode: Integer; CmdStr: String; begin case CurStep of ssPostInstall: begin //Setup SYSDBA Password TempDir:=ExpandConstant('{tmp}'); CmdStr:=ExpandConstant('{app}\isql.exe'); AStringList:=TStringList.create; with AStringList do begin Add('create or alter user SYSDBA password ''masterkey'' using plugin Srp;'); Add('commit;'); Add('exit;'); SaveToFile(Tempdir+'\temp.sql'); end; Exec(CmdStr,' -m -m2 -user SYSDBA -i '+TempDir+'\temp.sql -o '+TempDir+'\temp.sql.txt security.db',TempDir,SW_HIDE,ewWaitUntilTerminated,ResultCode); DeleteFile(TempDir+'\temp.sql'); end; end; end;