Login ProductsSalesSupportDownloadsAbout |
Home » Technical Support » ElevateDB Technical Support » Support Forums » ElevateDB General » View Thread |
Messages 1 to 8 of 8 total |
Creating an Installer that installs ElevateDB as a service |
Tue, Jul 19 2011 9:38 AM | Permanent Link |
George | I am looking to find a way to create an installer that will run some scripts to simplify my life when installing EDB server.
What I want to do is to create an installer that will do the following: 1. Install edbsrv.exe at a specific location (i.e. <Program Files>\CompanyName\EDB\). 2. Run the command "edbsrv.exe /install" to install it as a service. 3. Configure edbsrv (i.e. configuration files path, signature, large file support, etc). 4. Create users. 5. Create databases. 6. Start the service. Actually everything can be done, but I have no idea how to do point number 3. Is there a way to pass some more parameters to edbsrv.exe or another way to do that except form doing so manually? Also I have noticed that edbsrv does not interact with user desktop ever if this is checked to be allowed (currently using version 2.05.9). |
Tue, Jul 19 2011 10:00 PM | Permanent Link |
Carlton Craighead | I've done this a number of times for various apps (mostly C/S). Since the EDB configuration is just an ini file, include one with as many settings already prdefined as you can and emit it to the correct folder (e.g. for Inno: {commonappdata}\Elevate Software\ElevateDB Server (Unicode)). For any values that need to be set at runtime, have your installer prompt for those and then set them with whatever ini support your install tool provides. Sounds like you are doing C/S as well, but in the event you are not (or for local situations), then EDBEngine/EDBSession components can provide full configuration.
Certainly one can also use these 2 components for C/S apps as well, but I tend to mostly use stock EDB servers, but renamed to avoid config file collisions. Hope that helps. C |
Mon, Jul 25 2011 5:00 AM | Permanent Link |
George | Carlton thanks for your reply. It is true that what I am doing is a C/S application installation as you described it.
It seems that doing as you say could save me a lot of time, yet that implies that edbsrv and the configuration files should co-exist at the same folder (i.e. {commonappdata}\Elevate Software\ElevateDB Server (Unicode)). Also as I want to locate the database file at different location some times (i.e. different drive for backup purposes) that is not always helpful. What I am looking for is a way to set the parameters in the configuration file via my installer (InstallShield in my case, Inno is brilliand too). Of course I could give some default values to easy my life, but yet installation from installation varies depending on the needs of the clients. What I will try to do is to start a new application with a DB Engine embedded to try to set the variables from there. I just want to hope that setting the values from there, it will allow the service to use the same configuration later. |
Mon, Jul 25 2011 2:16 PM | Permanent Link |
Tim Young [Elevate Software] Elevate Software, Inc. timyoung@elevatesoft.com | Georgios,
<< Actually everything can be done, but I have no idea how to do point number 3. >> There are two ways to do this: 1) If you're using Delphi, then you can customize the edbsrvr.dpr project using Delphi 7 or higher (<EDBInstallDir>\servers\edbsrvr\source). This is nice because it will allow you to have the server "pre-configure" itself any time it is launched for the first time. You can simply have the server check it's edbsrvr.ini file at startup (main form create event handler) and then set any missing values. You can also use a local session to directly set up all users, databases, etc. 2) The second option is to create a command-line project in Delphi, or whatever development tool you're using, and then do the above in it instead. You can then just call this tool from your installer. The downside of this option is that the server will not be able to "self-repair" the edbsrvr.ini file if there are missing settings. << Also I have noticed that edbsrv does not interact with user desktop ever if this is checked to be allowed (currently using version 2.05.9). >> Vista and above (including 2008) have security settings that, by default, do not permit any interaction with the desktop. If you want to manage the server sessions remotely, you can do so from the ElevateDB Manager using a remote session (Session node/Manage Server Sessions). -- Tim Young Elevate Software www.elevatesoft.com |
Tue, Jul 26 2011 6:05 AM | Permanent Link |
George | Tim
I like the idea to be able to use an ini file to "pre-configure" the server. I am using RAD Studio 2007 (Delphi). Having a look to the source code of edbsrvr it seems to me that you already have implemented the part for reading from an ini file which is brilliant. However I cannot compile the source code as I am missing a few classes (TEDBTaskPaneScrollBox). Is it possible in future releases to include this feature so that I will not have to amend and recompile the source code each time? One more Q: Where does edbsrvr store its configuration to know how to load it each time? What I mean, is that even if I delete the configuration files the Database Engine will create new one at the same path. How does it knows the path? Is it a registry key value? |
Wed, Jul 27 2011 5:05 AM | Permanent Link |
George | Okay, here again, having a better look to the source code I found that the edbsrv.ini is located already on the computer that I am looking to install the engine. I found the file in the folder
"C:\Documents and Settings\All Users\Application Data\Elevate Software\ElevateDB Server" which is valid for Windows XP and Windows 2003 Server, while on Windows 7 I found it in "C:\ProgramData\Elevate Software\ElevateDB Server" which I guess it would be the same in Windows 2008 Server. Well I guess this answers my previous post. Thanks Tim and sorry for the previous post. |
Tue, Aug 9 2011 5:04 PM | Permanent Link |
Tim Young [Elevate Software] Elevate Software, Inc. timyoung@elevatesoft.com | Georgios,
<< I like the idea to be able to use an ini file to "pre-configure" the server. I am using RAD Studio 2007 (Delphi). Having a look to the source code of edbsrvr it seems to me that you already have implemented the part for reading from an ini file which is brilliant. However I cannot compile the source code as I am missing a few classes (TEDBTaskPaneScrollBox). >> In the \utilcomps subdirectory of the ElevateDB Additional Software and Utilities installation directory, you'll find a package called edbutilcompsdesign.dpk. Install it into the IDE, and you'll be able to recompile the ElevateDB Manager and/or ElevateDB Server projects. -- Tim Young Elevate Software www.elevatesoft.com |
Fri, Sep 16 2011 2:41 PM | Permanent Link |
Carlton Craighead | Sorry, just now saw your reply -- maybe you are way past this now. But just in case not, here is what I chose to do:
Using EDB, in C/S, as a service, with a renamed server binary. - Install installs the server binary to somewhere in Program Files - And installs the configured-as-must-as-possible EDB .ini file (with the same base name as the renamed server) in common app data folder (either Documents and Settings\All Users\Elevate... or ProgramData\Elevate..., based on OS) - Among the normal stuff, the server prompts also for database path (for new installs only), address, port, and encryption password), and sets these via ini management calls (default DB path is a company-specific folder in common app data) - Then the install calls a custom app with no interface to create users and the database For this application (.NET), the stock EDB server (renamed) is perfect. The business logic is .NET code, so I found this the only way to go. Patiently awaiting a server component to drop in so I can create a new custom server binary that includes both the server and the logic -- but no hurry I guess -- everything is working well. If you are using Delphi (which I normally use for such tasks), then you have more options. My only recent Delphi EDB project uses local, not C/S. C |
This web page was last updated on Monday, May 6, 2024 at 12:23 AM | Privacy PolicySite Map © 2024 Elevate Software, Inc. All Rights Reserved Questions or comments ? E-mail us at info@elevatesoft.com |