Overview of the Process

From InterBase

Go Up to Writing an InterBase Install


  1. The files that you need to develop and compile your application are in the <<InterBase_home>>\SDK\ directory if you installed InterBase on your development system with the IB_DEV option. They are also on the InterBase CDROM in various subdirectories of the \SDK directory. Collect the following files:
    • For C/C++ programmers: ibinstall.dll, ibinstall.lib, ibinstall.h
    • For Delphi programmers: ibinstall.dll, ibinstall.pas
    Place ibinstall.dll in the directory that will contain your executable after it is compiled. Place the other files where your compiler can find them.
  2. Declare a variable of type OPTIONS_HANDLE for handle and initialize it to 0 (a long INT). If you are writing a companion uninstall program, allocate a text buffer for the uninstall file name.
  3. If you need messages in a language other than English, call isc_load_external_text() to load the error and warning messages.
  4. For interactive installs only: The next steps temporarily select a group of options in order to check that there is a valid operating system, that no Classic server is present, and that there is no InterBase server running. This prevents the case where the end user answers several questions and then finds that the install cannot be performed because of an invalid OS or the presence of the Classic server:
    1. Call isc_install_set_option() with the following parameters:
      isc_install_set_option(handle, InterBase)
      If you are installing a client but no server, substitute IB_CLIENT for InterBase.
    2. Call isc_install_precheck(handle, NULL, NULL).
    3. Call isc_install_clear_options().
  5. In an interactive install, query users for a destination and desired options.
  6. Call isc_install_set_option() once for each option to install. This is the mechanism you use to process user input.
  7. Call isc_install_precheck() a second time. This time, provide the source and destination path and selected options. isc_install_precheck() checks that the destination directory exists and is writable. If the directory does not exist and cannot be created, the function exits with an error. It also checks the dependencies of the selected options and issues a warning if the selections are incompatible or require options not selected.
  8. Call isc_install_execute(), passing in handle, the source path, and the destination path. If you have written functions to handle errors and display status, you pass in pointers to these functions and optionally pointers to context data as well. The last parameter is an optional pointer to a buffer where the uninstall file name can be stored. If you are providing a companion uninstall program, you must declare a text buffer for the name of the uninstall file and pass in a pointer to it as the final argument for this function. isc_install_execute() then performs the actual install.

The next steps are all optional:

9. When the install is complete, you can enable licensed functionality for the product by calling functions in the Licensing API (iblicense.dll) and providing certificate IDs and keys. If you do not do this, the end user must enter certificate ID and key pairs (authorization codes) before starting the server.
10. Create shortcuts on the Start menu.
11. Start the InterBase Guardian. You can do this only after providing valid certificate IDs and keys.

Advance To: