Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Installationsort der DB einer Anwendung (https://www.delphipraxis.net/80141-installationsort-der-db-einer-anwendung.html)

manfred_h 3. Nov 2006 15:03

Datenbank: Firebird • Version: 1.5 • Zugriff über: Fibplus

Installationsort der DB einer Anwendung
 
Hallo zusammen

da ich seit einiger Zeit eine Anwendung entwickle bei der eine Datenbank
( Firebird Embeded ) eingesetzt wird, ist nun das Thema Ort der Installation aufgetaucht.

( Ist ein guter Artikel in der neuen c't 2006 Heft 23 )

Gehört die Datenbank jetzt in das Verzeichniss
C:\Dokumente und Einstellungen\<Benutzer>\Anwendungsdaten
und wenn ja wie sieht dan das bei einem Windows 9x aus?
Oder kann ich die DB auch im Anwendungsverzeichniss lassen?

Das Programm sollte möglichst auf allen Windows Versionen laufen.

Schalom
Manfred

mkinzler 3. Nov 2006 15:17

Re: Installationsort der DB einer Anwendung
 
Es kommt darauf an, ob mehrere Personen Zugriff haben sollen, dann Programmverzeichnis (bzw. Unterverzeichnis dessen). Wenn der Benutzer an verschiedenen Rechnern Arbeiten ist Userverzeichnis besser, da dieses Dank Synchronisationsmechanismus an allen Rechnern, an dener man sich anmeldet dann vorhanden ist ( bei Netzprofilen).

hoika 3. Nov 2006 15:19

Re: Installationsort der DB einer Anwendung
 
Hallo,

ist ja eigentlich Brust ;)
Naja, im Ernst.
Ich würde bei embedded die DB in das gleiche Verzeichnis packen wie die Exe.

Mit ExtractFilePath(Application.ExeName)+'data.fdb'
kannst du dann den Pfad jederzeit vor dem Connect bestimmen.
Und die Weitergabe erfolgt durch einfaches Kopieren eines einzigen Verzeichnisses.

Das einzige Problem hier ist, dass unter XP der Programme-Ordner
normalerwiese für Anwender schreibgeschützt ist.
Dass kann aber geändert werden.

Eine andere Lösung wäre, dass zusätzlich eine Ini-Datei
mit dem Pfad der DB mitinstalliert wird.
Dann kann der Anwender entscheiden, wo die Datei liegen soll.
Alternativ geht auch der registry.


Heiko

manfred_h 3. Nov 2006 15:26

Re: Installationsort der DB einer Anwendung
 
Zitat:

Zitat von mkinzler
Es kommt darauf an, ob mehrere Personen Zugriff haben sollen, dann Programmverzeichnis (bzw. Unterverzeichnis dessen).

Das Programm wird normalerweise auf Einzelplatzrechnern installiert.
Am liebsten währe es mir wenn den Reichtlinien entspricht das ich die
DB im App Verzeichniss habe. Damit währe es möglich das die App. auch von einem
USB-Stick läuft.
Habe aber was gelesen dass unter Vista der zugriff auf das App. Verzeichniss eingeschränkt
sein soll.

Kennt sich da jemand aus?

Shalom
Manfred

manfred_h 3. Nov 2006 15:33

Re: Installationsort der DB einer Anwendung
 
Zitat:

Zitat von hoika
Hallo,

ist ja eigentlich Brust ;)
Naja, im Ernst.
Ich würde bei embedded die DB in das gleiche Verzeichnis packen wie die Exe.

Mit ExtractFilePath(Application.ExeName)+'data.fdb'
kannst du dann den Pfad jederzeit vor dem Connect bestimmen.
Und die Weitergabe erfolgt durch einfaches Kopieren eines einzigen Verzeichnisses.

Heiko

Hallo Heiko

Im moment habe ich das so gelöst wie du es hier schilderst.

Danke
Manfred

DGL-luke 3. Nov 2006 15:48

Re: Installationsort der DB einer Anwendung
 
Vorsicht vor eingeschränkten benutzern! Die haben da möglicherweise gar keine Schriebrechte...

manfred_h 3. Nov 2006 16:06

Re: Installationsort der DB einer Anwendung
 
Zitat:

Zitat von DGL-luke
Vorsicht vor eingeschränkten benutzern! Die haben da möglicherweise gar keine Schriebrechte...

Dann kanst Du das Programm doch auch nicht installieren. ?
Das heisst es müsste es ein Admin erledigen und dann
sollte doch dr Zugriff auch als normaler User gehen. :roll:

Manfred

DGL-luke 3. Nov 2006 16:18

Re: Installationsort der DB einer Anwendung
 
nope.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:50 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz