Subject Re: [firebird-support] Trouble with Windows 7: Installing and starting SuperServer 2.1.3 from ZIP package
Author Matthias Hanft
Alan McDonald schrieb:
>
> what doc.pdf are you reading?
> read again.
> search for runtimes in Firebird_v2.1.3.InstallationGuide.pdf

Yes, that's what I was talking about.

> page 17 and page 31

Page 17/18:
- "Until V.2.1.1, the preferred way to do this was to install the
vcredist_32 or vcredist_64 Microsoft installer (.msi) package..."
Does not apply -> I'm using V.2.1.3.
- "For Windows 2000 and for WinXP and Server2003 prior to Service
Pack 1, you need(ed) to download and install the .msi Installer
software and then install the MSVC8 redistributable pack."
Does not apply -> I'm using Windows 7.
- "Private Assembly"
"However, from Firebird 2.1.2 onward, it becomes possible to isolate
the runtimes for your Firebird server or client installation in a
private assembly. The server engine and the client, as well as the
DLLs in Firebird's \intl folder, have been taught to search for the
private assembly�the two runtime DLLs and the manifest file
Microsoft.VC80.CRT.manifest�in the same folder as the engine
executable or client DLL."
I understand that paragraph that the files msvcp80.dll, msvcr80.dll,
and Microsoft.VC80.CRT.manifest must be "in the same folder" (/bin)
as "fbserver.exe" (/bin as well). They are. (just by unpacking the
ZIP file)

Meanwhile, I found "\system32\wccrt8_Win32.msi" in the ZIP file, but
Page 31 reads:
"Applies from V.2.1.2 Onward [...] Private assemblies are distributed
with applications and should be put into the application folder. Use
of the \system32 folder for assemblies is now prohibited on the XP,
Server2003 and Vista platform families." (which includes Windows 7)

and

"Installing Runtimes as a Private Assembly"
"To install the MSVC8 run-time libraries as a private assembly its
contents � the three DLLs mentioned above and the assembly's manifest
file, Microsoft VC80.CRT.manifest � must be put into every folder
where a dependent binary (.exe or .dll) resides [...]"

(does this include the /intl and/or /udf folder? or is it just enough
to have them in the /bin folder where fbserver.exe resides?)

And: Something seems to be missing here:
"...the THREE DLLs mentioned above and the assembly's manifest..."

The 3 DLLs "mentioned above" are (also Page 31):
"From Windows XP forward, shared libraries � such as the Visual C++
and Visual C runtimes msvcp80.dll, msvcr80.dll and mscvcm80.dll �
must be distributed as shared or as private assemblies."

In the ZIP file ("Firebird-2.1.3.18185-0_Win32.zip"), there were
only msvcp80.dll and msvcr80.dll, but NOT mscvcm80.dll in the /bin
directory.

So I'm a bit confused now: From Vista on, I must not use the MSI
package because installation in /system32 is prohibited; for a
"private assembly" it's enough to copy 3 DLLs to the FB/bin
directory, but just 2 DLLs are included in the ZIP file... and
Windows 7 is not mentioned at all in the installation docs (but
should be Vista-compatible anyway).

Argh! Installing FB on my Linux server was just a breeze, compared
to that DLL hell...

-Matt



[Non-text portions of this message have been removed]