On Monday 27 October 2014 17:28:27 Martijn Tonies (Upscene Productions) wrote:
>
> I know next to nothing about Firebird engine development, but at least
> in Windows, many applications set a mutex (or other shared structure)
> that's being checked against in the Uninstaller (like InnoSetup can do
> automagically for you, Database Workbench is detected as running,
> for example).

Sure, but that mutex is currently hard-coded at compile time. What you are 
suggesting is that InstanceN sets a mutex to distinguish it from Instance0. 
That might work but I'm not sure that InnoSetup supports it (although it can 
do pretty much anything.) I'm also not sure if that would solve the problem.

>
> What is - currently - the reason to keep supporting the cpl applet? Does it
> do anything more than just starting/stopping the service?

It has always allowed switching the guardian on and off, as well as switching 
between running as an app or a service. But if we supported multiple 
instances then the cpl applet would have to support it. And it ought, also, 
support switching between architectures. But I agree in its current format it 
is not so useful. ( And neither is the dialogue we have for fb running as an 
app. :-( ). I've always hoped that the project might attract developers who 
have some skills in building simple native gui apps. Although maintenance is 
slightly harder they are far more lightweight in comparison to having to 
create cross-platform gui's that require shipping runtime libraries that are 
larger than firebird itself.


> > There is also the fact that we can't easily track Firebird running as an
> > app. And neither the task bar icons nor the dialogue indicates anything
> > about the port or the architecture the fb app is using. So work would be
> > needed there, too.
>
> Are you sure? On the development machine that I used to install Fb 3.0,
> there were two instances running, both as an application instead of a
> service, and the installer responded saying there's an existing server
> running.

The installer checks for fb running on port 3050. I'm not sure if it checks 
for an instance in the process list. It does what it can and is quite 
thorough but it can only check for what it knows about or can reasonably 
guess. If you install fb as a service and then start an instance of fb as an 
app on port 3051 there is no way that the installer will detect that 
instance. And if the service is not running and it detects that you are 
installing over an existing v3 install it will assume you are doing an 
in-place upgrade. I'll look into that a bit more.



Paul
-- 
Paul Reeves
http://www.ibphoenix.com
Supporting users of Firebird

------------------------------------------------------------------------------
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to