/* Copyright (c) Oracle Corporation 1996. All Rights Reserved */ /***************************************************************************** NAME user.pin - user-defined .pin script DESCRIPTION This script allows users access to their own customizable .pin script. MODIFIED DD/MM/YY Reason jewillia 31/03/00 imp/exp and microsoft DLL code moved to user.shd jewillia 10/02/00 copy otspec help file as needed jewillia 18/07/95 Added check for non-installed products. jewillia 18/07/95 Modified to remove only Designer/Developer bitmaps. jewillia 18/07/95 Modified to check for install/de-install success rbansal 29/08/96 Created *****************************************************************************/ { {execute("%installer_home%%dir_separator%%operating_system%.pin");} /* [jewillia] test for install or de-install to get right message at end */ if (user_action == 'install) { /* [jewillia] display DESIGNER2000_RELEASE, ODD_RELEASE, or DESIGNER_HELP_RELEASE billboard as appropriate (see user.avf) */ { { filename = ""; case_graphics_file = DESIGNER02_GRAPHICS_FILE; EXECUTE_SCRIPT = "DES2_BB.DIS"; execute("%product_home%\des2k_72.cmn"); } ['default: continue();] } /* End - Des2K Billboard */ /********************* Remove billboard files **********************/ /* [jewillia] remove only Designer/Developer bitmaps */ bboard_files_list = files("%installer_home%%dir_separator%d*.bmp"); union(bboard_files_list,files("%installer_home%%dir_separator%des*.bmp")); while(not(empty(bboard_files_list))) { remove_file(first(bboard_files_list)); bboard_files_list = rest(bboard_files_list); } /*********************/ /* [jewillia] */ /******************************************************************* copy otspec help file as needed *******************************************************************/ /* simple case for single product install, needs updating to cope with multiple products installed on client */ /* a similar action needs to be taken on de-install of products. When the code is written to determine what products are installed then it can be made common between install and de-install */ /* could be improved by getting filenames from cmnhlp map file help group with a unique tag in the sub group column */ { ini_section = product_filename(cmnhlp72_product); case_translate_list = list("CMNHLP72",ora_config,ini_section); EXECUTE_SCRIPT = "TRANSLATE_VARIABLES.CMN"; CMNHLP72 = execute("%product_home%\des2k_72.vrf"); } ['UNBOUND_ENVIRONMENT_VARIABLE:CMNHLP72="";] if (not(CMNHLP72=="")) { source_otspec = ""; dest_otspec = "%CMNHLP72%\HELP\otspec65.hlp"; if (DESIGNER2000_RELEASE) source_otspec = "%CMNHLP72%\HELP\otspec_des65.hlp"; if (ODD_RELEASE) source_otspec = "%CMNHLP72%\HELP\otspec_des65.hlp"; if (OBM_RELEASE) source_otspec = "%CMNHLP72%\HELP\otspec_uml65.hlp"; if (BPD_RELEASE) source_otspec = "%CMNHLP72%\HELP\otspec_bpd65.hlp"; if (REPOSITORY_RELEASE) source_otspec = "%CMNHLP72%\HELP\otspec_all65.hlp"; if (FIRST_PRACTICE_RELEASE) source_otspec = ""; if (DATAMART_DESIGNER_RELEASE) source_otspec = "%CMNHLP72%\HELP\otspec_des65.hlp"; if (DESIGNER_HELP_RELEASE) source_otspec = ""; if (BUGFIX_RELEASE) source_otspec = ""; if (not(source_otspec == "")) { {copy_file(source_otspec, dest_otspec);} ['FILE_NOT_FOUND: { default_source_otspec = "%CMNHLP72%\HELP\otspec_des65.hlp"; {copy_file(default_source_otspec, dest_otspec);} ['FILE_NOT_FOUND: information_dialog("Could not create help contents file %dest_otspec%"); ] } ] } } /* [jewillia] */ /******************************************************************* Check remaining products on CD aginst installed products Tell user to manually update those that he can. *****************************************************************/ { if (install_type != install_type_custom) { update_products_prompt = nls("update_products_prompt", "The following product(s) are currently installed on your machine and can be updated by re-running the installer, choosing custom mode, and selecting the products you wish to update:%carriage_return%%carriage_return%%%extrastring%%"); update_products_content = nls("update_products_content","Update Products"); analyze_non_install = nls("analyze_non_install","Checking for non updated products..."); ui_action(instantiate(analyze_non_install)); extras = list(); check_list = all_products(); /* bug?? the list is longer than it should be and contains duplicates */ sort(check_list,TRUE); while(not(empty(check_list))) { next_product = first(check_list); check_list = rest(check_list); next_product_name = product_name(next_product); next_product_version = product_version(next_product); next_product_label = product_interface_label(next_product); /* see if it is an 'unused' product, ie not really present except for .prd entry. Should also check for other types eg hidden. */ parent_product = next_product; { while (TRUE) { new_parent_product = product_parent(parent_product); parent_product = new_parent_product; } } ['PARENT_NOT_FOUND: continue();] if (parent_product != unused) { if (registered(product_name(next_product))) { next_product_registry = registration(next_product_name); next_product_registry_label = registry_interface_label(next_product_registry); if (earlier_version(next_product_registry, next_product_version)) { add(extras,next_product_registry_label); } } } } /* now display the result */ if (not(empty(extras))) { { extrastring = implode(extras,", "); information_dialog(instantiate(update_products_prompt), instantiate(update_products_content), instantiate(update_products_prompt)); } } } } ['UNBOUND_VARIABLE: continue();] /******************************************************************* Add any special messages about this install *******************************************************************/ obsolete_product_list = list(); if (not(empty(obsolete_product_list))) { while (not(empty(obsolete_product_list))) { next_obsolete_product = first(obsolete_product_list); obsolete_product_list = rest(obsolete_product_list); obsolete_product_name = product_name(next_obsolete_product); obsolete_product_label = product_interface_label(next_obsolete_product); if (registered(obsolete_product_name)) { case_obsolete_msg = nls("case_obsolete_msg","The product %%obsolete_product_label%% is either obsolete or has been replaced. For best results please remove this product from your system using the De-Install option of the Oracle Installer."); add(case_remind_list,instantiate(case_obsolete_msg)); } } } /******************************************************************* display any messages from the installed products (similar to the global remind_list except that this is shown after each install and not after shutdown) *******************************************************************/ if (not(empty(case_remind_list))) { remind_text = implode(case_remind_list,"%carriage_return%%carriage_return%"); remind_text = "%remind_text%%carriage_return%"; information_dialog(remind_text, 'NO_CANCEL); } /******************************************************************* Show that installation was successful. Show special prompt if any products with .pdf files were installed *******************************************************************/ /* [jewillia] change signal to dialog */ {local_acro_flag = evaluate("acro_flag",'GLOBAL);} ['UNBOUND_VARIABLE: local_acro_flag = false;] if (local_acro_flag) { information_dialog(instantiate(acro_installation_successful), 'NO_CANCEL); /* signal('success, instantiate(acro_installation_successful)); */ } else { /* change "successful" to "completed" which may be more appropriate */ /* installation_successful = nls("installation_successful","Installation Successful."); */ installation_completed = nls("installation_completed","Installation Completed."); information_dialog(instantiate(installation_completed), 'NO_CANCEL); /* signal('success, instantiate(installation_successful)); */ } /******************************************************************/ remove_file("%installer_home%%dir_separator%user.pin"); } else if (user_action == 'deinstall) { deinstallation_successful = nls("deinstallation_successful","De-installation Complete."); /* signal('success, instantiate(deinstallation_successful)); */ information_dialog(instantiate(deinstallation_successful), 'NO_CANCEL); } }