------------------------------------------------------------------------
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.
