Einzelnen Beitrag anzeigen

Benutzerbild von Domo Sokrat
Domo Sokrat

Registriert seit: 14. Mai 2003
Ort: Wehrheim / Ts.
235 Beiträge
 
Delphi 2006 Professional
 
#10

Versuch's mal mit Inno Setup ...

  Alt 17. Jun 2003, 13:02
Pssst, ey 8) !

Wie wär's mal mit 'nem anderen Setup-Tool ?!? (Getreu dem Motto: "Give Inno Setup a Chance...")

Ich hatte mal ein DB-Projekt unter D3 pro. Die BDE war auf Version 5.11 aktualisiert (mehr ging nicht). Es wurde eine separate Installationsroutine für die BDE, incl. der SQL-Links für Interbase, benötigt. Da ich mit dem Installshield nicht so kann, hab' ich das ganze mit Inno Setup zusammengestellt. Zur Hilfe nahm ich hier das "Installing BDE How-To" von den Inno-Setup-Seite.

Beim Zustammstellen der Installationsfiles greift Inno Setup auf die BDE-Installation des Rechners zu, auf dem es gestartet wird. Wenn also eine deutsche BDE installiert ist, dann wird auch die deutsche Version verarbeitet.


Zutaten für das Ganze:
  • - Inno Setup (aktueller Release ist z. Z. 3.0.7)

    - BDE 5.11-Installation:
    • - MiniReg.exe
      - BDEInst.dll aus der BDEInst.cab
      - SQL_Int.cnf
      - SQLInt32.dll

Script 1 (Installation der BDE 5.11 mit anschließender Interbase SQL-Links Installation):

Code:
[Setup]
AppName=BDE Version 5.11
AppVerName=Borland DataBase Engine Version 5.11
AppCopyright=Copyright (C) Borland, Inc.
DisableReadyMemo=Yes
CreateAppDir=No


[Files]
; BDE-DLL aus der CAB-Datei und Registrierungs-Utility
Source: "MiniReg.EXE"; DestDir: "{tmp}"; Flags: deleteafterinstall
Source: "BDEInst.DLL"; DestDir: "{tmp}"; Flags: deleteafterinstall
Source: "InterBase SQL Links für BDE 5.11.EXE"; DestDir: "{tmp}"; Flags: deleteafterinstall


