/* Copyright (c) Oracle Corporation 1999. All Rights Reserved */ /***************************************************************************** NAME y2krdbms.vrf - Y2K-compliance script needed for v7.3.4 and v8.0.5 RDBMS install DESCRIPTION This script sets a number of global variables needed for the successful installation of the v7.3.4 and v8.0.5 NT releases using the Y2K-compliant installer. In particular, it also sets the global variable "bundle_name". "bundle_name" is a variable defined in the v7.3.4 and v8.0.5 USER.STP scripts and is required for the RDBMS to be installed correctly. This variable changes based on bundle and OS. Because the Y2K-compliant installer will need to be installed to the hard drive before being used, and because the USER.STP script is not executed when the installer is run off the hard drive, this script needs to be executed to define some variables that would normally be defined in USER.STP. This way, users can install the Y2K-compliant installer, point it at one of the above releases, and successfully install the RDBMS component (which is the only component which requires these variables). This script gets executed from the WIN32.AVF that resides in the same tree as the installer being currently used, as opposed to the staging area from which products are being installed. CREATED Matthew McKerley, April 8, 1999 MODIFIED MM/DD/YY Reason mmckerle 12/14/99 Added support for ANO 2.3.3 zzerhoun 11/15/99 Merged 803 changes with NLS changes mmckerle 10/18/99 Modified to support 8.0.3 release zzerhoun 08/24/99 Moved NLS strings to win32.avf mmckerle 06/10/99 Modified to support 7.3.3 release mmckerle 06/02/99 Modified to work around problems with ANO 8.0.5 zzerhoun 04/14/99 Renamed script and merge with getbndle.vrf. mmckerle 04/08/99 Created. *****************************************************************************/ { /*** For v8.0.5 the only variable that needs to be defined is "installable_media". *** *** This variable will work around the block that was put in the RDBMS scripts *** *** that disallows using the installer off the hard drive. This variable is also *** *** needed to remove this same block for v7.3.4. In this case and for all *** *** variables defined below, we do nothing if the variable is already defined. ***/ { installable_media = installable_media; } [ 'UNBOUND_VARIABLE: installable_media = TRUE; ] /*** For 8.0.5 ANO only, there are additional global variables that need to be *** *** defined because ANO does not redefine the needed variables in USER.AVF as *** *** all the other 8.0.5 bundles do. These variables are defined below. ***/ { tmpvar = run_db_builder; } [ 'UNBOUND_VARIABLE: run_db_builder = FALSE; ] /*** The rest of the variables needed for v8.0.5 are defined correctly in USER.AVF. *** *** For v7.3.4 releases, we need to define some additional variables. ***/ {tmpvar = web_install;} ['UNBOUND_VARIABLE: web_install = FALSE;] {tmpvar = start_db_service;} ['UNBOUND_VARIABLE: start_db_service = "Do not Start Service";] {tmpvar = start_listener;} ['UNBOUND_VARIABLE: start_listener = "Do not Start Listener";] {tmpvar = install_type;} ['UNBOUND_VARIABLE: install_type = "Custom Installation"; ] {tmpvar = install_type_custom;} ['UNBOUND_VARIABLE: install_type_custom = local_install_type_custom;] /** needed for SMS pseudo-products **/ {tmpvar = WIN_DIR;} ['UNBOUND_VARIABLE: WIN_DIR = windows_directory();] /*** These variables are needed for installing LSM. The strings listed in this *** *** section are defined in USER.PIN for v8.0.5, but not for v7.3.4, thus we *** *** define them here, and for v8.0.5 they will get redefined. The NLS key for *** *** the strings differs from that used in the releases, because all of the *** *** scripts in question use the same namespace. The values for the strings *** *** are defined in the script WIN32.AVF with all the other translated strings *** *** used for the engine. ***/ {tmpvar = LSM_install;} ['UNBOUND_VARIABLE: LSM_install = FALSE;] {tmpvar = LSM_Install_Failed_Content;} ['UNBOUND_VARIABLE: LSM_Install_Failed_Content = localLSM_Install_Failed_Content;] {tmpvar = LSM_Install_Failed_Title;} ['UNBOUND_VARIABLE: LSM_Install_Failed_Title = localLSM_Install_Failed_Title;] {tmpvar = LSM_Install_Failed_Help;} ['UNBOUND_VARIABLE: LSM_Install_Failed_Help = localLSM_Install_Failed_Help;] {tmpvar = Installing_Legato;} ['UNBOUND_VARIABLE: Installing_Legato = localInstalling_Legato;] {tmpvar = Legato_install_complete;} ['UNBOUND_VARIABLE: Legato_install_complete = localLegato_install_complete;] /*** Finally, for v7.3.4 we need to define some bundle_name names. These are *** *** obsolete, but some of the scripts in v7.3.4 reference these, so we need *** *** to define them. These bundle_name names do not change for each bundle. ***/ {tmpvar = P_O7;} ['UNBOUND_VARIABLE: P_O7 = "Personal Oracle7 for Windows";] {tmpvar = P_O7_E;} ['UNBOUND_VARIABLE: P_O7_E = "Personal Oracle7 for Windows";] {tmpvar = W_O7_95;} ['UNBOUND_VARIABLE: W_O7_95 = "Oracle7 Workgroup Server for Windows 95";] {tmpvar = W_O7_NW;} ['UNBOUND_VARIABLE: W_O7_NW = "Oracle7 Workgroup Server for Netware";] {tmpvar = E_O7_NW;} ['UNBOUND_VARIABLE: E_O7_NW = "Oracle7 Server for Netware";] {tmpvar = SA_O71_W_NT;} ['UNBOUND_VARIABLE: SA_O71_W_NT = "Oracle7 Standalone for Windows NT";] /*** End catching globals needed for v7.3.4 and v8.0.5 installs ***/ /*** Need to catch additional globals for v7.3.3 installs ***/ {tmpvar = startedBackend;} ['UNBOUND_VARIABLE: startedBackend = FALSE;] {tmpvar = ano_detected_sqlnet;} ['UNBOUND_VARIABLE: ano_detected_sqlnet = FALSE;] {tmpvar = custom_install;} ['UNBOUND_VARIABLE: custom_install = TRUE;] /*** Need to catch additional globals for v8.0.3 installs ***/ { tmpvar = run_db_migration; } [ 'UNBOUND_VARIABLE: run_db_migration = FALSE; ] { tmpvar = context_chosen; } [ 'UNBOUND_VARIABLE: context_chosen = FALSE; ] { tmpvar = db_version; } [ 'UNBOUND_VARIABLE: db_version = ""; ] /**********************************************************************************/ /*** This section of the script is for the dynamic binding of bundle_name ***/ /**********************************************************************************/ /*** First define some variables for the bundle names. We only concern ourselves with *** *** v7.3.4 bundle names. This is because in v8.0.5, the bundle_name is set in USER.AVF ***/ personalEdition_NT = "Personal Oracle7 for Windows NT"; /** Personal Edition for NT bundle name **/ personalEdition_95 = "Personal Oracle7 for Windows 95"; /** Personal Edition for 95 bundle name **/ standardEdition_NT = "Oracle7 Workgroup Server"; /** Standard Edition for NT bundle name **/ enterpriseEdition_NT = "Oracle7 Server"; /** Enterprise Edition for NT bundle name **/ client_95NT = "Oracle7 Client"; /** Oracle7 Client bundle for NT and 95 **/ ano_95NT = "Oracle Advanced Networking Option"; /** Advanced Networking Option for NT and 95 **/ /*** These bundle names are for the v8.0.3 release. In v8.0.3, the bundle_name variable *** *** was not defined in the USER.AVF. ***/ O8personalEdition_NT = "Personal Oracle8 for Windows NT"; O8personalEdition_95 = "Personal Oracle8 for Windows 95"; O8standardEdition_NT = "Oracle8 for Windows NT"; O8enterpriseEdition_NT = "Oracle8 Enterprise Edition for Windows NT"; O8client_95NT = "Oracle8 Client"; /*** If bundle_name is already set, don't overwrite ***/ { bundle_name = bundle_name; } /** initialize "bundle_name" if it does not exist **/ [ 'UNBOUND_VARIABLE: { bundle_name = ""; { /*** Now we need to parse the USER.STP of the appropriate bundle. This is done by: *** *** 1. locating the USER.STP (in product_home) *** *** 2. parsing this file and getting the value of what "bundle name" is set to *** *** 3. based on this value, setting the bundle name to one of the bundles above *** *** 4. setting bundle_name to the appropriate bundle name ***/ /** So, steps 1 and 2: **/ nameOfBundle = translate("bundle_name", "%product_home%\user.stp", " = "); /** Steps 3 and 4: compare the return value of the translate() function. ** ** ** ** For ANO 8.0.5, we need to set bundle_name. This is the only 8.0.5 ** ** release for which bundle_name will need to be set. This is because ** ** for ANO 8.0.5, we can't rely on USER.AVF to set bundle_name. For ** ** this 8.0.5 bundle (and this bundle only) WIN32.AVF gets called *before* ** ** bundle_name is set in USER.AVF, and so we need to set it properly here ** ** first. ** ** ** ** For PO7 in Windows 95, we must additionally check the OS. This ** ** is because for the PO7 bundles "bundle_name" is set twice. Since ** ** translate() will always return the first instance - which is always ** ** PO7_W_NT - we will then need to check the OS and set this to ** ** PO7_W_95 if necessary. **/ if(nameOfBundle == "E_O7_W_NT;") bundle_name = enterpriseEdition_NT; else if(nameOfBundle == "W_O7_W_NT;") bundle_name = standardEdition_NT; else if(nameOfBundle == "C_O7_95_NT;") bundle_name = client_95NT; /** checks for both 7.3.4, 8.0.5 **/ else if((nameOfBundle == "ANO_95_NT;") || (nameOfBundle == "ANO_NT_95;")) bundle_name = ano_95NT; else if(nameOfBundle == "P_O7_W_NT;") { if(platform() == "nt") bundle_name = personalEdition_NT; else bundle_name = personalEdition_95; } /** The rest of these bundles are for the v8.0.3 release **/ else if(nameOfBundle == "E_O8_W_NT;") bundle_name = O8enterpriseEdition_NT; else if(nameOfBundle == "W_O8_W_NT;") bundle_name = O8standardEdition_NT; else if(nameOfBundle == "C_O8_95_NT;") bundle_name = O8client_95NT; else if(nameOfBundle == "P_O8_W_NT;") { if(platform() == "nt") bundle_name = O8personalEdition_NT; else bundle_name = O8personalEdition_95; } } [ 'OS_ERROR: { signal('FAILURE, y2krdbms_failure); } 'default: { continue(); /* will occur if no user.stp */ } ] } ] }