home *** CD-ROM | disk | FTP | other *** search
Wrap
/* 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 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. *****************************************************************************/ { if( installation_mode == 'local ) if( (user_action == 'install) || (user_action == 'deinstall) ) { invalid_action = nls("invalid_action","Your current Oracle home %%oracle_home%% is an OCSM client installation managed by your system administrator. You may not install or remove products in this home."); signal('FAILURE, instantiate(invalid_action)); } 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); }