dBASE Runtime und BDE autom. installieren

Wenn Sie mit dBASE Plus eigene Programme erstellen und diese in kompilierter Version als EXE-Datei weitergeben, muss auf dem PC Ihrer Kunden jeweils die dBASE Runtime und die BDE (Borland Database Engine) installiert sein. Wenn das noch nicht der Fall ist müssen Sie diese beiden Produkte installieren (lassen), damit Ihr EXE-Programm dort lauffähig ist.

Es ist sinnvoll, die originale Runtime-Installation des dBASE-Herstellers zu verwenden. Diese installiert sowohl die Runtime als auch die BDE, und stellt zudem sicher, dass alle Registry-Einträge vorhanden sind. Runtime und BDE sollten in jeweils eigenen Verzeichnissen installiert werden. Das erhöht die Übersicht und erleichtert die spätere Pflege bei Updates. Ihr eigenes Programm sollte übrigens weder im Runtime-Verzeichnis noch im BDE-Verzeichnis, sondern auch in einem eigenen Verzeichnis installiert werden.

Sie können alle aktuellen und auch noch viele ältere Runtime-Versionen von dBASE Plus inkl. der BDE direkt auf den » Support-Seiten des dBASE-Herstellers laden. Gehen Sie dort zum Seitenbereich “dBASE Plus Runtimes” und wählen die für Ihre dBASE-Version passende Runtime zum Download. Speichern Sie die Datei am besten unter einem einfachen Namen, etwa DBASERUN.EXE, das macht die spätere Anwendung leichter.

Es können problemlos verschiedene Runtime- und BDE-Versionen auf einem PC installiert sein, so das Sie sich um evtl. bereits beim Kunden vorhandene ältere Versionen im Regelfall nicht kümmern müssen. Da Sie nicht wissen ob auf dem Ziel-PC evtl. andere Programme eine andere Runtime-Version benötigen ist es auch ratsam, bestehende Runtimes nicht einfach platt zu machen, sondern Ihre Version in einem eigenen neuen Verzeichnis zu installieren.

Achten Sie darauf, auf den Ziel-PCs dieselbe Runtime-Version zu installieren, die Sie auch für Programmierung und Kompilierung Ihres EXE-Programms verwenden. Zwar spielt es i.d.R. keine grosse Rolle, wenn sich Unterversionen unterscheiden, doch die Hauptversionen sollte gleich sein. Ein Beispiel: wenn Sie mit dBASE Plus Version 2.72 kompilieren, sollte im Idealfall auch die Runtime 2.72 verwendet werden, oder zumindest eine aus der Reihe 2.7x, also 2.70, 2.71 oder auch 2.73. Eine andere Runtime, z. B. 2.61, 2.5 oder gar noch 2.2 könnte dagegen evtl. nicht funktionieren.

Im Regelfall machen also kleine Unterschiede ab der dritten Stelle der Versionsnummer keine ernsthaften Probleme. Es sei denn, Sie benutzen ein spezielles Feature, das erst ab einer bestimmten Version eingeführt wurde. Oder ein Fehler wurde erst ab einer bestimmten Version behoben, dann sollte das natürlich schon möglichst genau passen.

Ergänzung Herbst 2012: die folgenden Tips zur autom. Installation von Runtime und BDE funktionieren leider ab Version 2.8 nicht mehr, da der Hersteller das Setup-Programm geändert hat und die hier beschriebenen Parameter plötzlich ignoriert werden. Ich lasse den Text trotzdem mal stehen, wer weiss …

Wenn Sie die Runtime-Installation des Herstellers verwenden bzw. zusammen mit Ihrem Produkt ausliefern, hat dieses Setup eigene Dialoge und fragt den Anwender z. B. auch, in welchen Verzeichnissen Runtime und BDE installiert werden sollen. Das kann einerseits hilfreich sein, andererseits sind heutzutage manche “Nur-Anwender” mit solchen Fragen bereits überfordert. Das Setup-Programm kennt jedoch einige Parameter, mit deren Hilfe man diese Rückfragen und auch die meisten Anzeigen abschalten kann. So können Runtime und BDE in einem Rutsch ohne jede Interaktion installiert werden.

