/* Copyright (c) Oracle Corporation 1996.  All Rights Reserved */
/*****************************************************************************
  NAME
    gui60.ins - V3 installation script for GUI Common Files 2.5

  DESCRIPTION
    This script installs GUI Common Files 6.0.

  MODIFIED   MM/DD/YY   Reason
*****************************************************************************/
{
    if (doit)
    {
        /*****************************
        Set the VRF-INS script ratchet
        ******************************/
        ins_ratchet = "6.0.5.30.0";

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

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

       /******************
        Install the product
        *******************/
        ui_product(instantiate(display_product_label));
        ui_action(instantiate(install_gui));
        ui_action(instantiate(install_dependencies));
        copy(deinst);
       /******************/

        permit_retry_operations = FALSE;

       /*****************************************
        Install all the components of the PARENT
        *****************************************/
        EXECUTE_SCRIPT = "INSTALL_COMPONENTS";
        execute("%installer_home%%dir_separator%d2kr2ins.usr");


        /***************************************
        Install dependencies
        ****************************************/
        EXECUTE_SCRIPT = "INSTALL_DEPENDENCIES";
        execute("%installer_home%%dir_separator%d2kr2ins.usr");

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

        permit_retry_operations = TRUE;

        /*********************************
        Register and Reference the product
        **********************************/
        EXECUTE_SCRIPT = "REGISTER_REFERENCE_PRODUCT";
        execute("%installer_home%%dir_separator%d2kr2ins.usr");
        /*********************************/

        /*******************************************************
        Reference all the components of the PARENT
        ********************************************************/
        child_products_to_reference = all_child_products(current_product);
        EXECUTE_SCRIPT = "REFERENCE_COMPONENTS";
        execute("%installer_home%%dir_separator%d2kr2ins.usr");
        /*******************************************************/

        /*********************
        Reference dependencies
        **********************/
        ui_action(instantiate(reference_dependencies));
        while(not(empty(dependency_list)))
        {
             {reference(first(dependency_list), current_product);}
             [ 'UNREGISTERED_PRODUCT: continue(); ]
        
             dependency_list = rest(dependency_list);
        }


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