/* Copyright (c) Oracle Corporation 1996. All Rights Reserved */ /***************************************************************************** NAME de60.vrf - V3 version analysis/product configuration script for the TOOLS Utilities DESCRIPTION This script checks dependencies and environment settings for the installation of the TOOLS Utilities. MODIFIED MM/DD/YY Reason MAJAIN ******************************************************************************/ { /*********************************************************************** Set Installer variables according to the being used. ***********************************************************************/ dir_separator = "\"; prefix = operating_system; { {instver_product = evaluate("%prefix%instver"); } ['UNBOUND_VARIABLE: continue(); ] {orainst_product = evaluate("%prefix%install"); } ['UNBOUND_VARIABLE: continue(); ] } TOOLS_HOME = "%ORACLE_HOME%%dir_separator%TOOLS"; DOC60 = "%TOOLS_HOME%%dir_separator%DOC60"; /************************************/ /************************************************************* Check if Tools Utilities is already installed and up to date. Check that the correct version of the Installer is being used. *************************************************************/ reinstall_group = nls("reinstall_group","Version %%installed_version%% of %%product_label%% has already been installed and is up to date. Do you want to reinstall it?"); reinstall_group_help = nls("reinstall_group_help","You selected to install %%product_label%%, which is up to date. Unless a problem has occurred with %%product_label%%, there is no need to reinstall. Choose 'No' to skip the reinstallation, or choose 'Yes' if you want to reinstall %%product_label%%."); { doit = execute("%installer_home%%dir_separator%%operating_system%.vrf"); } [ 'UNBOUND_VARIABLE: { required_version = product_version(instver_product); 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."))); } ] /* This FAILURE will cause 3.0.x.x installer to exit gracefully. */ if((not(doit)) && (member(selected_products, current_product))) ui_action(instantiate(halt_installation)); /***********************************************************************/ if (doit) { /***************************** Set up the nls message strings ******************************/ display_product_label = "%%product_label%% %%display_version%%"; install_de = nls("install_de", "Installing %%product_label%% Installation Scripts..."); install_msg = nls("install_msg", "Installing %%product_label%% Message Files..."); install_dll = nls("install_dll", "Installing %%product_label%% Dynamic Link Libraries..."); install_dependencies = nls("install_dependencies", "Installing %%product_label%% Dependencies..."); install_register = nls("install_register", "Registering %%product_label%%..."); halt_installation = nls("halt_installation", "Cancelled installation at user's request..."); reference_dependencies = nls("reference_dependencies","Referencing %%product_label%% Dependencies..."); modify_variables = nls("modify_variables", "Modifying %%product_label%% Environment Variables..."); /*****************************/ /************************* Set Product Name variables **************************/ verify_dependency_list = list(); install_dependency_list = list(); /*************************/ /******************************* Set the VRF-INS script "ratchet" ********************************/ vrf_ratchet = "6.0.0.0.0"; /************************************************ Create a label with the product name, and version *************************************************/ EXECUTE_SCRIPT = "CREATE_LABEL"; execute("%product_home%%dir_separator%d2kr2vrf.usr"); /************************************************/ /****************************************************************** child_in_control = TRUE ==> component product called explicitly child_in_control = FALSE ==> component product called by the PARENT *******************************************************************/ child_in_control = TRUE; if( member(products_for_installation, product_parent(current_product) )) child_in_control = FALSE; /**********************************************************************/ total_sum = 0; /********************************* Verify PARENT if explicitly called **********************************/ install_parent = FALSE; if(child_in_control) { EXECUTE_SCRIPT = "VERIFY_PARENT"; install_parent = execute("%product_home%%dir_separator%d2kr2vrf.usr"); } if(install_parent) total_sum = total_sum + verify(product_parent(current_product)); /*********************************/ set_de60 = TRUE; { default_loc = make_directory("%ORACLE_HOME%%dir_separator%TOOLS"); } [ 'OS_ERROR,'INVALID_FILE_NAME, 'PERMISSION_DENIED,'WRITE_ERROR,'FILE_NOT_FOUND: Continue(); ] { DE60 = translate("DE60", ora_config, product_filename(current_product)); set_de60 = FALSE; } [ 'OS_ERROR,'INVALID_FILE_NAME, 'PERMISSION_DENIED,'UNBOUND_ENVIRONMENT_VARIABLE, 'FILE_NOT_FOUND: DE60 = "%ORACLE_HOME%%dir_separator%TOOLS%dir_separator%COMMON60"; ] /******************************************************************** Calculate total size of installation....... *********************************************************************/ /****************** Verify Dependencies *******************/ size_current_dependency = 0; while(not(empty(verify_dependency_list))) { current_dependency = first(verify_dependency_list); verify_dependency_list = rest(verify_dependency_list); size_current_dependency = verify(current_dependency); if(size_current_dependency != 0) { add(install_dependency_list, current_dependency); total_sum = total_sum + size_current_dependency; } } /******************/ total_sum = total_sum + sum(deinstl,de, dll); return(total_sum); /********************************************************************/ } else { refresh_map_file = FALSE; return(0); } }