[Run]
; BDE installieren
Filename: "{tmp}\MiniReg.EXE"; Parameters: """{tmp}\BDEInst.DLL"

; SQL-Links für InterBase kopieren
Filename: "{tmp}\InterBase SQL Links für BDE 5.11.EXE"; Flags: postinstall

Script 2 (Installation der Interbase SQL-Links für die BDE 5.11):

Code:
[Setup]
AppName=SQL Links für InterBase
AppVerName=SQL Links für InterBase (BDE Version 5.11)
AppCopyright=Copyright (C) Borland, Inc.
CreateAppDir=No
DisableReadyMemo=Yes
DisableReadyPage=Yes
DisableFinishedPage=Yes
DisableStartUpPrompt=Yes

[Files]
; SQL-Links-Trieber und Konfig-Datei
Source: "SQL_Int.CNF"; DestDir: "{reg:HKLM\SOFTWARE\Borland\Database Engine,DLLPATH|.}"
Source: "SQLInt32.DLL"; DestDir: "{reg:HKLM\SOFTWARE\Borland\Database Engine,DLLPATH|.}"

[Registry]
; Einträge für die InterBase SQL-Links
Root: HKLM; Subkey: "SOFTWARE\Borland\Database Engine\Settings\DRIVERS\INTERBASE"
Root: HKLM; Subkey: "SOFTWARE\Borland\Database Engine\Settings\DRIVERS\INTERBASE\DB OPEN"
Root: HKLM; Subkey: "SOFTWARE\Borland\Database Engine\Settings\DRIVERS\INTERBASE\DB OPEN"; ValueType: String; ValueName: "SERVER NAME";        ValueData: "IB_SERVER:/PATH/DATABASE.GDB"
Root: HKLM; Subkey: "SOFTWARE\Borland\Database Engine\Settings\DRIVERS\INTERBASE\DB OPEN"; ValueType: String; ValueName: "USER NAME";          ValueData: "SYSDBA"
Root: HKLM; Subkey: "SOFTWARE\Borland\Database Engine\Settings\DRIVERS\INTERBASE\DB OPEN"; ValueType: String; ValueName: "OPEN MODE";          ValueData: "READ/WRITE"
Root: HKLM; Subkey: "SOFTWARE\Borland\Database Engine\Settings\DRIVERS\INTERBASE\DB OPEN"; ValueType: String; ValueName: "SCHEMA CACHE SIZE";  ValueData: "8"
Root: HKLM; Subkey: "SOFTWARE\Borland\Database Engine\Settings\DRIVERS\INTERBASE\DB OPEN"; ValueType: String; ValueName: "LANGDRIVER";         ValueData: ""
Root: HKLM; Subkey: "SOFTWARE\Borland\Database Engine\Settings\DRIVERS\INTERBASE\DB OPEN"; ValueType: String; ValueName: "SQLQRYMODE";         ValueData: ""
Root: HKLM; Subkey: "SOFTWARE\Borland\Database Engine\Settings\DRIVERS\INTERBASE\DB OPEN"; ValueType: String; ValueName: "SQLPASSTHRU MODE";   ValueData: "SHARED AUTOCOMMIT"
Root: HKLM; Subkey: "SOFTWARE\Borland\Database Engine\Settings\DRIVERS\INTERBASE\DB OPEN"; ValueType: String; ValueName: "SCHEMA CACHE TIME";  ValueData: "-1"
Root: HKLM; Subkey: "SOFTWARE\Borland\Database Engine\Settings\DRIVERS\INTERBASE\DB OPEN"; ValueType: String; ValueName: "MAX ROWS";           ValueData: "-1"
Root: HKLM; Subkey: "SOFTWARE\Borland\Database Engine\Settings\DRIVERS\INTERBASE\DB OPEN"; ValueType: String; ValueName: "BATCH COUNT";        ValueData: "200"
Root: HKLM; Subkey: "SOFTWARE\Borland\Database Engine\Settings\DRIVERS\INTERBASE\DB OPEN"; ValueType: String; ValueName: "ENABLE SCHEMA CACHE"; ValueData: "FALSE"
Root: HKLM; Subkey: "SOFTWARE\Borland\Database Engine\Settings\DRIVERS\INTERBASE\DB OPEN"; ValueType: String; ValueName: "SCHEMA CACHE DIR";   ValueData: ""
Root: HKLM; Subkey: "SOFTWARE\Borland\Database Engine\Settings\DRIVERS\INTERBASE\DB OPEN"; ValueType: String; ValueName: "ENABLE BCD";         ValueData: "FALSE"
Root: HKLM; Subkey: "SOFTWARE\Borland\Database Engine\Settings\DRIVERS\INTERBASE\DB OPEN"; ValueType: String; ValueName: "BLOBS TO CACHE";     ValueData: "64"
Root: HKLM; Subkey: "SOFTWARE\Borland\Database Engine\Settings\DRIVERS\INTERBASE\DB OPEN"; ValueType: String; ValueName: "BLOB SIZE";          ValueData: "32"
Root: HKLM; Subkey: "SOFTWARE\Borland\Database Engine\Settings\DRIVERS\INTERBASE\INIT"
Root: HKLM; Subkey: "SOFTWARE\Borland\Database Engine\Settings\DRIVERS\INTERBASE\INIT";   ValueType: String; ValueName: "VERSION";            ValueData: "4.0"
Root: HKLM; Subkey: "SOFTWARE\Borland\Database Engine\Settings\DRIVERS\INTERBASE\INIT";   ValueType: String; ValueName: "TYPE";               ValueData: "SERVER"
Root: HKLM; Subkey: "SOFTWARE\Borland\Database Engine\Settings\DRIVERS\INTERBASE\INIT";   ValueType: String; ValueName: "DLL32";              ValueData: "SQLINT32.DLL"
Root: HKLM; Subkey: "SOFTWARE\Borland\Database Engine\Settings\DRIVERS\INTERBASE\INIT";   ValueType: String; ValueName: "DRIVER FLAGS";       ValueData: ""
Root: HKLM; Subkey: "SOFTWARE\Borland\Database Engine\Settings\DRIVERS\INTERBASE\INIT";   ValueType: String; ValueName: "TRACE MODE";         ValueData: "0"
Ich hab' die separate BDE-Installation auf einem niegelnagelneu aufgesetzten Win98 getestet, sie einige Male wieder entfernt (siehe unten) und neu installiert, über die existierende Installationen drübergebügelt. Alle Testprogramme (angefangen beim FishFact bis hin zur eigentlichen Projekt-EXE) liefen einwandfrei.

Tipp Wenn die BDE mit den Projektfiles in einem Paket installiert werden soll, dann kann die BDE-Installation so in's Script eingebunden werden, wie die SQL-Links-Installation in's Script 1.

Nachteil an der separaten BDE-Installation über dieses Script: Sie kann nicht deinstalliert werden. Das muss man per Hand machen (vielleicht schreib' ich irgendwann mal ein kleines Tool,das das
bewerkstellig - wenn ich viel, viel Zeit habe):

Registry:
  • HKEY_LOCAL_MACHINE/SOFTWARE/BORLAND/
    • - den Ast DATABASE ENGINE entfernen
      - den Ast BLW32 entfernen
Dateisystem:
  • - BDEAdmin.cpl löschen (Windows Systemverzeichnis)
    - Verzeichnis ...\Borland\Gemeinsame Dateien\BDE (englische Version: ...\Borland Common Files\BDE) komplett löschen.

Probier's einfach mal aus (wenn Zeit ist und Du Interesse hast) ... 8) 8)
Michael Seeger
Vergesst nicht: Es wird überall nur mit Wasser gekocht
ZEOSLib - Admin-Team
ZeosLib-Forum
  Mit Zitat antworten Zitat