/* Copyright (c) Oracle Corporation 1996. All Rights Reserved */ /***************************************************************************** NAME win32.avf - V3 ante version analysis script for nt products. DESCRIPTION This script performs ante version analysis functionality. In particular, it initializes the 'products_for_installation' list so that the Installer can report which products need to be implicitly installed as a consequence of the user's current configuration and product selection. Also, 'reboot' is initialized to allow scriptwriters to specify reasons for a reboot mes- sage to be displayed in win32.pin. CREATED Siddhartha Agarwal, July 10, 1996 MODIFIED MM/DD/YY Reason zzerhoun 05/19/99 Added orainst_dir; used to execute "y2krdbms.vrf" to satisfy y2k-compliance issues with the v7.3.4 and v8.0.5 RDBMS scripts, as per mmckerley's initial scripts.. vrajkuma 01/13/97 Initialize the shared_products_in_use variable to allow the signal about un-deinstalled products to get back to a calling program. Disallow installation or deinstallation of products on an OCSM client home. zzerhoun 04/14/99 Modified to add a call to execute "y2krdbms.vrf" to satisfy y2k-compliance issues with the v7.3.4 and v8.0.5 RDBMS scripts, as per mmckerley's initial scripts.. *****************************************************************************/ { /********************************************************************************/ /*** Here we execute the script "y2krdbms.vrf", which dynamically sets and *** *** defines the variable "bundle_name", and defines an additional set of *** *** global variables that do not vary with bundle_name. We intentionally *** *** do not execute this script until after the execution of the "user.stp". *** *** This script is needed in order to run the y2k-compliant installer with *** *** the NT RDBMS scripts v7.3.4 and v8.0.5. ***/ /*** First we look in %installer_home% for this script. If the script is not *** *** there, then the installer has not been installed. And we look look in *** *** the install engine directory. The variable engineDirectory is set in *** *** STP phase using the current_directory() function. ***/ { execute("%installer_home%\y2krdbms.vrf"); } /* Is script installed? */ [ 'FILE_NOT_FOUND: { execute("%orainst_dir%\y2krdbms.vrf"); } /* Is script with current Installer? */ [ 'FILE_NOT_FOUND: { execute("%orainst_dir%\y2krdbms.vrf"); }/* Is script in staging area? */ [ 'FILE_NOT_FOUND: continue(); ] ] ] if (bootstrap) { desired_installation = nls("desired_installation", "installation"); desired_deinstallation = nls("desired_deinstallation", "removal"); { if (user_action == 'install) { desired_action = desired_installation; if (empty(selected_products)) signal('no_selection); all_product_list = all_products(); desired_products = selected_products; invalid_products = list(); while(not(empty(desired_products))) { current = first(desired_products); if(not(member(all_product_list,current))) add(invalid_products,current); desired_products = rest(desired_products); } if(not(empty(invalid_products))) signal('invalid_selection); } else if (user_action == 'deinstall) { desired_action = desired_deinstallation; if (empty(selected_registries)) signal('no_selection); desired_products = selected_registries; invalid_products = list(); while(not(empty(desired_products))) { current = first(desired_products); { reg = registration(current); } [ 'UNREGISTERED_PRODUCT: add(invalid_products,current); ] desired_products = rest(desired_products); } if(not(empty(invalid_products))) signal('invalid_selection); } } ['no_selection: { no_selection_signal = nls("no_selection_signal","No products were selected for %%desired_action%%. User action is aborted."); signal('FAILURE, instantiate(no_selection_signal)); } 'invalid_selection: { invalid_selection_string = implode(invalid_products,","); invalid_selection_signal = nls("invalid_selection_signal","The following products are not available for %%desired_action%%. User action is aborted.%carriage_return%%carriage_return%%invalid_selection_string%"); signal('FAILURE, instantiate(invalid_selection_signal)); } ] } if (user_action == 'install) { products_for_installation = list(); remove_file("%installer_home%\user.pin"); failed_dos_client_install = nls("failed_dos_client_install", "DOS client installation failed"); failed_windows_client_install = nls("failed_windows_client_install", "Windows client installation failed"); installation_successful = nls("installation_successful","Installation Successful."); } if (user_action == 'deinstall) { shared_products_in_use = list(); /* This variable is used to hold a list of products that could not be deinstalled because they are being used by configurations */ } return(0); }