/* Copyright (c) Oracle Corporation 1996.  All Rights Reserved */

/****************************************************************************
  NAME
    otm30.ins - V3 installation script for Oracle Translation Manager 3.0

  DESCRIPTION
    This script installs Oracle Translation Manager 3.0

  MODIFIED  MM/DD/YY   Reason
   rbansal  08/19/96   Created
*****************************************************************************/

{
    if (doit)
    {
        /*****************************
        Set the VRF-INS script ratchet
        ******************************/
        ins_ratchet = "3.1.0.0.0";

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

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

        /************************************************************
        Display the "DEVELOPER INTEGRATED COMPONENTS" billboard
        if not already displayed, and if Developer release
        *************************************************************/
        if(exists("%installer_home%%dir_separator%d2bb_02.bmp"))
        {
            if(not(DEV2K_BB02))
            {
                DEV2K_BB02 = TRUE;
                ui_graphics("%installer_home%%dir_separator%d2bb_02.bmp");
            }
        }
        /************************************************************/



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

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

        ui_action(instantiate(install_dll));
        copy(dll);

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

        if(exists("%ORACLE_HOME%\BIN\NX60.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(sql);

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

        permit_retry_operations = FALSE;

        /****************************
        Install SQL*Plus, if required
        *****************************/
        if (install_required_product)
            install(REQUIRED_PRODUCT);

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

        permit_retry_operations = TRUE;

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

        /*************************************
        Set the install_variable in Registry
        **************************************/
        modify("OTM60","%ORACLE_HOME%\OTM60", ora_config, product_filename(current_product));
        win32_register_key("$ORACLE","","OTM60",'REPLICATE);
      /****
        win32_set_value("HKEY_LOCAL_MACHINE","SOFTWARE\MICROSOFT\WINDOWS\HELP","tb30.hlp",DOC20);
        win32_register_key("HKEY_LOCAL_MACHINE","SOFTWARE\MICROSOFT\WINDOWS\HELP","tb30.hlp",'REPLICATE);
       ***/
        /***************************************************************
         Registering map variables except Installer_home and oracle_home
        ****************************************************************/
         win32_register_map_variable("D2K60_GROUP");

        /****************************
         Registering map file groups
        *****************************/
         win32_register_OCSM_group(deinst,'MINMODE);
         win32_register_OCSM_group(dll,'MEDMODE);
         win32_register_OCSM_group(exe,'MEDMODE);
         win32_register_OCSM_group(sql,'MAXMODE);
        /***************************************/
        /*********************
        Reference dependencies
        **********************/
        ui_action(instantiate(reference_dependencies));

        while(not(empty(dependency_list)))
        {
            {reference(first(dependency_list), current_product);}
            ['UNREGISTERED_PRODUCT: continue();]

            {reference(product_parent(first(dependency_list)), current_product);}
            ['UNREGISTERED_PRODUCT, 'PARENT_NOT_FOUND: continue();]

            dependency_list = rest(dependency_list);
        }

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

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