- •Firebird 2 Migration & Installation
- •Table of Contents
- •Known Compatibility Issues
- •Two Changes to Note in V.2.1
- •The FIREBIRD Variable
- •Security in Firebird 2 (All Platforms)
- •Trusted Authentication on Windows
- •SQL Migration Issues
- •Changed Ambiguity Rules in SQL
- •Multiple Hits to Same Column Now Illegal
- •Query Plans
- •PSQL
- •Configuration Parameters
- •Command-line Tools
- •Change to gbak -R Semantics
- •Performance
- •Firebird API
- •Windows-Specific Issues
- •Windows Local Connection Protocol with XNet
- •Client Impersonation No Longer Works
- •Interactive Option Added to instsvc.exe
- •INSTALLATION NOTES
- •Choosing a Server Model
- •Database Compatibility Among Models
- •Full Servers
- •Embedded
- •Windows Installs
- •Choosing an Installation Method
- •READ THIS FIRST!
- •Naming databases on Windows
- •Other Pre-installation Issues
- •Installation of Microsoft system libraries
- •Zip kit install
- •Running Firebird as a service with a special user name
- •Installing Multiple Servers
- •Installing under 64-bit versions of Windows
- •Installation of fbclient.dll
- •Registry Key
- •Supporting legacy applications and drivers
- •InstClient.exe Tool
- •Cleaning up release candidate installs
- •Using the Win32 Firebird Installer
- •Uninstallation
- •Installing Superserver from a zip kit
- •Installing Classic Server from a zip kit
- •Simplified setup
- •Uninstallation
- •Other Win32 Issues
- •Updated Notes for Windows Embedded
- •Registry
- •Database Access
- •Authentication and Security
- •Compatibility
- •Installing an Embedded Server Application
- •Installation Structure Examples
- •POSIX Platforms
- •READ THIS FIRST
- •Setting Linux to Use the Old Threading Model
- •Installing on Linux
- •RPM Installer
- •Installing the Tarball
- •Testing your Linux installation
- •Step 1 - Accessing a database
- •Step 2 - Creating a database
- •Utility Scripts
- •Linux Server Tips
- •"Embedded" or direct access to database files
- •Uninstalling on Linux
- •Uninstalling an RPM package
- •Uninstalling a tarball installation
- •Solaris
- •MacOS X
- •FreeBSD
- •Debian
INSTALLATION NOTES
•If the host O/S is WinXP or later then you will need to check the version of the Windows installer. Run msiexec.exe from a console prompt and a help screen will be displayed. If it is earlier than v.3.0 you must upgrade.
Once you have msiexec.exe v3.0 or later you can then install the vccrt MSI file located in the \system32\ directory of the zip kits.
Running Firebird as a service with a special user name
Firebird can be made more secure on a Windows system if it is run as a service with its own user name. If you want to make use of the secure login feature, create a “firebird service user” on the system with any name and password you like. It must have the privileges for a normal user.
More information is in the document named README.instsvc.txt. If you have a zip kit, you will find it in the /doc/ directory of the zipfile's root. If you don't have a zip kit available, the file won't be available until after the installation. You can read the same document at this URL.
Installing Multiple Servers
Firebird 2.1 makes it easier than ever to run multiple servers simultaneously. However the second and subsequent servers must be installed manually. You can read more about this in the file install_windows_manually.txt available in the doc directory after installation, or it can be found at this URL.
Installing under 64-bit versions of Windows
The 64-bit binary installer includes a 32-bit client kit so that everything will work 'out of the box'. On the other hand, the zip kits are platform specific, so don't forget to install the 32-bit MS C runtime msi, along with the 32-bit client library if you need to use 32-bit applications on the server.
Simultaneous installation of 32-bit and 64-bit versions of Firebird is possible, but at least one must be installed and configured manually. Note that under these circumstances the FIREBIRD environment variable must NOT be defined at the system level.
Installation of fbclient.dll
Since Firebird 1.5, gds32.dll is not the “native” name of the client library. It is now called fbclient.dll. Given the problems that Microsoft have had with DLL hell it wouldn't make much sense if we continued to store the Firebird client library in the system directory. Furthermore, as we want to allow multiple engines to run simultaneously we would be creating our own DLL hell if we continued the practice of using the system directory for the client library.
So, from Firebird 1.5 on, the client library resides in the \bin directory along with all the other binaries. The installer provides the option (unchecked) to copy the client to the system directory for those who have applications that require to load them from there.
Registry Key
A Registry key has been added and all Firebird 2.0 compliant applications should use this key if they need to read a Registry key to locate the correct version of Firebird that they wish to use. The new key is:
15
INSTALLATION NOTES
HKEY_LOCAL_MACHINE\SOFTWARE\Firebird Project\Firebird Server\Instances
Firebird will guarantee that one entry under this key always exists. It will be known as
"DefaultInstance"
and will store the path to the root directory of (yes, you've guessed it) the default installation. Those that don't care about particular installations can always use the default instance to locate the fbclient.dll.
Future versions of Firebird will see other entries under Instances. Applications will be able to enumerate the Registry entries to determine which Server instance they wish to load.
Supporting legacy applications and drivers
Traditionally, applications that use InterBase or Firebird have expected to load the gds32.dll client library from the system directory. Firebird 2.0 ships with a tool named 'instclient.exe' that can install a clone of fbclient.dll to the Windows System directory. This clone gets patched on the fly so that its file version information begins with "6.3", to provide compatibility for old applications that check the GDS32.DLL file version and can not make sense of a number string such as "2.0".
InstClient.exe Tool
This 'instclient.exe' tool can also install the FBCLIENT.DLL itself in the Windows system directory, if required. This will take care of tools or applications that need to load it from there.
The instclient.exe utility should be located in the 'bin' directory of your Firebird installation and must be run from there in a command shell.
Usage of instclient.exe:
instclient i[nstall] [ -f[orce] ] library q[uery] library
r[emove] library
where library is: fbclient | gds32
'-z' can be used with any other option, prints version.
Version information and shared library counts are handled automatically. You may provide the -f[orce] option to override version checks.
Caution
If you -f[orce] the installation, it could break another Firebird or InterBase® version already installed. You might have to reboot the machine in order to finalize the copy.
For more details, see the document README.Win32LibraryInstallation.txt which is located in ..\doc.
16