/* Copyright (c) Oracle Corporation 1994, 1996. All Rights Reserved */ /***************************************************************************** NAME netc23.vrf DESCRIPTION This script checks dependencies and environment settings for installation of the Windows 32 SQL*Net product. OWNER Etna Flores MODIFIED DD-MMM-YY Reason otinoco 11/01/96 - Modified to fit standard formatting guidelines. dstiefel 02/22/96 - Merge NT/95 for 2.3.2 ljiang 09/95 - Modified for Easy Configuration dlau 08/07/95 - Modified for SQLNET 2.2 *****************************************************************************/ { { /* OS variables */ if (platform() == "nt") { prefix = "nt"; instver_name = "ntinstver"; install_name = "ntinstall"; } else { prefix = "w95"; instver_name = "w95instver"; install_name = "w95install"; } instver_prod = evaluate(instver_name); install_prod = evaluate(install_name); doit = execute("%installer_home%\%operating_system%.vrf"); } [ 'UNBOUND_VARIABLE: { required_version = product_version(instver_prod); 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."))); } ] if(doit) { /* execute the services.vrf for definitions of service errors */ if(platform() == "nt") { { execute("%installer_home%\services.vrf"); } [ 'DEFAULT: continue(); ] } vrf_ratchet = "2.3.4.0.2"; { oracle_group_name = oracle_group_name; } [ 'UNBOUND_VARIABLE: { if(operating_system == "nt") { os_prefix = "NT"; } else { os_prefix = "95"; } oracle_group_name = nls("oracle_group_name","Oracle for Windows %os_prefix%"); } ] /*--------------------------------------------------------------------------------------------------*/ ############################################# # # # Defined Strings for use in netc23 scripts # # # ############################################# /* Bind string constants, help strings, & prompt strings .. */ net2_register = nls("net2_register","Registering %%product_label%%..."); net2_install_script = nls("net2_install_script","Installing %%product_label%% Installation Scripts..."); net2_install_message = nls("net2_install_message","Installing %%product_label%% Message Files..."); net2_install_sample = nls("net2_install_sample","Installing %%product_label%% Sample Files..."); net2_install_tns = nls("net2_install_tns","Installing %%product_label%% Executables..."); net2_install_easycfg = nls("net2_install_easycfg","Installing SQL*Net Easy Configuration Files..."); app_prompt = nls("app_prompt","You must stop all Oracle Services and Applications using SQL*Net for the SQL*Net installation to be successful.%carriage_return%%carriage_return%Press OK to continue the installation once the services and applications have been stopped, or press Cancel to abort the installation."); app_content = nls("app_content","Stop Oracle Applications"); app_help = nls("app_help","SQL*Net is being used. Please stop Oracle applications and services before continuing to install."); netc23_inst_term = instantiate(nls("netc23_inst_term", "%%product_label%% installation terminated.")); use_inst_from_media = nls("use_inst_from_media","SQL*Net Easy Configuration depends on the Oracle Installer. The Oracle Installer you are currently using is not compatible to run SQL*Net Easy Configuration. Please run the Oracle Installer from the release media in order to install the latest version of Oracle Installer and %product_label%."); use_inst_from_media_label = nls("use_inst_from_media_label","Oracle Installer Not Compatible"); use_inst_from_media_help_term = nls("use_inst_from_media_help_term","SQL*Net Easy Configuration is installed together with %product_label%. SQL*Net Easy Configuration is dependent on the Oracle Installer. Your current Oracle Installer is not compatible with this version of SQL*Net Easy Configuration. Please run the Oracle Installer from the release media in order to install the latest version of Oracle Installer and %product_label%.%carriage_return%%carriage_return%OK or CANCEL terminates the installation of %product_label% ."); use_inst_from_media_help_cont = nls("use_inst_from_media_help_cont","SQL*Net Easy Configuration is installed together with %product_label%. SQL*Net Easy Configuration is dependent on the Oracle Installer. Your current Oracle Installer is not compatible with this version of SQL*Net Easy Configuration. Please run the Oracle Installer from the release media in order to install the latest version of Oracle Installer and %product_label%.%carriage_return%%carriage_return%OK continues with the installation of other products.%carriage_return%%carriage_return%CANCEL terminates the installation of %product_label%."); /* from Win 95 */ new_stack_prompt = nls("new_stack_prompt","Select the network protocols for which you want Oracle SQL*Net support. SQL*Net allows you to access remote databases on your network. For each protocol you select, an Oracle SQL*Net Protocol Adapter will be installed. If possible, the Installer detects the network protocols installed to your Windows 95 system and selects them for you."); new_stack_label = nls("new_stack_label","Oracle SQL*Net Adapter Selection"); new_stack_help = nls("new_stack_help","SQL*Net allows you to access remote databases on your network. Select the network protocols for which you want Oracle SQL*Net support. If possible, the Installer detects the network protocols installed to your Windows 95 system and selects them for you. The TCP/IP network protocol enables data transfer on Local Area Networks (LANs), Wide Area Networks (WANs), and the Internet. The SPX network protocol enables data transfer in a Novell Netware environment. The Named Pipes network protocol enables data transfer in a Microsoft Network environment or LAN Manager environment. If you are not familiar with network transport protocols, please contact your network administrator."); installation_terminated = nls("installation_terminated","Installation terminated. Please stop all Oracle applications that are using %%product_label%%."); reinstall_prompt = nls("reinstall_prompt","Oracle SQL*Net is currently installed to your machine. Would you like to:"); reinstall_label = nls("reinstall_label","Oracle SQL*Net Network Support"); reinstall_help = nls("reinstall_help","The Installer has examined your machine and found that SQL*Net is already installed. To configure access to additional remote databases (add a Database Alias) please select the first checkbox. To reinstall SQL*Net or add support for additional network protocols (add a SQL*Net Protocol Adapter) please select the second checkbox. Press OK to continue or CANCEL to terminate this installation. "); netc22_expl = nls("netc22_expl", "A %%product_label%% DLL (NTNT.DLL) is being used on this machine. Please stop all Oracle applications that are using %%product_label%% before installing %%product_label%%. Silent mode installation of %%product_label%% terminated."); netc22_inst = instantiate(nls("netc22_inst", "A %%product_label%% DLL (NTNT.DLL) is being used on this machine. Please stop all Oracle applications that are using %%product_label%% before installing %%product_label%%. Choose OK after you have closed all Oracle applications and want to resume the installation of %%product_label%%. Choose CANCEL to terminate the installation of %%product_label%%.")); netc22_inst_term = instantiate(nls("netc22_inst_term", "%%product_label%% installation terminated.")); netc22_inst_content = instantiate(nls("netc22_inst_content", "%%product_label%% DLL Used")); netc22_inst_help = instantiate(nls("netc22_inst_help", "The Oracle Installer has detected that a %%product_label%% DLL (NTNT.DLL) is being used on this machine. Please stop all Oracle applications that are using %%product_label%% before installing %%product_label%%. Choose OK after you have closed all Oracle applications and want to resume the installation of %%product_label%%. Choose CANCEL to terminate the installation of %%product_label%%.")); none_selected = nls("none_selected","No Oracle SQL*Net Protocol Adapter was selected for installation."); none_selected_label = nls("none_selected_label","None Selected"); none_selected_help_term = nls("none_selected_help_term","No Oracle SQL*Net Protocol Adapter was selected for installation. You need to select at least one network protocol in order to install %product_label%. BACK returns to %new_stack_label% dialog box to make a selection. OK or CANCEL terminates the installation of %product_label% ."); none_selected_help_cont = nls("none_selected_help_cont","No Oracle SQL*Net Protocol Adapter was selected for installation. You need to select at least one network protocol 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. CANCEL terminates the installation of %product_label%."); no_protocol = nls("no_protocol","The Oracle Installer did not detect TCP/IP, SPX or Named Pipes protocols on your machine. Before installing SQL*Net, you must install either TCP/IP, SPX or Named Pipes."); no_protocol_label = nls("no_protocol_label","No Protocol Detected"); no_protocol_help = nls("no_protocol_help","The Oracle Installer did not detect TCP/IP, SPX or Named Pipes protocols on your machine. Before installing SQL*Net, you must install either TCP/IP, SPX or Named Pipes. The TCP/IP network protocol enables data transfer on Local Area Networks (LANs), Wide Area Networks (WANs), and the Internet. The SPX network protocol enables data transfer in a Novell Netware environment. The Named Pipes network protocol enables data transfer in a Microsoft Network environment or LAN Manager environment. If you are not familiar with network transport protocols, please contact your network administrator."); /*--------------------------------------------------------------------------------------------------*/ /*--------------------------------------------------------------------------------------------------*/ ############################ # # # Stop All Oracle Services # # # ############################ /* set global flags for starting and stopping services */ { start_listener = start_listener; } [ 'UNBOUND_VARIABLE: set('start_listener, "Do not Start Listener", 'GLOBAL); ] { start_db_service = start_db_service; } ['UNBOUND_VARIABLE: set('start_db_service, "Do Not Start Service", 'GLOBAL); ] if (platform() == "nt") { /* First query to see if services are already started */ /* If they are, they will be restarted in user.pin */ /* Comment this out for now: Bug in installer prevents from working in Windows 95 listenerStatus = winnt_query_service_status("OracleTNSListener"); startDBStatus = winnt_query_service_status("OracleStartOrcl"); serviceDBStatus = winnt_query_service_status("OracleServiceOrcl"); if((listenerStatus == SERVICE_START_PENDING) || (listenerStatus == SERVICE_CONTINUE_PENDING) || (listenerStatus == SERVICE_RUNNING)) { set('start_listener, "Start Listener", 'GLOBAL); } if((startDBStatus == SERVICE_START_PENDING) || (startDBStatus == SERVICE_CONTINUE_PENDING) || (startDBStatus == SERVICE_RUNNING)) { set('start_db_service, "Start Service", 'GLOBAL); } if((serviceDBStatus == SERVICE_START_PENDING) || (serviceDBStatus == SERVICE_CONTINUE_PENDING) || (serviceDBStatus == SERVICE_RUNNING)) { set('start_db_service, "Start Service", 'GLOBAL); } */ /*** Now stop services by executing the stopsrvc.vrf script ***/ execute("%product_home%\stopsrvc.vrf"); /*** Old stop services code is commented out in place of algorithm in stopsrvc.vrf { nt_stop_service("OracleTNSListener"); } [ 'DEFAULT: continue(); ] { nt_stop_service("oraclenmplistenerorcl"); } [ 'DEFAULT: continue(); ] { nt_stop_service("oracletcplistener"); } [ 'DEFAULT: continue(); ] { nt_stop_service("oraclestartorcl"); } [ 'DEFAULT: continue(); ] { nt_stop_service("oracleserviceorcl"); } [ 'DEFAULT: continue(); ] { nt_stop_service("oracleservice"); } [ 'DEFAULT: continue(); ] { nt_stop_service("oraclenmplistener"); } [ 'DEFAULT: continue(); ] End old code to stop services ***/ } /*--------------------------------------------------------------------------------------------------*/ ######################################################### # # # Autodetection and Verification Sequence for NT and 95 # # # ######################################################### /* Variables and Logic */ netclt_prod = w32netclt23; tcp_prod = w32tcp23; spx_prod = w32spx23; nmp_prod = w32nmp23; if(platform() == "nt") { { appc_prod = w32appc23; dnt_prod = w32dnt23; } ['UNBOUND_VARIABLE: continue();] } tcp_name = product_name(tcp_prod); spx_name = product_name(spx_prod); nmp_name = product_name(nmp_prod); adp_pkg = adp23; /* use the pkg */ install_adp = FALSE; /* force protocol adapter install */ install_tcp = FALSE; /* Autodetect for this protocol */ install_spx = FALSE; /* Autodetect for this protocol */ install_nmp = TRUE; /* Always install the Named Pipes Protocol Adapter for this release */ total = 0; /* return size from this script */ /* Force install RSF and Trace Collection Services */ total = total + verify(w32rsf73) + verify(w32traceSvr); /* Force install Named Pipes Protocol Adapter in Windows NT */ total = total + verify(nmp_prod); /* Now begin Autodetection Sequence for SPX and TCP/IP only. DECNet and LU6.2 are only installed through custom.*/ if(platform() == "nt") { /* TCP/IP */ if(win32_key_exists("HKEY_LOCAL_MACHINE", "System\CurrentControlSet\Services\TCPIP")) { install_tcp = TRUE; total = total + verify(tcp_prod); } /* Novell NDS Client */ if(win32_key_exists("HKEY_LOCAL_MACHINE", "System\CurrentControlSet\Services\NwlnkIpx") || win32_key_exists("HKEY_LOCAL_MACHINE", "Software\Novell\IpxSpx")) { install_spx = TRUE; total = total + verify(spx_prod); } } else /* Win 95 */ { /* This loop performs protocol auto-detection in Windows 95 */ increment = 0; while(increment < 100) { if(increment > 9) increment_string = "%increment%"; else increment_string = "0%increment%"; temp_string = win32_get_value("HKEY_LOCAL_MACHINE", "System\CurrentControlSet\Services\Class\NetTrans\00%increment_string%", "DeviceVxDs"); temp_list = explode(temp_string,",", 'STRINGSONLY); if(member(temp_list, "vtcp.386")) install_tcp = TRUE; else if (member(temp_list, "nwlink.vxd") || member(temp_list, "nios.vxd")) install_spx = TRUE; increment = increment + 1; } [ 'INVALID_KEY, 'FILE_NOT_FOUND, 'OS_ERROR: increment = increment + 1; ] /* Novell's Stack */ { if(not(install_spx) && (win32_key_exists("HKEY_LOCAL_MACHINE", "Network\Novell\ProtocolIPX"))) install_spx = TRUE; } [ 'DEFAULT: continue(); ] if(install_tcp) total = total + verify(tcp_prod); if(install_spx) total = total + verify(spx_prod); } /*--------------------------------------------------------------------------------------------------*/ ######################################## # # # Verify the Installer for Easy Config # # # ######################################## if(not(registered("%prefix%install"))) /* installer running from media */ total = total + verify(install_prod); else if(earlier_version(registration("%prefix%install"),product_version(instver_prod))) { total = total + verify(install_prod); } [ 'FAILURE: { if(member(selected_products, netclt_prod) && empty(rest(selected_products))) { information_dialog(use_inst_from_media,use_inst_from_media_label,use_inst_from_media_help_term); signal('CANCEL, netc23_inst_term); } else { information_dialog(use_inst_from_media,use_inst_from_media_label,use_inst_from_media_help_cont); doit = FALSE; return (0); } } ] /*--------------------------------------------------------------------------------------------------*/ /* return total size */ return(total + sum(tns,bequeth,prefix,sample,msb,nls_abbreviation,deinstl,cfg23)); } else { refresh_map_file = FALSE; return(0); } }