home *** CD-ROM | disk | FTP | other *** search
/ Oracle Video Server 3.0.3.1 / OVS_3031_NT.iso / win32 / sqlnet / net23 / adp23.vrf < prev    next >
Encoding:
Text File  |  1997-08-20  |  5.1 KB  |  140 lines

  1. /* Copyright (c) Oracle Corporation 1997.  All Rights Reserved */
  2. /***************************************************************
  3.  NAME
  4.          adp23.vrf
  5.  
  6.  DESCRIPTION
  7.          Verify script for Oracle Protocol Adapters pseudo-product.
  8.          This script is will perform auto-detection of the user's
  9.          installed Networking Protocols (TCP/IP and SPX only).  It
  10.          will then invoke the verify() function on those Protocol Adapters
  11.          for which the user has a Networking Protocol installed.
  12.  
  13.  OWNER
  14.          NT SQL*Net Group within Server Technologies.
  15.  
  16.  MODIFIED         MM/DD/YY        Reason
  17.   mmckerle        08/20/97        Created.
  18. ****************************************************************/
  19.  
  20. {
  21.    /*** First, execute the <operating_system>.vrf script, which returns a boolean, doit,
  22.         indicating whether installation should proceed or not. ***/
  23.    {
  24.       doit = execute("%installer_home%\%operating_system%.vrf");
  25.    }
  26.    [
  27.       'UNBOUND_VARIABLE:
  28.       {
  29.          required_version = product_version(osinstver);
  30.          temp = explode(required_version,".");
  31.          required_version = implode(list(first(temp),first(rest(temp)),
  32.                                       first(rest(rest(temp))),
  33.                                       first(rest(rest(rest(temp))))),".");
  34.          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.")));
  35.       }
  36.    ]
  37.  
  38.    /*** The body of this script is contained within this "if" statement. ***/
  39.    if(doit)
  40.    {
  41.  
  42.  
  43.       /*** Set the VRF script ratchet variable, guaranteeing a match between VRF and INS version numbers. ***/
  44.       vrf_ratchet = "2.3.4.0.0";
  45.  
  46.       #########################################################
  47.       #                                                       #
  48.       # Autodetection and Verification Sequence for NT and 95 #
  49.       #                                                       #
  50.       #########################################################
  51.  
  52.  
  53.  
  54.  
  55.       /* Variables and Logic */
  56.  
  57.       tcp_prod = w32tcp23;
  58.       spx_prod = w32spx23;
  59.       nmp_prod = w32nmp23;
  60.  
  61.       tcp_name = product_name(tcp_prod);
  62.       spx_name = product_name(spx_prod);
  63.       nmp_name = product_name(nmp_prod);
  64.  
  65.       install_tcp = FALSE;                   /* Autodetect for this protocol */
  66.       install_spx = FALSE;                   /* Autodetect for this protocol */
  67.       install_nmp = TRUE;                    /* Always install the Named Pipes Protocol Adapter for this release */
  68.       total = 0;                             /* return size from this script */
  69.  
  70.       /* Force install Named Pipes Protocol Adapter in Windows NT */
  71.       total = total + verify(nmp_prod);
  72.  
  73.  
  74.       /* Now begin Autodetection Sequence for SPX and TCP/IP only.  DECNet and LU6.2 are only installed through custom.*/
  75.       if(platform() == "nt")
  76.       {
  77.  
  78.          /* TCP/IP */
  79.          if(win32_key_exists("HKEY_LOCAL_MACHINE", "System\CurrentControlSet\Services\TCPIP"))
  80.          {
  81.             install_tcp = TRUE;
  82.             total = total + verify(tcp_prod);
  83.          }
  84.  
  85.          /* Novell NDS Client */
  86.          if(win32_key_exists("HKEY_LOCAL_MACHINE", "System\CurrentControlSet\Services\NwlnkIpx") ||
  87.             win32_key_exists("HKEY_LOCAL_MACHINE", "Software\Novell\IpxSpx"))
  88.          {
  89.             install_spx = TRUE;
  90.             total = total + verify(spx_prod);
  91.          }
  92.       }
  93.       else /* Win 95 */
  94.       {
  95.  
  96.          /* This loop performs protocol auto-detection in Windows 95 */
  97.          increment = 0;
  98.          while(increment < 100)
  99.          {
  100.             if(increment > 9)
  101.                increment_string = "%increment%";
  102.             else
  103.                increment_string = "0%increment%";
  104.  
  105.             temp_string = win32_get_value("HKEY_LOCAL_MACHINE",
  106.                                           "System\CurrentControlSet\Services\Class\NetTrans\00%increment_string%",
  107.                                           "DeviceVxDs");
  108.             temp_list = explode(temp_string,",", 'STRINGSONLY);
  109.  
  110.             if(member(temp_list, "vtcp.386"))
  111.                install_tcp = TRUE;
  112.             else if (member(temp_list, "nwlink.vxd") || member(temp_list, "nios.vxd"))
  113.                install_spx = TRUE;
  114.             increment = increment + 1;
  115.          }
  116.          [ 'INVALID_KEY, 'FILE_NOT_FOUND, 'OS_ERROR: increment = increment + 1; ]
  117.  
  118.          /* Novell's Stack */
  119.          {
  120.          if(not(install_spx) && (win32_key_exists("HKEY_LOCAL_MACHINE", "Network\Novell\ProtocolIPX")))
  121.             install_spx = TRUE;
  122.          }
  123.          [ 'DEFAULT:   continue(); ]
  124.  
  125.          if(install_tcp)
  126.             total = total + verify(tcp_prod);
  127.          if(install_spx)
  128.             total = total + verify(spx_prod);
  129.       }
  130.  
  131.       return(total);
  132.  
  133.    }
  134.    else
  135.    {
  136.       refresh_map_file = FALSE;  /*** Don't bother checking MAP file, as installation will not proceed. ***/
  137.       return(0);
  138.    }
  139. }
  140.