/* Copyright (c) Oracle Corporation 1996.  All Rights Reserved */

/*****************************************************************************
  NAME
    D2OI60.dei - deinstall script for Open/2000 Interfaces

  DESCRIPTION
    This script deinstalls the Open/2000 Interfaces products.

  MODIFIED   MM/DD/YY  Reason
  pgupta     10/01/97  Created.
*****************************************************************************/

{
    /************************************************
    Set necessary variables for deinstallation
    *************************************************/
    EXECUTE_SCRIPT = "SET_DEINSTALL_VARIABLES";
    execute("%installer_home%\d2kr2dei.usr");
    /************************************************/

    deinstall_prompt01 = nls("deinstall_prompt01", "Other products are dependent on %%registry_label%% (or one of its components). Removing it may cause other products to work improperly. Are you sure you want to deinstall it?");
    deinstall_files01   = nls("deinstall_files01", "Other products are dependent on %%registry_label%% (or one of its components). Removing it will remove all its underlying components also, which may cause other products to work improperly. It is therefore recommended that you do not remove %%registry_label%%. Choose 'No' to leave %%registry_label%% intact. Choose 'Yes' if you are sure you want to remove it.");

    {doit = execute("%installer_home%%dir_separator%%operating_system%.dei");}
    [
        'UNBOUND_VARIABLE: signal('failure,instantiate(nls("instver_too_early2",
                                                           "The version of the Installer currently running is %%installer_version%%. The product(s) you have chosen to deinstall were installed with a later version of the Installer. Please use a later version of the Installer to deinstall these Product(s).")));
    ]

    if (doit)
    {
        /************************************************
        Create a label with the product name, and version
        *************************************************/
        EXECUTE_SCRIPT = "CREATE_LABEL";
        execute("%installer_home%%dir_separator%d2kr2dei.usr");
        /************************************************/

            /***********************
        Set up dependencies list
        ************************/
        dependency_list = list("w32tutil60");
        /***********************/

        permit_retry_operations  = TRUE;
        permit_ignore_operations = TRUE;
        permit_process_operations= TRUE;

        /***********************************
        Unreference & Deinstall Dependencies
        ************************************/
        EXECUTE_SCRIPT = "UNREFERENCE_DEPENDENCIES";
        execute("%installer_home%%dir_separator%d2kr2dei.usr");
        /***********************************/

        /**************************************************************
        Unreference & Deinstall Component Products if explicitly called
        ***************************************************************/
        EXECUTE_SCRIPT = "DEINSTALL_COMPONENTS";
        execute("%installer_home%%dir_separator%d2kr2dei.usr");
        /**************************************************************/

        /*********************
        Unregister the product
        **********************/
        ui_product(instantiate(display_registry_label));
        ui_action(instantiate(deinstall_unregister));
        unregister(current_registry);
        /*********************/

        /********************
        Deinstall the product
        *********************/
        ui_action(instantiate(deinstall_files));
        remove(deinst);
        /********************/

        permit_retry_operations = FALSE;
    }
}
