home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1996 February / PCWK0296.iso / po7_win / rsf71 / rsf71.vrf < prev    next >
Text File  |  1994-12-29  |  15KB  |  223 lines

  1. /* Copyright (c) Oracle Corporation 1992.  All Rights Reserved */
  2. /*****************************************************************************
  3.   NAME
  4.     rsf71.vrf - V3 version analysis/product configuration script
  5.                 for Windows Required Support Files 7.0.
  6.  
  7.   DESCRIPTION
  8.     This script checks dependencies and environment settings for the
  9.     installation of Windows Required Support Files.
  10.  
  11.   MODIFIED    DD-MMM-YY  Reason
  12.     echien    17-NOV-94 v7.1.4.0.4
  13.     echien    09-NOV-94  v7.1.4.0.3
  14.     peiyu     05-OCT-94  v7.1.4.0.2
  15.     peiyu     19-SEP-94  v7.1.4.0.1
  16.     peiyu     24-Aug-94  rsf70->rsf71
  17.     Colello   06-JUN-94  cancel Reuqired Products dialog
  18.     Colello   20-APR-94  make 3.0.10.1 compliant
  19.     akelley   21-OCT-93  Toolkit, Help, Multimedia removed
  20.     ming      23-SEP-93  DLL version checking added
  21.     akelley   31-AUG-93  NLS added
  22.     akelley   28-MAY-93  modified to match OS/2 scripts.
  23.     akelley   27-APR-93  Added MM105.
  24.     akelley   27-APR-93  Added OH105.
  25.     akelley   09-MAR-93  Added TK20.
  26.     akelley   26-OCT-92  Added RDBMS70.
  27.     handrus   16-SEP-92  Fixed.
  28.     ekabatch  07-MAR-92  Normalized.
  29.     ekabatch  28-JAN-92  Created.
  30. *****************************************************************************/
  31.  
  32. {
  33.   /***********************************************************************
  34.       Set the VRF-INS script "ratchet"
  35.    ***********************************************************************/
  36.   vrf_ratchet = "7.1.4.0.4A";
  37.  
  38.   { doit = execute("%installer_home%\windows.vrf"); }
  39.   [
  40.     'UNBOUND_VARIABLE:
  41.       {
  42.         required_version = product_version(windowsinstver);
  43.         temp = explode(required_version,".");
  44.         required_version = implode(list(first(temp),first(rest(temp)),
  45.                                         first(rest(rest(temp))),
  46.                                         first(rest(rest(rest(temp))))),".");
  47.         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.")));
  48.       }
  49.   ]
  50.  
  51.   if (doit)
  52.     {
  53.       /* Cancel the Required Products Dialog for the RSF */
  54.       {
  55.         if (member(products_for_installation, current_product))
  56.           extract(products_for_installation, current_product);
  57.       }
  58.         [ 'UNBOUND_VARIABLE: continue(); ] /* products_for_installation */
  59.                                            /* could possibly be unbound */
  60.  
  61.       /***********************************************************************
  62.          Set the following to be your list of dlls that you want to check...
  63.       ************************************************************************/
  64.       target_list = list("USDMEM.DLL", "ORA71WIN.DLL", "CORE3WIN.DLL", "NLS23WIN.DLL", "SQL16WIN.DLL");
  65.       
  66.       /***********************************************************************
  67.          Bind path variables...
  68.       ************************************************************************/
  69.       {
  70.         set_rdbms71 = FALSE;
  71.         rdbms71 = v7_translate("rdbms71");
  72.  
  73.         if (not(exists(rdbms71)))
  74.           signal('UNBOUND_ENVIRONMENT_VARIABLE);
  75.       }
  76.         [ 'OS_ERROR,'INVALID_FILE_NAME,
  77.           'PERMISSION_DENIED,'UNBOUND_ENVIRONMENT_VARIABLE:
  78.           {
  79.             rdbms71 = "%oracle_home%\rdbms71";
  80.             set_rdbms71 = TRUE;
  81.           }
  82.         ]
  83.  
  84.       {
  85.         set_pro16 = FALSE;
  86.         pro16 = v7_translate("pro16");
  87.  
  88.         if (not(exists(pro16)))
  89.           signal('UNBOUND_ENVIRONMENT_VARIABLE);
  90.       }
  91.         [ 'OS_ERROR,'INVALID_FILE_NAME,
  92.           'PERMISSION_DENIED,'UNBOUND_ENVIRONMENT_VARIABLE:
  93.           {
  94.             pro16 = "%oracle_home%\pro16";
  95.             set_pro16 = TRUE;
  96.           }
  97.         ]
  98.  
  99.  
  100.       /***********************************************************************
  101.          Bind string variables & prompt strings...
  102.       ***********************************************************************/
  103.  
  104.       /* ui_action strings */
  105.       sorting_dlls = nls("sorting_dlls", "Sorting DLLs");
  106.       searching_path = nls("searching_path",
  107.                            "Searching for extra copies of %%target%%...");
  108.       searching_file = nls("searching_file",
  109.                            "Searching for extra copies of %%target%%: %%full_target%%");
  110.       writing_dlls_txt = nls("writing_dlls_txt", "Writing a list of extra DLLs to %%old_dlls_txt%%...");
  111.       identifying_bt_drive = nls("identifying_bt_drive", "Identifying the Boot Drive...");
  112.  
  113.       /* error messages */
  114.       permission_denied = nls("permission_denied", "permission denied");
  115.       invalid_file_name = nls("invalid_file_name", "invalid file name");
  116.       write_error = nls("write_error", "write error");
  117.       file_not_found = nls("file_not_found", "file not found");
  118.       os_error = nls("os_error", "operating system error");
  119.       installation_aborted = nls("installation_aborted", "installation aborted");
  120.       cannot_rename = nls("cannot_rename",
  121.                           "Cannot rename %%old_dll%% to %%target_old%% : %%error%%. This is probably because one of these files is locked by another application. You should shut down all other Windows applications and then reinstall. If that does not work, restart Windows and then reinstall.");
  122.       cannot_copy = nls("cannot_copy",
  123.                         "The Installer could not install %%target%% to location %%bin_dll%% : %%error%%. This is probably because the file %%bin_dll%% is locked by another application. You should shut down all other Windows applications and then reinstall. If that does not work, restart Windows and then reinstall.");
  124.  
  125.       /* DLL list formatting */
  126.       no_version_info = nls("no_version_info", "(no version)");
  127.       default_format = nls("default_format",
  128.                            "%%oldest_dll%% %%oldest_version_no%%");
  129.       bin_format = nls("bin_format",
  130.                        "%%target%% %%oldest_version_no%% (currently installed)");
  131.       new_format = nls("new_format",
  132.                        "%%target%% %%oldest_version_no%% (on media)");
  133.       head_message = nls("head_message", "In addition to the necessary changes noted below, please make sure that %%oracle_home_bin%% is on your DOS PATH.");
  134.       header_message = nls("header_message",
  135.                            "The following copies of %%target%% may interfere with %%bin_dll%%%%final_version_no%%. You should rename them or remove them from your system.");
  136.  
  137.       /* problem modifying RSF_DLLS.TXT */
  138.       mod_problem = nls("mod_problem",
  139.                         "The Installer could not access the file %%old_dlls_txt%%. The list of extra DLLs will not be available.");
  140.       mod_content = nls("mod_content",
  141.                         "Extra DLL List");
  142.       mod_help = nls("mod_help",
  143.                      "The Installer could not access the file %%old_dlls_txt%%. This file is used to record the list of extra Oracle DLLs on your DLL search path.");
  144.       list_written = nls("list_written", "The list of extra DLLs has been written to the file %%old_dlls_txt%%. It is strongly recommended that you manually rename or remove these DLLs from your DLL search path.");
  145.  
  146.       /* ok to overwrite currently installed DLL? */
  147.       overwrite_message = nls("overwrite_message",
  148.                               "The currently installed version of %%target%% is newer than the %%target%% that comes with the distribution media. Do you wish to overwrite the current one with the one from the distribution media?  Choose 'Yes' to install the older version from the distribution media. Choose 'No' to keep the currently installed version.");
  149.       overwrite_content = nls("overwrite_content", "DLL Conflict");
  150.       overwrite_help = nls("overwrite_help",
  151.                            "The currently installed version of %%target%% is newer than the %%target%% that comes with the distribution media. You have the choice of either installing the %%target%% from the distribution media or keeping the currently installed %%target%%.");
  152.  
  153.       /* ok to auto rename extra DLLs? */
  154.       auto_rename = nls("auto_rename",
  155.                         "The Installer has found extra copies of %%target%% on your DLL search path. To avoid conflict with the %%target%% installed on your system in %%oracle_home_bin%%, all other copies of %%target%% should be renamed to %%target_base%%.OLD. Do you want this automatically done for you?");
  156.       auto_rename_content = nls("auto_rename_content", "DLL Conflict");
  157.       auto_rename_help = nls("auto_rename_help", "The Installer has found extra copies of %%target%% on your DLL search path. This DLL should only be installed in %%oracle_home_bin%%. All other copies of %%target%% should be removed from your system. This can be done by renaming them from %%target%% to %%target_base%%.OLD. Choose 'Yes' to have the Installer automatically rename them for you. Choose 'No' if you want to manually rename them later. The list of extra DLLs will be written to the file %%oracle_ho
  158. me%%\RSF_DLLS.TXT to help you do this.");
  159.  
  160.       /* ok to add oracle_home/bin to path? */
  161.       mod_autoexec_prompt = nls("mod_autoexec_prompt","The DOS PATH variable does not include the %%oracle_home_bin%% directory. Since the Installer has removed some redundant DLLs from your DLL search path, it is strongly recommended that you add %%oracle_home_bin%% to your DOS PATH. Do you wish to do this?");
  162.       mod_autoexec_content = nls("mod_autoexec_help","PATH Problem");
  163.       mod_autoexec_help = nls("mod_autoexec_help","The DOS PATH variable does not include the %%oracle_home_bin%% directory. Third party products that use Oracle libraries and SQL*Net drivers may not function properly unless %%oracle_home_bin%% is on your DOS PATH. It is strongly recommended that you add %%oracle_home_bin%% to your DOS PATH.");
  164.       autoexec_was_changed = nls("autoexec_was_changed","In order for the changes to your AUTOEXEC.BAT files to take effect, your PC must be rebooted. Please reboot your computer now.");
  165.  
  166.       /* what is your boot drive? */
  167.       bt_drive_prompt = nls("bt_drive_prompt","Please select the drive from which you boot your computer:");
  168.       bt_drive_content = nls("bt_drive_content","Boot Drive");
  169.       bt_drive_help = nls("bt_drive_help","You are being asked to identify the drive from which you boot your computer.");
  170.  
  171.       /* something is wrong with path */
  172.       pth_problem_prompt = nls("pth_problem_prompt","The PATH variable correctly includes %%oracle_home_bin%% in your %%autoexec_bat%% file, but does not do so in the DOS environment. Some Oracle products and some third party products will not function properly until the PATH variable has been corrected.");
  173.       pth_problem_content = nls("pth_problem_content","PATH Problem");
  174.       pth_problem_help = nls("pth_problem_help","The PATH variable correctly includes %%oracle_home_bin%% in your %%autoexec_bat%% file, but does not do so the DOS environment. This problem may have arisen from a manual change of the PATH variable, in which case rebooting your computer will resolve the problem. It is also possible that your PATH variable has been changed by some other software you are running or by a DOS batch file you have executed. In that case, it is necessary for you to track the proble
  175. m manually." );
  176.       grter_path_length = nls("grter_path_length","These changes will result in a search path length of %len%, exceeding the DOS limit of 127. You will have to correct this manually. One solution may be shorter directory names.");
  177.  
  178.       /* we recommend that you install this DLL */
  179.       prefer_new_message = nls("prefer_new_message",
  180.                                "There are extra copies of %%target%% on your DLL search path. It is recommended that you install the version of %%target%% that comes with the distribution media. Choose 'Yes' to install this copy of %%target%%. Choose 'No' to manually select a copy of %%target%% from a list.");
  181.       prefer_newest_message = nls("prefer_newest_message",
  182.                                   "There are extra copies of %%target%% on your DLL search path. It is recommended that you install the latest version: %%newest_dll%% %%newest_version_no%%. Choose 'Yes' to install this copy of %%target%%. Choose 'No' to manually select a copy of %%target%% from a list.");
  183.       prefer_installed_message = nls("prefer_installed_message",
  184.                                      "There are extra copies of %%target%% on your DLL search path, but the currently installed copy of %%target%% is the latest version. It is recommended that you keep this copy installed. Choose 'Yes' to keep the currently installed copy. Choose 'No' to manually select a copy of %%target%% from a list.");
  185.       prefer_content = nls("prefer_content", "DLL Conflict");
  186.       prefer_help = nls("prefer_help",
  187.                         "The Installer has found extra copies of %%target%% on your DLL search path. Only one copy can be installed on your system. If you choose 'Yes', the recommended DLL will be installed. If you choose NO, you will be allowed to manually select a copy of %%target%% from a list.");
  188.  
  189.       /* select the DLL that you want to install */
  190.       choose_dll_message = nls("choose_dll_message",
  191.                                "Please select the copy of %%target%% that you wish to install on your system.");
  192.       choose_dll_content = nls("choose_dll_content", "DLL Selection");
  193.       choose_dll_help = nls("choose_dll_help",
  194.                             "The Installer has found extra copies of %%target%% on your DLL search path. Only one copy can be installed on your system. Select the copy of %%target%% that you wish to install.");
  195.  
  196.  
  197.       installing_scripts = nls("installing_scripts",
  198.                                "Installing %%product_label%% Scripts...");
  199.       installing_dlls = nls("installing_dlls",
  200.                             "Installing %%product_label%% Dynamic Link Libraries...");
  201.       installing_executables = nls("install_executables",
  202.                                    "Installing %%product_label%% Executables...");
  203.       installing_msbs = nls("installing_msbs",
  204.                             "Installing %%product_label%% Message Files...");
  205.       installing_sql = nls("installing_sql",
  206.                            "Installing %%product_label%% SQL Scripts...");
  207.       modifying_config = nls("modifying_config",
  208.                              "Modifying %%product_label%% Environment Variables...");
  209.       registering = nls("registering","Registering %%product_label%%...");
  210.  
  211.       /***********************************************************************
  212.            Return total size of files depending upon which options were
  213.            selected for installation...
  214.       ************************************************************************/
  215.       return(sum(deinstl,dll,exe,msg,nls_abbreviation,sql));
  216.     }
  217.   else
  218.     {
  219.       refresh_map_file = FALSE;
  220.       return(0);
  221.     }
  222. }
  223.