Subject Re: [firebird-support] Fb/2.1.2RC1 install problems
Author Helen Borrie
At 08:09 AM 22/01/2009, you wrote:
>Installing Firebird has been very easy. However,
>I've now tried to install Fb/2.1.2RC1 on (freshly
>installed) Windows 2003 Server SP2. This
>failed. I had administrator rights. MSI version
>is 3.01. Everything went smoothly until the
>final stages where I received messages about not
>being able to run instreg/instsvc/ instclient
>(not sure which (at least two different messages)
>- btw, does the install produce a log file?). We
>were trying to install SS (defaults
>everywhere). A Firebird entry was created in the Registry - it was empty IIRC.
>Well. After this I looked in Firebird's doc
>folder - and found some notes on installation:
>Using the Win32 Firebird Installer
>Don't overlook the need to have the Microsoft®
>Visual C and Visual C++ runtimes (msvcrt.dll and
>msvcpp60.dll, respectively) present in the system
>directory of all Windows servers and clients,
>including Windows Embedded installations. For
>your convenience, copies of these libraries will
>be placed in the \bin directory of the Firebird install. ...
> >>

This is wrong for Fb 2.0.x and 2.1.x - where did you find that? we need to get it updated.

>0. "READ THIS FIRST!" appears on page 13 :-)
>1. Should not "msvcpp60.dll" be "msvcp60.dll" ?

For v.2 and up, it should not be either.
For 2.0.x it should be msvcp70.dll and msvcr70.dll. For 2.1.x, it *must* be the equivalent redistributables for MSVC8, msvcp80.dll and msvcr80.dll. I need to find the misinformation and excise it.

>2. "system directory" - this is WINDOWS\SYSTEM32 ?

On your platform, not necessarily. :-( You need to read the updated part of the Installation PDF document and *I* need to find out where you stumbled on the outdated information.

>3. I did _not_ find either of these files in Firebird's bin folder

That's possibly a bug. The MSVC8 files and the manifest for a private assembly are certainly in the bin folder of the zip kit. I honestly don't know whether Paul (Reeves, who does the Windows kits) intended to include them in the bin directory of the binary installation.

This is a *beta* so we need as accurate a description of your experience with the installer as you can give - in firebird-devel or Tracker, please.

>4. Both files were found in my WINDOWS\SYSTEM32 (so things should be OK)

Not for 2.1.x/Server2003 SP2, unfortunately.

>There are previous Q/A here on install problems,
>but I didn't find anything "interesting".

You should be able to find some enlightenment in the Installation PDF, where Vlad has provided an explanation of the different ways of installing the MSVC8 assemblies and their effects. (printed page 15/PDF page 19, of the version in your doc directory).

FWIW, the whole area of installing v.2.1 and above (and documenting it) needs much more work. Vlad did some changes in v.2.1.2 that should make it easier to set things up right for the servers (including embedded) without having multiple copies of the assemblies all around the place.

I want to see things in a state where it's possible to give appropriate directions for installing what Microsoft calls "assemblies" in the right place for each platform. I don't think we are "there" yet....

The rules are *different* depending on what Windows OS and service pack level you are installing on. For Server2003 SP2 (AFAIU) you *do* need an MSVC8 assembly, ideally a private one that should be in $fbroot$\bin directory. If it isn't there, I think you are looking at a bug in the Fb 2.1.2 binary installer. The files you should see there are Microsoft.VC80.CRT.manifest, msvcp80.dll and msvcr80.dll.

On the download page for the 2.1.2 release candidate is a link to the Microsoft download of the Visual C v.8 redistributables (different downloads for 32-bit and 64-bit). I believe this installs the runtimes as a "shared assembly", which is not recommended for v.2.1.2. However, for your immediate experiments field-testing the release candidate, you might do well to uninstall Fb 2.1.2, then install the redistributables pack, then redo your 2.1.2 install....although, from my albeit confused understanding, v.2.1.2 works best with the *private* assembly.

The installer works fine on my Win2K box, as I already have the msvc8 runtimes in my system32 directory. This is OK for Win2K; although I do seem to recall I had to run regsvr32.exe to register them.

It's not OK for XP, Server2003 or Vista, though. They impose the new rules prohibiting this approach, which I'm not able to test myself. I recently set up an XP box (my first, ever), which is fully up to SP3. I'm running 2.0.4 on this box, though, and haven't tried to install 2.1.anything on it.