Jump to content

FireDac deployment on IIS with UniGui ?


Recommended Posts

How do you deploy a FireDac based UniGUI isapi DLL on IIS  so that it finds the FDConnections.ini file ?


Given the doc's say:




  • If ConnectionDefFileName is not specified:
    • Look for FDConnectionDefs.ini in an application EXE folder.
    • If the file above is not found, look for a file specified in the registry key HKCU\Software\Embarcadero\FireDAC\ConnectionDefFile. By default it is C:\Users\Public\Documents\Embarcadero\Studio\14.0\FireDAC\FDConnectionDefs.ini


Because its an isapi.dll and not an EXE what location will UniGui look for the FDCOnnectionDefs.ini file ?


Also with the 'MyApp.dll' running on isapi as non-current user, it won't look in HKCU ??


I could add some extra initial load code to read settings, but it would be nice if I could place it in a folder and be

loaded automatically ?


Any ideas ?








Link to comment
Share on other sites

After some playing I think the following is a cleaner solution:



1) Drop an FDManager onto the ServerModule (NOT the MainModule as you can only have 1 INSTANCE).

2) Click on the FDManager Events tab in the Object Inspector, this should show  and event called:   'BeforeLoadConnectionDefFile'

3) Double click this and enter the the following:


procedure TUniServerModule.FDManager1BeforeLoadConnectionDefFile(Sender: TObject);
var connDef: string;
    if FDManager1.ConnectionDefFileName.IsEmpty then
        connDef := 'FDConnectionDefs.ini'
        connDef := FDManager1.ConnectionDefFileName;
    FDManager1.ConnectionDefFileName :=  UniServerModule.StartPath + connDef;


That's it.  You don't have to close connections/activate queries/tables/etc etc.


If you don't enter a name in the ConnectionDefFileName for the FDManager it will default to the standard FDCOnnectionDefs.ini filename.

  • Upvote 1
Link to comment
Share on other sites


  • Create New...