------------------------------------------------------------------------ CONTENTS ------------------------------------------------------------------------ 1. ABOUT THIS WISE SCRIPT 2. COMMAND LINE SWITCHES 3. REVISION HISTORY ------------------------------------------------------------------------ 1. ABOUT THIS WISE SCRIPT ------------------------------------------------------------------------ InterBase Client & Server Installation Program for Win32 This installation script is compiled with WISE InstallMaster and was created based upon the InterBase 5.5 Embedded Installation Guide and the InterBase 6 Installation script that was donated to the InterBase Community by the Carpe Diem R&D team at Best Software. (http://www.CarpeDiemETS.com). Please send any feedback or comments to "ibinstall@mail.com". ------------------------------------------------------------------------ 2. COMMAND LINE SWITCHES: ------------------------------------------------------------------------ "q" - perform a "quiet" installation (no user prompts for options) "p={default_path}" - specify default installation path NOTE: THIS MUST BE AT THE END OF THE COMMAND LINE OPTIONS (for example: "IBWin32Setup.exe A p=c:\ibpath"). If you use this command line switch and already have an existing version of InterBase installed, this Wise script will ignore the path setting and install InterBase in the same folder as the existing version of InterBase. Each component can be individually enabled, selected, or disabled by default. If you pass no command line switches, all components are enabled and selected by default, except the Server component which is not selected (checked) by default. To select (check) a specific component use the uppercase letter corresponding to that component. To prevent the user from changing the selection for a specific component use the lowercase letter corresponding to that component. You can combine this with the uppercase letter to select and disable (gray out) a component so that the user is forced to install that component. COMPONENTS: A = Server (NOT selected by default) B = Client (selected by default) C = Command Line Tools (selected by default) D = Windows Tools (selected by default) E = Developer Tools (selected by default) F = ODBC Driver (NOT selected by default) G = Example Programs & Databases (selected by default) SAMPLE USAGE: Note: The install executable name will either be IBWin32Setup.exe or FBWin32Setup.exe. The examples below all use IBWin32Setup.exe, but will also work for FBWin32Setup.exe. "IBWin32Setup A" - all components are enabled; server component is selected "IBWin32Setup a" - all components are enabled except server component which is NOT selected and is disabled "IBWin32Setup Aa" - all components are enabled except server component which is selected and disabled "IBWin32Setup aBcdefg" - all components are disabled except for the client component (which is selected) "IBWin32Setup qB" - run a quiet installation (no user prompts for destination folder, components, ODBC, or startup options) and install only the client "IBWin32Setup qA p=c:\ibpath" run a quiet installation all components are enabled sever component is selected default installation path is set to c:\ibpath NOTE: If you create a UDF folder under the folder where you are running the installation executable from, the installer will copy *.DLL from that folder to the InterBase installation's UDF folder. This is useful for anyone that wants to add their own UDFs to their installation (without have to customize the Wise script). ------------------------------------------------------------------------ 3. REVISION HISTORY ------------------------------------------------------------------------ 1.13 - 03/05/2002 ----------------- * Updated binaries to use 6.0.2.0 tagged build from http://mers.com. * Added gdef.exe to command line utilities. * Removed v5 folder and examples from examples. * Changed MSVCRT.DLL from version 5.0.0.7303 to 6.1.8293.0. * Updated IBConsole to build 343 (29 Jan 2002). * Updated Wise script to Wise version 9.01. * Changed file replacement options for all files with version info to only replace the file if the version is older (rather than if it was the or older). Thank you Wise for finally adding this ability since I've only been asking for it for 5 years! :) * Fixed bug in UDF path where it wouldn't copy files in UDF subfolder to installation destination UDF folder. Obviously nobody, including myself, actually tried to do it when I added that feature in v. 1.06. Sorry about that Andrea & Daniel--thanks for reporting it. I did test it this time too (sorry I didn't before), so it should work. * Removed IB 6 beta (field test) release notes PDF. * Changed install log file name to INSTALL_INTERBASE_OPEN.LOG. 1.12 - 09/08/2001 ----------------- * Added IB_SQL.exe to Windows tools. * Created special build for Firebird 1.0.0.338 Beta 2. 1.11 - 08/28/2001 ----------------- * Fixed typo causing server installation to set HKEY_LOCAL_MACHINE\SOFTWARE\Borland\InterBase\CurrentVersion\Version to a blank value. The script was using the variable IBVERSION (which didn't exist) rather than the correct variable IB_VERSION. * Changed progress meter descriptions that to remove "InterBase" prefix. For example, the progress meter will now state "Command line tools" rather than "InterBase command line tools". * Fixed typo with the script example usage. Incorrect: "IBWin32Setup qA pc:\ibpath" Correct: "IBWin32Setup qA p=c:\ibpath" CLARIFICATION: I received a "nice" email from a student in Bulgaria. This student was upset because I removed the UseCount registry keys in the verion 1.1 update. Those keys were: HKEY_LOCAL_MACHINE\SOFTWARE\Borland\UseCount HKEY_LOCAL_MACHINE\SOFTWARE\Borland\InterBase\UseCount HKEY_LOCAL_MACHINE\SOFTWARE\Borland\InterBase\CurrentVersion\UseCount A portion of the email stated: "I believe that its removal was a useless effort and, which is worse, shows a lack of in-depth knowledge of the InterBase product of the person who has made this change." Since I received this email, I thought I'd clarifiy why I removed the UseCount registry keys. First of all, to the best of my knowledge, they are not used by anything other than the installation scripts. The ONLY thing that the installation scripts do is create the keys and increment/decrement the values. The logical thing for the UseCount keys would be to tell an installer to NOT remove InterBase during an uninstall unless UseCount=1. The Borland uninstall routine does not even do this. So why would an installation script not use those keys? The answer is simple. On the Windows platform the industry-wide accepted standard way to flag files as shared and prevent them from being deleted during an uninstall (unless UseCount=1) is to use the following registry key: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\ CurrentVersion\SharedDLLs All installation packages (including the Borland InterBase 6 Certified Edition installer) use this to determine whether or not files should be deleted during an uninstall. Given that the only thing that the three InterBase UseCount keys are used for is to increment and decrement the key values, there is no real use for those keys. Even if there was a real use for UseCount, why are there three duplicate keys? Also, why is there an InterBase specific key stored at "HKLM\SOFTWARE\Borland"? Shouldn't InterBase specific keys be stored at "HKLM\SOFTWARE\Borland\InterBase"? If it is discovered there is valid use for those keys, then I will hapily add them back, but given that Borland doesn't even use them, I find it highly unlikely that they are used for anything. If anyone knows of a valid use of them, please let me know. 1.1 - 08/07/2001 ----------------- * Updated Borland binaries to 6.0.1.6 using the tagged version of the open-source binaries from http://mers.com built on 04/24/2001. * Replaced _FIREBIRD_ compiler variables with logic that looks at the script name. To create a Firebird install, you simply change the script name to FBWin32Setup.wse. The compiled setup script will be named FBWin32Setup.exe. The Borland InterBase script should be named IBWin32Setup.wse. The compiled setup script will be named FBWin32Setup.exe. * Changed _LOCALDIR_ compiler variable to _SOURCEDIR_ since source is more intuitive. * Changed default folder from "\Program Files\InterBase" to: Borland - "\Program Files\Borland\InterBase" Firebird - "\Program File\Firebird" * Changed Borland title from "InterBase 6" to "InterBase 6 Open Edition - 6.0.1.6" and changed Firebird title to "Firebird 0.9-4 Test 1" * Changed the name of installation log file (used by the uninstaller) to INSTALL_INTERBASE.LOG (for InterBase) and INSTALL_FIREBIRD.LOG (for Firebird). Changed the folder for the log file from the installation folder to the a subfolder called "uninstall". * Removed beta documentation PDF files. Beta documenation as available for download from Boland's website at: http://www.borland.com/techpubs/interbase * Since I removed the documentation, I changed the "f" component to control the ODBC driver is installation. * Added registry keys to support the Win2000 service description for InterBase Server and InterBase Guardian services. * Removed UseCount registry keys. I have found nothing that describes what these are used for an nobody from Borland has given me a reason as to why they should exist. They keys were: HKEY_LOCAL_MACHINE\SOFTWARE\Borland\UseCount HKEY_LOCAL_MACHINE\SOFTWARE\Borland\InterBase\UseCount HKEY_LOCAL_MACHINE\SOFTWARE\Borland\InterBase\CurrentVersion\UseCount * Decreased installer background image sizes significantly by reducing images to 256 colors. * Updated IBConsole to build 338. * Merged "Modify Start Options" and "Ready to Install!" pages into one page (eliminating unnecessary "Next" click). * Moved ODBC page out of main wizard block. This makes it easier to control as its own component. * Fixed problems with components select usage if path was used also. The problem was that any character (A-G) in the path would override a previously specified value for that property (or set a value if one had not been previously set). For example: If you did not want component F to be installed and used a command line of "qABCDE p=c:\Program Files\Borand\InterBase", the resuling components value would get calculated as "AaBCDdEeF" which would cause component F to get installed. Thanks to Carl Kazmierzak for catching this! Sorry it took so long for me to fix. 1.07 - 02/22/2001 (never published) ----------------- * Changed search for existing GDS32.DLL to look in the existing InterBase folder's \bin folder rather than the existing InterBase "root" folder. For example, it now looks for gds32.dll in C:\Program Files\Borland\InterBase\Bin rather than in C:\Program Files\Borland\InterBase. * Added IB_VERSION variable to store the current InterBase version since I forgot to set the registry keys for the version number when I updated the scripts to use the 6.0.1 build. This will also keep the Borland and Firebird version numbers separate as I was using the Borland version info on the Firebird build prior to this change. The registry key containing the version is at: HKEY_LOCAL_MACHINE\SOFTWARE\Borland\InterBase\Current Version\Version * Moved gpre.exe from the Command Line Utilities component to the Developer Tools component since it is used during application development. * Removed registry key: HKEY_LOCAL_MACHINE\SOFTWARE\Borland\InterBase\Current Version\DefaultMode I was reviewing the IB 5.5 Embedded Installation Guide and discoved that this registry key is not needed. * Added ibinstall.dll (InterBase 6 Install API) to the server component so that it will get installed for anyone trying to use the InterBase Express installation components. 1.06 - 02/11/2001 ----------------- * Added logic to copy {Installation_Source_Path}\UDF\*.DLL to {Destination_Path}\UDF. This was added because several people had requested that I add FREEUDF.DLL to the installation scripts. * Fixed logic problem where command line path was being ignored. Default installation directory was always "Program Files\InterBase" regardless of the command line switch path setting. * Fixed problem where subdirectories under \examples were not being included in the script (and therefore not getting installed). * Updated IBConsole to build 332. * Changed NT services options to create path names for the exectuables as short (8.3) file names to avoid possibility of getting: "Error 0193: %1 is not a valid NT application". I haven't heard of anyone report this error with these scripts, but this should prevent it from happening in all cases. See http://community.borland.com/article/0,1410,25842,00.html for more details about the problem. * Changed ODBC driver description to be consistent with the description used by the Borland 5.x Installations. Old description: INTERSOLV InterBase Driver (*.gdb) New (correct) description: INTERSOLV InterBase ODBC Driver (*.gdb) * Removed ReadMe button and references to readme.txt from the welcome dialog. 1.05 - 01/11/2001 ----------------- * Updated Borland Binaries to use the new build that has the security vulnerabilities fixed. * Updated text on some of the dialogs that was getting truncated due to the longer product descriptions of the Firebird builds. 1.04 - 01/09/2001 ----------------- * Updated Firebird & Sourceforge images. * Changed script to use different titles. - "InterBase 6.0" for the Borland build - "InterBase (Firebird Release 0.9-4 Test 1)" for the Firebird build 1.03 - 01/08/2001 ----------------- * Updated IBConsole to build 327. * Created UDF folder and moved UDF library to that path. * Fixed problem causing the default path to always be C:\ProgramFiles\InterBase if an existing version of InterBase was already installed on the system. * Added check to see if server or client application was loaded (GDS32.DLL) during quiet install. * Moved include & lib folders from \InterBase\sdk to \InterBase. * Added Firebird build options to include different billboard images depending on whether build was for Borland or Firebird binaries. 1.02 - 12/12/2000 ----------------- * Updated IBConsole to build 326. * Added /p= command line switch to allow specifying the default installation path. See command line options section for details. 1.01 - 9/8/2000 (Note: This version includes IBConsole build 317.) ----------------- * The previous version did not show the option to start the server after the installation was completed unless you were running under NT/Win2000. This option is now visible anytime you install the server. * Added a new option to specify whether the InterBase Server should start automatically upon reboot. Previously it would always default to start automatically (as an NT service) when running on NT. When running on Win9x/WinMe, it would never start automatically. This option (which is enabled by default) was added so that the InterBase server will automatically start by default when the system reboots. * Fixed problem with missing "\" on RootDirectory registry entry that caused the server manager to not function properly. * Fixed problem with UseCount not being set correctly. * Fixed version info. in the compiled EXE. 1.00 - 8/23/2000 ----------------- Note: The version info. in the EXE says 3.1.1.1 and InterBase 5.6. * Initial InterBase 6.0 build.