Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Deploying Firebird Embedded unter Vista (https://www.delphipraxis.net/110571-deploying-firebird-embedded-unter-vista.html)

DelphiDeveloper 20. Mär 2008 10:29

Datenbank: Firebird Embedded • Version: 2.1 • Zugriff über: IBObjects 4.8

Deploying Firebird Embedded unter Vista
 
Nachdem ich nun einiges über UAC, Virtualisierung, Manifests und Signierung hier im Forum gelesen habe, möchte ich testhalber eine Setup Routine mit Inno Setup schreiben.

Ziel: Eine Applikation die Firebird embedded nutzt vista-gerecht zu deployen.

Hat alles schön funkioniert bis auf den Speicherort meiner Datenbank:

Hier die Zeile aus meinem Inno Skript:
Source: "C:\Users\ich\Documents\RAD Studio\Projekte\fB_2_1\MYDB.FDB"; DestDir: "{commonappdata}\my_demo_app"; Flags: ignoreversion

commonappdata steht für CSIDL_COMMON_APPDATA

Die Datenbank wird mit der Installationsroutine auch unter
C:\Users\All Users\my_demo erstellt.


Da ich das Setup aber als Admin ausführen muss, ist der Eigentümer der fdb Datei der Administrator.
Wenn ich mich nun als normaler Benutzer anmelde, habe ich nur Leserechte und kann das Programm nicht ausführen. Nur wenn ich das Programm "Als Admin ausführen" starte,
funkioniert es.

Nun meine konkrete Frage:
Wo speichert ihr bei einer Installation für Vista eure Datenbank ab? Ist CSIDL_COMMON_APPDATAder richtige Ort?

wenn ja, wie bekomme ich es per Delphi oder Installroutine hin, dass die Datenbank vom normalen Benutzer dort geöffnet werden kann!

mkinzler 20. Mär 2008 10:33

Re: Deploying Firebird Embedded unter Vista
 
Setzte doch einfach Schreibrechte auf diese Datei oder verwende ein nicht priviligiertes Verzeichnis

Lemmy 20. Mär 2008 10:36

Re: Deploying Firebird Embedded unter Vista
 
Hi,

Berechtigung setzen:

Code:
[Dirs]
Name: {commonappdata}\{#ApplicationName}; Permissions: everyone-full
Name: {commonappdata}\{#ApplicationName}\Datenbank; Permissions: everyone-full
einfach auf deine Pfade anpassen und gut ist....

Pascal P 20. Mär 2008 10:40

Re: Deploying Firebird Embedded unter Vista
 
Ich würde es eher damit machen:

Code:
[Dirs]
Name: {commonappdata}\my_demo_app; Permissions: authusers-modify
....
Source: "C:\Users\ich\Documents\RAD Studio\Projekte\fB_2_1\MYDB.FDB"; Permissions: authusers-modify; DestDir: "{commonappdata}\my_demo_app"; Flags: ignoreversion
Damit haben normale User auch Zugriff auf die Datei, aber eben nicht jeder.

DelphiDeveloper 20. Mär 2008 10:48

Re: Deploying Firebird Embedded unter Vista
 
Danke @Lemmy für die schnell antwort.

Funktioniert wie gewollt:

Habe noch ein wenig in der Innosetp Hilfe gelesen und ein
Permissions: authusers-modify
reicht für mein Problem schon aus.

Lemmy 20. Mär 2008 11:48

Re: Deploying Firebird Embedded unter Vista
 
Zitat:

Zitat von Pascal P
Ich würde es eher damit machen:

Danke für den Hinweis!!!


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:23 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