Dies sind die Parameter für das Runtime-Installationsprogramm:

-s unterdrückt die Anzeige des Entpacken-Vorgangs zu Beginn der Installation

-a leitet einige weitere Parameter ein, und zwar

runtime=… Zielverzeichnis für die Runtime

bde=… Zielverzeichnis für die BDE

silent autom. Ablauf, ohne Dialoge, ohne Rückfragen

-sr unterdrückt die “Setup-Assistent wird vorbereitet” Anzeige

Alle Parameter sind optional. Werden sie verwendet ist jedoch die Reihenfolge sehr wichtig, damit sie auch ausgewertet werden. So wird z. B. -sr nur am Ende erkannt, und -a muss zwingend vor runtime= und bde= stehen, bzw. wenn -a fehlt wird der Rest ignoriert.

Beachten Sie die leider uneinheitliche Syntax. Einige Parameter müssen mit  eingeleitet werden, andere haben keinen Bindestrich (und dürfen auch keinen haben!). Gross- und Kleinschreibung ist immerhin beliebig. Wenn die Zielverzeichnisse für Runtime oder BDE Leerzeichen oder sonstige für Pfade eher fragwürdige Zeichen enthalten müssen sie in “” geschrieben werden. Wichtig: die Zielverzeichnisse müssen bereits existieren, sonst kommt eine nicht unterdrückbare Abfrage, ob die Verzeichnisse neu angelegt werden sollen.

Hier ein beispielhafter Aufruf für ein vollautomatisches Setup von dBASE-Runtime und BDE:

dbaserun.exe -s -a runtime=c:\dbase\runtime bde=c:\dbase\bde silent -sr

Der Name des Setupprogramms, hier dbrun262.exe, muss natürlich angepasst werden. Wenn Sie diese Datei über obigen Link vom Hersteller laden, hat sie einen haarsträubend langen und kryptischen Namen. Den können Sie natürlich so lassen, doch wenn Sie sich das Leben leichter machen wollen speichern Sie die Datei unter einem kurzen griffigen Namen.

Bleibt noch die Sache mit den Zielverzeichnissen, die existieren müssen um das Ganze wirklich ohne jede Belästigung vollautomatisch ablaufen zu lassen. Wie wäre es mit einer kleinen Batchdatei, die diese Verzeichnisse bei Bedarf anlegt und dann das Setupprogramm startet? Bitteschön, hier ist sie. Sie bekommt die beiden Zielverzeichnisse als Parameter.

@echo off
echo.
echo DARI – Dbase Automatic Runtime Installation
echo.

if “%1″==”?” goto SYNTAX
if “%1″==”-h” goto SYNTAX
if “%1″==”/h” goto SYNTAX
if “%1″==”” goto SYNTAX
if “%2″==”” goto SYNTAX

echo Runtime wird installiert, bitte etwas Geduld …
echo.

if not exist %1 md %1
if not exist %2 md %2

dbaserun.exe -s -a runtime=%1 bde=%2 silent -sr
goto FINE

:SYNTAX
echo Aufruf: dari param1 param2
echo.
echo param1 = Zielverzeichnis der Runtime
echo param2 = Zielverzeichnis der BDE
goto END

:FINE
echo OK

:END
echo.

Speichern Sie diese Befehle ab, z. B. als DARI.BAT oder mit welchen Namen Sie wollen. Anschliessend rufen Sie sie auf der DOS-Ebene (in der sog. MS-DOS Eingabeaufforderung, dem mit Abstand wichtigsten Windows-Programm) auf.

dari c:\dbase\runtime c:\dbase\plus

Wenn Sie die Batch mit /h oder /? aufrufen erscheint eine Hilfe zur Syntax, ebenso wenn die Parameter fehlen. Die Batch eignet sich auch sehr gut zur autom. Einrichtung der Runtime auf mehreren PCs. Einfach zusammen mit dem Setup der Runtime auf eine CD brennen, rein in den PC, Batch aufrufen, zwei Minuten die hoffentlich schöne Aussicht vor dem Fenster (des Gebäudes, nicht von Windows) geniessen, fertig. Na bitte, geht doch.

(Stand dieser Info: 2012)