/* Copyright (c) Oracle Corporation 1994, 1996. All Rights Reserved */ /***************************************************************************** NAME intsol60.vrf DESCRIPTION This script checks dependencies and environment settings for installation of the Windows 32 INTERSOLV DataDirect Drivers. MODIFIED DD-MMM-YY Reason pgupta 09/29/97 Created *****************************************************************************/ { { doit = TRUE; /*not making normal call to .vrf because do not want version comparison to occur based on parent*/ /* product_label = product_interface_label(current_product); */ doit = execute("%installer_home%\%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. */ /**************************************************************** NLS strings for menu prompts and choices *****************************************************************/ new_stack_prompt = nls("new_stack_prompt","Select the INTERSOLV DataDirect Driver(s) you would like installed."); new_stack_label = nls("new_stack_label","INTERSOLV DataDirect Driver Selection"); general = nls("general", "The INTERSOLV DataDirect Drivers allow Forms/Reports Developer applications to access various databases via the Open Client Adapter. The following are the names of the individual drivers and the databases the support.%carriage_return%%carriage_return%"); btrieve_desc = nls("btrieve_desc", "Driver for Btrieve allows access to the Btrieve database.%carriage_return%%carriage_return%"); db2_desc = nls("db2_desc","Driver for DB2/2 allows access to DB2 for OS/2, DB2 for Windows NT, DB2/6000, SQL/400 through DDCS Gateway, MVS DB2 through DDCS Gateway, and SQL/DS through DDCS Gateway.%carriage_return%%carriage_return%"); dbase_desc = nls("dbase_desc","Driver for dBASE allows Forms/Reports Developer applications to access dBASE III, IV, and V files, Clipper files, FoxBASE files, FoxPro files versions 1, 2.5, and 3.0.%carriage_return%%carriage_return%"); excel5_desc = nls("excel5_desc","Driver for Excel5 allows access to Excel 5 .XLS files.%carriage_return%%carriage_return%"); excel_desc = nls("excel_desc","Driver for Excel allows access to Excel 2, 3, and 4 .XLS files.%carriage_return%%carriage_return%"); informix5_desc = nls("informix5_desc","Driver for Informix 5 allows access to the Informix 5 database and Informix-Net 5.x.%carriage_return%%carriage_return%"); informix7_desc = nls("informix7_desc","Driver for Informix 7 allows access to the Informix 5 database and Informix-Net 7.x.%carriage_return%%carriage_return%"); ingres_desc = nls("ingres_desc","Driver for Ingres allows access to the INGRES 6.4/04 and 6.4/05 databases.%carriage_return%%carriage_return%"); oracle7_desc = nls("oracle7_desc","Driver for Oracle7 allows access to the Oracle7 database.%carriage_return%%carriage_return%"); paradox_desc = nls("paradox_desc","Driver for Paradox allows access to Paradox 5 and Paradox 7 databases.%carriage_return%%carriage_return%"); sqlbase_desc = nls("sqlbase_desc", "Driver for SQLBase allows access to the Gupta SQLBase 5.2 and 6.0 databases.%carriage_return%%carriage_return%"); sqlserver_desc = nls("sqlserver_desc", "Driver for SQL Server access to the SQL Server 4.x database from Microsoft and Sybase.%carriage_return%%carriage_return%"); sqlserver6_desc = nls("sqlserver6_desc", "Driver for SQL Server 6 allows access to the SQL Server 6.0 database.%carriage_return%%carriage_return%"); sybase_desc = nls("sybase_desc", "Driver for Sybase allows access to the System 10 and System 11 databases.%carriage_return%%carriage_return%"); ascii_desc = nls("ascii_desc", "Driver for ASCII files allows access to ASCII text files.%carriage_return%%carriage_return%"); new_stack_help1 = nls("new_stack_help1","%btrieve_desc%%db2_desc%%dbase_desc%%excel5_desc%%excel_desc%"); new_stack_help2 = nls("new_stack_help2","%informix5_desc%%informix7_desc%%ingres_desc%%oracle7_desc%%paradox_desc%"); new_stack_help3 = nls("new_stack_help3","%sqlbase_desc%%sqlserver_desc%%sqlserver6_desc%%sybase_desc%%ascii_desc%"); new_stack_help = nls("new_stack_help","%general%%new_stack_help1%%new_stack_help2%%new_stack_help3%"); intsol_inst_term = instantiate(nls("intsol_inst_term", "%%product_label%% installation terminated.")); none_selected = nls("none_selected","No INTERSOLV DataDirect Driver was selected for installation."); none_selected_label = nls("none_selected_label","None Selected"); none_selected_help_term = nls("none_selected_help_term","No INTERSOLV DataDirect Driver was selected for installation. You need to select at least one driver for installation.%carriage_return% BACK returns you to %new_stack_label% dialog box to make a driver selection.%carriage_return% OK or CANCEL terminates the installation of %product_label%. "); none_selected_help_cont = nls("none_selected_help_cont","No INTERSOLV DataDirect Driver was selected for installation. You need to select at least one driver in order to install %product_label%. BACK returns to %new_stack_label% dialog box to make a selection. OK continues with the installation of other products if other products were selected. CANCEL terminates the installation. "); intsol_install = nls("intsol_install","Installing INTERSOLV common files..."); sybase_install = nls("sybase_install","Installing Driver for Sybase files..."); sqlserver_install = nls("sqlserver_install","Installing Driver for SQL Server files..."); sqlbase_install = nls("sqlbase_install","Installing Driver for SQLBase files..."); db2_install = nls("db2_install","Installing Driver for DB2/2 files..."); dbase_install = nls("dbase_install","Installing Driver for dBase files..."); btrieve_install = nls("btrieve_install","Installing Driver for Btrieve files..."); ingres_install = nls("ingres_install","Installing Driver for Ingres files..."); excel_install = nls("excel_install","Installing Driver for Excel files..."); paradox_install = nls("paradox_install","Installing Driver for Paradox files..."); oracle7_install = nls("oracle7_install","Installing Driver for Oracle7 files..."); informix_install = nls("informix_install","Installing Driver for Informix files..."); ascii_install = nls("ascii_install","Installing Driver for ASCII Text files..."); halt_driver_installation = nls("halt_driver_installation", "At user's request, no drivers will be installed..."); /****************************************************************************************************** START MAIN LOGIC ******************************************************************************************************/ if (doit) { /***************************** 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"); /************************************************/ /**************************************************************** Bind variables and begin main logic *****************************************************************/ {required_product = w32ssf60;} ['UNBOUND_VARIABLE: continue();] parent_product = w32intsol60; btrieve_prod = w32btrieve60; db2_prod = w32db260; dbase_prod = w32dbase560; excel_prod = w32excel60; excel5_prod = w32excel560; inf5_prod = w32inf560; inf7_prod = w32inf760; ing4_prod = w32ing460; oracle7_prod = w32oracle760; paradox_prod = w32paradox60; sqlbase_prod = w32sqlbase60; sqlsrv_prod = w32sqlsrv460; sqlsrv6_prod = w32sqlsrv660; sybase_prod = w32syb1060; ascii_prod = w32ascii60; install_btrieve = FALSE; install_db2 = FALSE; install_dbase = FALSE; install_excel = FALSE; install_excel5 = FALSE; install_inf5 = FALSE; install_inf7 = FALSE; install_ing4 = FALSE; install_oracle7 = FALSE; install_paradox = FALSE; install_sqlbase = FALSE; install_sqlsrv = FALSE; install_sqlsrv6 = FALSE; install_sybase = FALSE; install_ascii = FALSE; /*still need these names???*/ sqlsrv_name = product_name(sqlsrv_prod); sybase_name = product_name(sybase_prod); inf5_name = product_name(inf5_prod); ing4_name = product_name(ing4_prod); /**************************************** Create Dependency List - for referencing *****************************************/ dependency_list = list(REQUIRED_PRODUCT, btrieve_prod, db2_prod, dbase_prod, excel_prod, excel5_prod, inf5_prod, inf7_prod, ing4_prod, oracle7_prod, paradox_prod, sqlbase_prod, sqlsrv_prod, sqlsrv6_prod, sybase_prod, ascii_prod); drivers_to_install = list(); /* see if can incorporate this list into the .ins */ /****************** Bind OCA60 variable *******************/ OCA60 = "%oracle_home%%dir_separator%OCA60"; /**************************************************************** Set default SYSTEM location - for all products *****************************************************************/ windows_sys_dir = windows_system_directory(); /**************************************************************** Initialize total size of files *****************************************************************/ total_sum = 0; /*************************************************** Provide list of products to chose from and generate list of drivers to install ***************************************************/ chosen_stack_list = list(); btrieve_stack = ""; db2_stack = ""; dbase_stack = ""; excel5_stack = ""; excel_stack = ""; inf5_stack = ""; inf7_stack = ""; ing4_stack = ""; oracle7_stack = ""; paradox_stack = ""; sqlbase_stack = ""; sqlsrv_stack = ""; sqlsrv6_stack = ""; sybase_stack = ""; ascii_stack = ""; empty_stack = ""; stack_list = list(); installed_stack_list = list(); btrieve_stack = nls("btrieve_stack", "Driver for Btrieve "); db2_stack = nls("db2_stack", "Driver for DB/2 "); dbase_stack = nls("dbase_stack", "Driver for dBASE "); excel5_stack = nls("excel5_stack", "Driver for Excel 5 "); excel_stack = nls("excel_stack", "Driver for Excel "); inf5_stack = nls("inf5_stack", "Driver for Informix 5 "); inf7_stack = nls("inf7_stack", "Driver for Informix 7 "); ing4_stack = nls("ing4_stack", "Driver for Ingres "); oracle7_stack = nls("oracle7_stack", "Driver for Oracle7 "); paradox_stack = nls("paradox_stack", "Driver for Paradox "); sqlbase_stack = nls("sqlbase_stack", "Driver for SQLBase "); sqlsrv_stack = nls("sqlsrv_stack", "Driver for SQL Server "); sqlsrv6_stack = nls("sqlsrv6_stack", "Driver for SQL Server 6 "); sybase_stack = nls("sybase_stack", "Driver for Sybase "); ascii_stack = nls("ascii_stack", "Driver for ASCII Files "); empty_stack = nls("empty_stack", "None "); stack_list = list(empty_stack, btrieve_stack, db2_stack, dbase_stack, excel5_stack, excel_stack, inf5_stack, inf7_stack, ing4_stack, oracle7_stack, paradox_stack, sqlbase_stack, sqlsrv_stack, sqlsrv6_stack, sybase_stack, ascii_stack); chosen_stack_list = list(); mark { chosen_stack_list = multiple_selection_dialog( new_stack_prompt, stack_list, new_stack_label, new_stack_help1); if( empty(chosen_stack_list)) mark { /*if parent selected but no drivers chosen from list*/ if (member(selected_products, parent_product) && empty(rest(selected_products))) { information_dialog(none_selected, none_selected_label, none_selected_help_term); signal('CANCEL,intsol_inst_term); } /*if parent not selected but no drivers chosen from list - only useful if drivers are ever a dependency*/ else { information_dialog(none_selected, none_selected_label, none_selected_help_cont); doit = false; return(0); } total_sum = 0; } } /*mark*/ /** if user choose None, terminates the installation **/ if (member(chosen_stack_list, empty_stack)) { doit = false; return(0); } /****************************************************** Calculate size of installation based on drivers chosen ******************************************************/ total_sum = total_sum + sum(deinst, intsol1, intsol2); if (member(chosen_stack_list, btrieve_stack)) { current_product = btrieve_prod; EXECUTE_SCRIPT = "VERIFY_DRIVER_VERSIONS"; install_btrieve = execute("%product_home%%dir_separator%d2kr2vrf.usr"); if(install_btrieve) { add(drivers_to_install, btrieve_prod); verify(w32btrieve60); } } if (member(chosen_stack_list, db2_stack)) { current_product = db2_prod; EXECUTE_SCRIPT = "VERIFY_DRIVER_VERSIONS"; install_db2 = execute("%product_home%%dir_separator%d2kr2vrf.usr"); if(install_db2) { add(drivers_to_install, db2_prod); verify(w32db260); } } if (member(chosen_stack_list, dbase_stack)) { current_product = dbase_prod; EXECUTE_SCRIPT = "VERIFY_DRIVER_VERSIONS"; install_dbase = execute("%product_home%%dir_separator%d2kr2vrf.usr"); if(install_dbase) { add(drivers_to_install, dbase_prod); verify(w32dbase560); } } if (member(chosen_stack_list, excel_stack)) { current_product = excel_prod; EXECUTE_SCRIPT = "VERIFY_DRIVER_VERSIONS"; install_excel = execute("%product_home%%dir_separator%d2kr2vrf.usr"); if(install_excel) { add(drivers_to_install, excel_prod); verify(w32excel60); } } if (member(chosen_stack_list, excel5_stack)) { current_product = excel5_prod; EXECUTE_SCRIPT = "VERIFY_DRIVER_VERSIONS"; install_excel5 = execute("%product_home%%dir_separator%d2kr2vrf.usr"); if(install_excel5) { add(drivers_to_install, excel5_prod); verify(w32excel560); } } if (member(chosen_stack_list, inf5_stack)) { current_product = inf5_prod; EXECUTE_SCRIPT = "VERIFY_DRIVER_VERSIONS"; install_inf5 = execute("%product_home%%dir_separator%d2kr2vrf.usr"); if(install_inf5) { add(drivers_to_install, inf5_prod); verify(w32inf560); } } if (member(chosen_stack_list, inf7_stack)) { current_product = inf7_prod; EXECUTE_SCRIPT = "VERIFY_DRIVER_VERSIONS"; install_inf7 = execute("%product_home%%dir_separator%d2kr2vrf.usr"); if(install_inf7) { add(drivers_to_install, inf7_prod); verify(w32inf760); } } if (member(chosen_stack_list, ing4_stack)) { current_product = ing4_prod; EXECUTE_SCRIPT = "VERIFY_DRIVER_VERSIONS"; install_ing4 = execute("%product_home%%dir_separator%d2kr2vrf.usr"); if(install_ing4) { add(drivers_to_install, ing4_prod); verify(w32ing460); } } if (member(chosen_stack_list, oracle7_stack)) { current_product = oracle7_prod; EXECUTE_SCRIPT = "VERIFY_DRIVER_VERSIONS"; install_oracle7 = execute("%product_home%%dir_separator%d2kr2vrf.usr"); if(install_oracle7) { add(drivers_to_install, oracle7_prod); verify(w32oracle760); } } if (member(chosen_stack_list, paradox_stack)) { current_product = paradox_prod; EXECUTE_SCRIPT = "VERIFY_DRIVER_VERSIONS"; install_paradox = execute("%product_home%%dir_separator%d2kr2vrf.usr"); if(install_paradox) { add(drivers_to_install, paradox_prod); verify(w32paradox60); } } if (member(chosen_stack_list, sqlbase_stack)) { current_product = sqlbase_prod; EXECUTE_SCRIPT = "VERIFY_DRIVER_VERSIONS"; install_sqlbase = execute("%product_home%%dir_separator%d2kr2vrf.usr"); if(install_sqlbase) { add(drivers_to_install, sqlbase_prod); verify(w32sqlbase60); } } if (member(chosen_stack_list, sqlsrv_stack)) { current_product = sqlsrv_prod; EXECUTE_SCRIPT = "VERIFY_DRIVER_VERSIONS"; install_sqlsrv = execute("%product_home%%dir_separator%d2kr2vrf.usr"); if(install_sqlsrv) { add(drivers_to_install, sqlsrv_prod); verify(w32sqlsrv460); } } if (member(chosen_stack_list, sqlsrv6_stack)) { current_product = sqlsrv6_prod; EXECUTE_SCRIPT = "VERIFY_DRIVER_VERSIONS"; install_sqlsrv6 = execute("%product_home%%dir_separator%d2kr2vrf.usr"); if(install_sqlsrv6) { add(drivers_to_install, sqlsrv6_prod); verify(w32sqlsrv660); } } if (member(chosen_stack_list, sybase_stack)) { current_product = sybase_prod; EXECUTE_SCRIPT = "VERIFY_DRIVER_VERSIONS"; install_sybase = execute("%product_home%%dir_separator%d2kr2vrf.usr"); if(install_sybase) { add(drivers_to_install, sybase_prod); verify(w32syb1060); } } if (member(chosen_stack_list, ascii_stack)) { current_product = ascii_prod; EXECUTE_SCRIPT = "VERIFY_DRIVER_VERSIONS"; install_ascii = execute("%product_home%%dir_separator%d2kr2vrf.usr"); if(install_ascii) { add(drivers_to_install, ascii_prod); verify(w32ascii60); } } /*************************************************** Check if System Support Files needs to be installed ***************************************************/ EXECUTE_SCRIPT = "CHECK_REQUIRED_PRODUCT"; execute("%product_home%%dir_separator%d2kr2vrf.usr"); if (install_required_product) total_sum = total_sum + verify(REQUIRED_PRODUCT); /**************************************/ return(total_sum); } /*end if doit */ else { refresh_map_file = FALSE; return(0); } }