isc_uninstall_execute()

From InterBase

Go Up to API Function Reference


Removes installed InterBase files (with the exceptions noted below), updates the registry, removes shared files that have a reference count less than 1, and uninstalls the InterBase Guardian and Server services.

Syntax

 MSG_NO isc_uninstall_execute(TEXT *uninstall_file_name, 
 FP_STATUS *fpstatus, void *status_arg, FP_ERROR *fp_error, 
 void *error_arg)
Parameter Type Description

<uninstall_file_name>

TEXT *

The name of the file containing the options that were installed; cannot be NULL.

<fp_status>

FP_STATUS *

A pointer to a callback function that accepts an integer from 0 to 100; can be NULL if no status information is required by the end user.

<status_arg>

void*

User-defined data to be passed to fp_status(); value is often NULL.

<fp_error>

FP_ERROR*

A pointer to a callback function that accepts an error number and returns a mnemonic specifying whether isc_uninstall_execute() should abort, retry, or continue.

<error_arg>

void*

User-defined data to be passed to fp_error(); value is often NULL.

Description

isc_uninstall_execute() performs the actual uninstall, including the following steps:

  • Calls isc_uninstall_precheck() to ensure the uninstall can be performed.
  • Decrements UseCount entries in the Registry for shared files and removes any files that have a reference count less than one, except for files that have a value of zero preassigned by Microsoft (such as msvcrt.dll).
  • Removes all InterBase files named in ib_uninst.nnn except for the InterBase security database (admin.ib by default) and its backup, and ib_license.dat.
  • Removes all registry entries in ib_uninst.nnn.
  • On Windows server platforms, uninstalls the Guardian and Server services; on Windows non-server platforms, removes their Run registry entries.
  • Calls fp_status() at regular intervals to keep caller informed of uninstall status.
  • Cleans up if uninstall is cancelled by the user or by an error.

Return value

Returns zero if the function executes successfully, a positive number if an error occurs, and a negative number if the function completes but with warnings. Call isc_install_get_message() to obtain the error message when the result is nonzero.


Advance To: