Issue Details (XML | Word | Printable)

Key: CORE-1109
Type: Bug Bug
Status: Open Open
Priority: Minor Minor
Assignee: Paul Reeves
Reporter: michalk1
Votes: 1
Watchers: 1
Operations

If you were logged in you would be able to see more operations.
Firebird Core

FB control panel applet installation

Created: 25/Jan/07 11:22 AM   Updated: 13/Nov/07 07:04 AM
Component/s: Engine, Installation
Affects Version/s: 1.5.3, 2.0.0, 1.5.4
Fix Version/s: None

Environment: Windows Vista, Windows XP


 Description  « Hide
I have encountered the following problems in installation and behaviour of Firebird control panel applet (FB superserver installation):

- FB 1.5.3 on Win Vista
  The Firebird2Control.cpl panel brings down the entire control panel window with messages "Windows Explores has stopped working" and "Windows Explorer is restarting". It helps to delete Firebird2Control.cpl file from System32 directory.

- FB 1.5.4 RC1 both on Win XP and Vista
  Althouh the checkbox "Install Control Panel Apllet" is present in installation setup, the applet never gets installed.

- FB 2.0.0 on Win Vista
  The control panel installs, but all it's controls are disabled (grayed) by default. It's necessary to run it in a "legacy CPL elevated" mode or disable User Accont Control to make it work.


 All   Comments   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
michalk1 added a comment - 13/Nov/07 05:00 AM
My recent findings about Firebird control panel with actual FB versions:

- FB 1.5.4, FB 2.0.3, FB 2.1.0 Beta2 on Win XP
  Installs correctly, no problems.

- FB 1.5.4 on Win Vista
  Firebird2Control.cpl panel brings down the control panel window, the same problem as used to be with 1.5.3 mentioned above.

- FB 2.0.3, FB 2.1.0 on Win Vista
  The panel installs, but it has disabled controls. After it it closed for the first time, Windows propose to run it in "legacy" mode. Once accepted, it requires to confirm elevated rights every time it is run. I suppose this is correct as ordinary users shouldn't be allowed to start/stop the server, but it should probably behave this way right from the start without the need to confirm the legacy mode. Windows keep information about confirmed legacy mode in registry even after uninstall, so if you want to test it, remember to clean registry entries concerning firebird2control after each uninstall.

Paul Reeves added a comment - 13/Nov/07 05:14 AM
Reports regarding 1.5.3 and Vista are not really valid - it was released long before Vista.

Reports for 1.5.4 and Vista are useful, although it should be remembered that 1.5 in general was never really intended to run with Vista. I presume that by XP you mean the version with SP2 or whatever they called it.

The problem with the FB2 cpl applet and Vista is known and is a consequence of the improved MS experience. If anyone has any suggestions as to how to override this problem I'd gladly hear it. After all, the problem does not exist under Win 2K3.

Overall, Vista seems to be up there with Win ME and I'm hoping it suffers a similar fate, before we have to spend to much time reworking things that have worked satisfactorily on every version of Windows since NT4.0 and Win 98.

The XP report, however, is more serious and will be looked into.


Paul Reeves added a comment - 13/Nov/07 05:21 AM
Looks like our comments are overlapping.

> - FB 1.5.4 on Win Vista
> Firebird2Control.cpl panel brings down the control panel window, the same
> problem as used to be with 1.5.3 mentioned above.

This ought to be a badge of honour for us. There is no way we should be able to crash the control panel window. Perhaps a bug report to MS is more appropriate.

> - FB 2.0.3, FB 2.1.0 on Win Vista and legacy mode.

Do you have any info on how to make 'legacy mode' persistent?

Andreas Pohl added a comment - 13/Nov/07 05:39 AM
- FB 1.5.4 on Win Vista
Please notice that existence of Firebird's control panel makes it impossible to work with *all* control panels of Vista unless you delete it by yourself. You cannot even uninstall Firebird itself via system control panel because of crashing Windows Explorer before - every time.

This must be fixed in the Windows installer package and it's easy to replace control panel by control application located in bin directory of Firebird and by creating a link to it in program folder.

That I had to change in my installation package:
1. replaced cpl by an application (http://www.achim-kalwa.de/fbcc.phtml)
2. put it in /firebird/bin directory
3. introduced a link in Firebird's "program folder" to this tool

That fixed this very strange behaviour of Firebird installation. BTW, it tooks me days to find out what's the reason of crashing explorer. In never tought about FB installation because it was only one in a row of many required installations.

--
Andreas

Paul Reeves added a comment - 13/Nov/07 05:58 AM
Andreas,

First off, it should be noted that installing the cpl applet is optional, and you can disable installation via a command-line param. This was always intentional.

Secondly, the solution suggested above is not a solution to installing the applet as a control panel applet. ie, it doesn't show up in the Windows control panel. It is a workaround, but not a solution.

That said, I'm not really sure why the cpl applet for 1.5 should cause Vista problems, when the v2.0 applet works fine (albeit with the usual Vista nag screen.)

I'll take a closer look at this at some point, especially if we ever get to release a 1.5.5



Andreas Pohl added a comment - 13/Nov/07 06:38 AM
Paul,

thank you for responding.

> the cpl applet is optional

If nobody knows that this tool causes problem on Vista, why should they disable its installation?

> the solution suggested above is not a solution

Right. It's a working way and I personally like an visible link to a working tool in a program group more than a "hidden presence" of a pitfall applet.

> I'm not really sure why the cpl applet for 1.5 should cause Vista problems, when the v2.0 applet works fine

No doubt, there are some differences between both versions ;)

> I'll take a closer look at this at some point

Hopefully there is no need for a *new* Firebird-1.5-installation for all the *new* systems delivered with Vista (about 90% of new notebooks).

Paul, please don't misunderstand me: The applet by itself is a tool with minor priority for sure. But once installed it crashed the (Vista) system completly. No chance for workarounds: Yo can't change even network settings (!), no uninstalls etc. unless this little applet is deleted.

--
Andreas

michalk1 added a comment - 13/Nov/07 07:04 AM
Paul,

> Do you have any info on how to make 'legacy mode' persistent?

  it seems that legacy mode is persistent by default. Once there are the registry entries that sign Firebird2Control as legacy application, Windows don't ask again about it and just require the elevated rights every time it is run. There are two registry entries that seem to control it:

[HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Compatibility Assistant\Persisted]
"C:\\Windows\\System32\\Firebird2Control.cpl"=dword:00000010

and

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers]
"C:\\Windows\\System32\\Firebird2Control.cpl"="RUNASADMIN"

The first one is there just to remember whether Windows has already asked the question about legacy mode, the other controls the actual action, which is to request the elevated rights.

> That said, I'm not really sure why the cpl applet for 1.5 should cause Vista problems, when the v2.0 applet works fine (albeit with the usual Vista nag screen.)

Can't it be a library dependency problem ? AFAIK, new FB versions are build using different set of msvc*.dll files.

  As for the Win Vista, i'm afraid it won't be the case of Win ME and we will have to learn to live with it. The control panel applet is not a major problem as it is not essential to install it at all, but I expect more serious problems with the UAC feature, especially the way it handles legacy applications (those not containing Vistas manifests). UAC allows older application to modify files in Program Files folder and registry and pretents that the modifications were successful, but in reality writes those modifications just into user's local copy of those files - so called "compatibility files", so the changes are not visible by other users and system processes. Just imagine the situation that user modifies a file, say - firebird.conf - to make some settings, but the server doesn't recognize the change, because it works with the original file. I expect many support calls like this with Win Vista. But it doesn't belong here ...

Michal