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