/* Copyright (c) Oracle Corporation 1996.  All Rights Reserved */
/****************************************************************************
  NAME
    pbui60.ins - V3 installation script for Oracle Procedure Builder
                 User Interface.

  DESCRIPTION
    This script installs Oracle Procedure Builder User Interface.

  MODIFIED    MM/DD/YY   Reason
   pgupta     10/01/97   Created using new external scripts.
*****************************************************************************/
{
    if (doit)
    {
        /*****************************
        Set the VRF-INS script ratchet
        ******************************/
        ins_ratchet = "6.0.8.10.0-366";

        execute("%installer_home%%dir_separator%%operating_system%.ins");

        permit_retry_operations  = TRUE;
        permit_ignore_operations = TRUE;
        permit_process_operations= TRUE;

        win32_register_OCSM_product();
        /************************************************************
         Display the "WIZARD - DRIVEN DEVELOPMENT" billboard
         if not already displayed, and if Developer release
        *************************************************************/
        if(exists("%installer_home%%dir_separator%d2bb_10.bmp"))
        {
           if(not(DEV2K_BB10))
           {
               DEV2K_BB10 = TRUE;
               ui_graphics("%installer_home%%dir_separator%d2bb_10.bmp");
           }
        }
        /************************************************************/


        /******************
        Install the product
        *******************/
        ui_product(instantiate(display_product_label));

        ui_action(instantiate(install_files));
        copy(deinst);

        /************************************************************
        Delete the Old Program Group if present and Install the new
        Program Group
        *************************************************************/

        if(exists("%ORACLE_HOME%/bin/de60.exe"))
        {
          D2K60_GROUP = D2K60_GROUP_OLD;
          windows_delete_icons(exe);
          D2K60_GROUP = D2K60_GROUP_NEW;
        }
        /************************************************************/

        ui_action(instantiate(install_exe));
        copy(exe);

        ui_action(instantiate(install_files));
        copy(help);
        /******************/

        permit_retry_operations = FALSE;

        /************************
        Install required products
        *************************/
        while(not(empty(required_products_to_install)))
        {
            install(first(required_products_to_install));
            required_products_to_install = rest(required_products_to_install);
        }
        /*******************/
        /*************
         Install Parent
        **************/
        if(install_parent)                                                  /* Install parent first, if necessary */
          install(product_parent(current_product));
        /*************/

        permit_retry_operations = TRUE;

        /***************************************************************
         Registering map variables except Installer_home and oracle_home
        ****************************************************************/
        win32_register_map_variable("DOC60");
        win32_register_map_variable("D2K60_GROUP");

        /****************************
         Registering map file groups
        *****************************/
        win32_register_OCSM_group(deinst,'MINMODE);
        win32_register_OCSM_group(exe,'MEDMODE);
        win32_register_OCSM_group(help,'MAXMODE);
        /*********************************
        /*********************************
        Register and Reference the product
        and remove delold
        **********************************/
        EXECUTE_SCRIPT = "REGISTER_REFERENCE_PRODUCT";
        execute("%installer_home%%dir_separator%d2kr2ins.usr");
        /*********************************/

        /*********************
        Reference dependencies
        **********************/
        ui_action(instantiate(reference_dependencies));

        {reference(current_product,product_parent(current_product));}  /* reference parent */
        ['UNREGISTERED_PRODUCT: continue();]

        /*********************/

        permit_retry_operations = FALSE;
    }
    [
         'UNREGISTERED_PRODUCT: continue();
         'CANCEL: signal('FAILURE, instantiate(halt_installation));
    ]
}
