/* Copyright (c) Oracle Corporation <year>.  All Rights Reserved */
/***************************************************************
 NAME
        bali.dei

 DESCRIPTION
        deinstallation script for bali framework

 OWNER
        Lin Bin Xu

 MODIFIED       MM/DD/YY        Reason
  lxu           05/13/97        Created
****************************************************************/

{
 /*** Call %os%.dei to determine if deinstallation is allowed (if there are no
      installed products which depend on products slated to be removed). ***/
 {
  doit = execute("%installer_home%\%operating_system%.dei");
 }
  [
   'UNBOUND_VARIABLE:
     {
      required_version = product_version(osinstver);
      temp = explode(required_version,".");
      required_version = implode(list(first(temp),first(rest(temp)),
                                      first(rest(rest(temp))),
                                      first(rest(rest(rest(temp))))),".");
      signal('failure,instantiate(nls("instver_too_early1","The version of the Installer currently running is %%installer_version%%. The installation you have chosen requires version %%required_version%% or later. Please run version %%required_version%% or later in order to perform this installation.")));
     }
  ]

 if(doit)
   {
    /*** Ensure that the necessary environment variables and MAP file variables are bound. ***/
    {
    JRE11 = "%oracle_home%\jre11\classes";
    /* variable = v7_translate("bali062");*/
    }
     [
      'UNBOUND_ENVIRONMENT_VARIABLE, 'OS_ERROR:
        {
         /*variable = variable to be bound;*/
         information_dialog(instantiate(deinstall_prompt02),
                            instantiate(deinstall_content02),
                            instantiate(deinstall_help02));
         doit = FALSE;
        }
     ]
   }

 /*** If doit = TRUE, then necessary variables are bound, so continue. ***/
 if(doit)
   {
    /*** Bind NLS deinstall strings ***/

    unregistering_product = nls("unregistering_product","Unregistering %%registry_label%%...");

    removing_class   = nls("remvoing_class","Deinstalling %%registry_label%% class files...");
    removing_dll     = nls("remvoing_dll","Deinstalling %%registry_label%% dll files...");
    removing_deinstl = nls("remvoing_deinstl","Deinstalling %%registry_label%% Script files...");


    /*** Deinstall Product - Remove Files ***/

    ui_action(instantiate(removing_dll));
    remove(dll);
    ui_action(instantiate(removing_class));
    remove(class);
    ui_action(instantiate(removing_deinstl));
    remove(deinstl);



    /*** Unregister Product ***/

    ui_product(registry_label);

    ui_action(instantiate(nls("unregistering_product","Unregistering %%registry_label%%...")));
    unregister(current_registry);

    permit_retry_operations = FALSE;
   }
}
