Subject Re: [firebird-support] firebird.msg location
Author Gabor Boros
Dear Helen,

I don't want to fight with you but I have some experience with FB
2.1.1(2.1.2) about this things.

Helen Borrie írta:
> At 06:35 AM 28/01/2009, you wrote:
>> Hello,
>>
>> On the client computer i install only fbclient.dll and firebird.msg.
>> i put these 2 files in folder : C:\Program Files (x86)\Firebird\
>>
>> but i receive this error :
>>
>> can't format message 13:375 -- message file C:\Program Files (x86)
>> \firebird.msg not found
>>
>> it's seam that fbclient.dll look for firebird.msg in one level up (here
>> in C:\Program Files (x86)) ... why ? what the workaround ?
>
> 1. If you are using the correct fbclient.dll for the server version then the client does not need to read any firebird.msg. That is the preferred solution, call it "Fix A".

If the registry entry not exist you need the firebird.msg n the client
app's root dir and not fbclient's root dir.
If you have an istallation without the registry entry and try to connect
to a wrong db alias etc. you get a "can't format..." message if you not
have the firebird.msg file in client app's dir. This is true for ISQL
also in example. Copy the isql.exe to an arbitrary directory and start
it. The first line is "can't format...".
With IBExpert the message is "can't format message 13:76 -- message file
C:\Program Files\HK-Software\firebird.msg not found."
Not found in IBExpert.exe's parent directory and not in fbclient's
parent directory. The result is same if the fbclient placed in system32
or in an another directory. I tested the fbclient's root dir thing too,
but result is firebird.msg not found too. E.g. if use the fbclient.dll
from C:\testdir\fb_client_dir and C:\testdir contains the firebird.msg
file the result is "can't format...".

Tested it now again because I want to give right information. ;-)
I hope you understand my In-glish. ;-)

>
> 2. If you want to stay with the *wrong* fbclient.dll then the client needs to have the *correct* firebird.msg available to look up. "Available" means that fbclient.dll must know where to find it. By default, it looks into the parent directory above where fbclient.dll is located.
> -- so, fix B is to create a C:\Program Files (x86)\Firebird\bin subdirectory and move fbclient.dll to there.
>
> Other alternatives:
> -- Fix C is to set the FIREBIRD variable on the client at system level, pointing it to the location of the *correct* firebird.msg
>
> -- Fix D is to add a Registry entry on the client, similar to the one that is installed on the server but with the DefaultInstance key pointing to the local subdirectory where you have the correct firebird.msg file
>
> ./heLen

Gabor