AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke RAD Server Ini oder Registry auslesen
Thema durchsuchen
Ansicht
Themen-Optionen

RAD Server Ini oder Registry auslesen

Ein Thema von nufus42 · begonnen am 15. Nov 2021 · letzter Beitrag vom 15. Nov 2021
Antwort Antwort
Benutzerbild von nufus42
nufus42

Registriert seit: 15. Jun 2007
3 Beiträge
 
Delphi 10.4 Sydney
 
#1

RAD Server Ini oder Registry auslesen

  Alt 15. Nov 2021, 15:14
Moin zusammen,
ich habe folgendes Problem.
Ich entwickle mit einer lizensierten Delphi Architect einen RAD Server Package für App-Anbindung.
Installation ist mit ner Rad Server Lizenz erfolgt.
Ich habe zwei Module im Package angelegt, die auf eine Firedac-Verbindung zugreifen.
Die Conncetion-Einstellungen werden aus einer Ini bzw. der Registry geladen.

Test in der IDE
Test auf dem Produktionsserver mit EMSDevServer
Test unter IIS

Nur im IIS ist die Verbindung zur Datenbank nicht lesbar und wird daher nicht gesetzt.

Test ohne DB-Anbindung läuft auch im IIS.

Also muß es meiner Schlußfolgerung nach der Punkt sein, daß das Package im ISAPI-Mode nicht auf Ini-Datei und/oder Registry zugreifen kann.

Gibt es hier von Euch Erfahrungen, best practices oder Hinweise, die mir weiterhelfen könnten?
A programmer is just a tool, which converts coffeine into code.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe
Online

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.475 Beiträge
 
Delphi 12 Athens
 
#2

AW: RAD Server Ini oder Registry auslesen

  Alt 15. Nov 2021, 15:21
Wo liegt die INI-Datei bzw. in welchem Zweig stehen die Registry-Einträge und wie greifst du darauf zu?
Unter welchem User wird der RAD-Server im IIS gestartet und hat dieser den benötigten Zugriff auf obige Ressourcen?
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von nufus42
nufus42

Registriert seit: 15. Jun 2007
3 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: RAD Server Ini oder Registry auslesen

  Alt 15. Nov 2021, 16:18
Die Ini ist im Package hart-codiert und liegt unter C:\inetpub\RADServer\radserver und ist (Ja, ich weiß) für Jeder freigegeben (Lesen, Schreiben, Ausführen).
Die Reg-Einträge liegen unter HKEY_CURRENT_USER und werden beim Start aus der Ini beschrieben.
Wenn die Ini nicht da ist oder lesbar/erreichbar wäre, könnte man die auch von Hand setzen (so der Plan nach dem ersten Zugriffsproblem).

Unter welchem User der RAD Server im IIS gestartet wird, weiß ich leider nicht.
Wie kriege ich das raus?

Laut Taskmgr ist nur ein User aktiv, nämlich der, mit ich angemeldet bin.
A programmer is just a tool, which converts coffeine into code.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe
Online

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.475 Beiträge
 
Delphi 12 Athens
 
#4

AW: RAD Server Ini oder Registry auslesen

  Alt 15. Nov 2021, 16:44
Der IIS verwaltet seine Module mit sogenannten Application Pools. Jedem diese App Pools ist ein Account zugeordnet, unter dem der Pool läuft. Standardmäßig legt der IIS beim Erzeugen eines neuen App Pools einen gleichnamigen User-Account an. Der hat aber nur die nötigsten Rechte um den App Pool zu betreiben.

Wenn die INI-Datei für jeden freigegeben ist, müsste die auch von RAD-Server gelesen werden können. Die Registry-Einträge landen dann auch in dem User-Zweig des App Pool Accounts (und nicht in deinem!).

Das ganze hier ist aber auch nur dann relevant, wenn es wirklich ein Zugriffsrechteproblem ist.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von nufus42
nufus42

Registriert seit: 15. Jun 2007
3 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: RAD Server Ini oder Registry auslesen

  Alt 15. Nov 2021, 17:40
Danke Danke Danke!

Ich hab das Problem nun gelöst.
Tatsächlich waren die Zugriffsrechte auf die Registry das Problem bzw auch die Usernamen.
Ich habe es nun wie folgt gelöst:
Auslesen aus der Ini in einem separaten Datenmodul bei Start. Im RAD Server Modul krieg ich das einfach nicht hin, egal mit welchen Rechten auf die Ini.
Und das ganze in der Registry speichern, da ich mit globalen Variablen merkwürdigerweise auch meine Probleme hatte beim Auslesen im RAD Modul
Ich habe jetzt doch HKEY_LOCAL_MACHINE/SOFTWARE genommen, wegen der wechselnden User.
Und GANZ WICHTIG! Die Rechte für die Gruppe IIS_IUSRS für den Registry-Schlüssel auf Vollzugriff gesetzt!
(Ich wußte bis heute nicht mal, daß das geht. Weil ich es noch nie brauchte wahrscheinlich. Ich bin doch auch nur Anwender und kein SysAdmin. )
Dann in den RAD Server Modulen aus der Registry auslesen und die Verbindung klappt.

Danke, Du hast mir mit Deinen Fragen und Hinweisen den Abend gerettet.
A programmer is just a tool, which converts coffeine into code.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:25 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