home *** CD-ROM | disk | FTP | other *** search
/ Oracle Video Server 3.0.3.1 / OVS_3031_NT.iso / win32 / install / win32.zoo < prev    next >
Encoding:
Text File  |  1997-09-16  |  30.2 KB  |  588 lines

  1. /* Copyright (c) Oracle Corporation 1996.  All Rights Reserved */
  2.  
  3. /*****************************************************************************
  4.   NAME
  5.     win32.zoo - Windows 32-bit V3 Installation Environment Initialization 
  6.                 File for V7 Oracle products
  7.  
  8.   DESCRIPTION
  9.    This script bootstraps the Windows environment for the installation
  10.    of Oracle V7 products. It is always read first by ORAINST for Windows.
  11.  
  12.   CREATED
  13.     Siddhartha Agarwal, July 10, 1996
  14.  
  15.   MODIFIED   MM/DD/YY REASON
  16.   njagathe   02/20/97 Defined variables like reboot, remind_list, 
  17.                       reboot_prompt1, reboot_prompt2 etc to ensure correct 
  18.                       behavior in shd script
  19.   njagathe   02/20/97 Changed path modification in switch homes to be similar
  20.                       to stp functionality
  21.   vrajkuma   12/26/96 Suport for 32 bit OCSM and switching homes.
  22.  
  23. *****************************************************************************/
  24. {
  25.   permit_retry_operations = FALSE;  
  26.  
  27.   /* define Smart Start varible because a lot of product scripts use it */
  28.   doSmartstart = FALSE;
  29.  
  30.   /* Define NLS strings for makedir.vrf */
  31.   {
  32.     makedir_specify_drive = nls("makedir_specify_drive","The path that you have entered, %quotation_mark%%%makedir_path_to_check%%%quotation_mark%, is not a valid path because it does not specify a drive.");
  33.     makedir_bad_drive = nls("makedir_bad_drive", "The path, %quotation_mark%%%makedir_path_to_check%%%quotation_mark%, is not valid because the drive '%%makedir_drive%%:' does not exist.");
  34.     makedir_no_dir = nls("makedir_no_dir", "%quotation_mark%%%makedir_path_to_check%%%quotation_mark% does not specify a directory. Please specify a directory name in your path.");
  35.     makedir_invalid_path = nls("makedir_invalid_path", "%quotation_mark%%%makedir_path_to_check%%%quotation_mark% is not a valid path.");
  36.     makedir_absolute_path = nls("makedir_absolute_path", "%quotation_mark%%%makedir_path_to_check%%%quotation_mark% is not an absolute path.");
  37.     makedir_illegal_char = nls("makedir_illegal_char", "%quotation_mark%%%makedir_path_to_check%%%quotation_mark% is not a valid path because it contains the illegal character '%%makedir_bad_char%%'.");
  38.     makedir_name_too_long = nls("makedir_name_too_long","The directory, '%%makedir_name%%', of the path %quotation_mark%%%makedir_path_to_check%%%quotation_mark% is too long.");
  39.     makedir_illegal_name = nls("makedir_illegal_name","The directory, '%%makedir_name%%', of the path %quotation_mark%%%makedir_path_to_check%%%quotation_mark% is not a legal name.");
  40.     makedir_dir_not_accessible = nls("makedir_dir_not_accessible","The directory, '%%makedir_current_path%%', is not accessible.");
  41.     makedir_cant_create_dir = nls("makedir_cant_create_dir","The Installer could not create the directory '%%makedir_current_path%%' : %%makedir_signal%%"); 
  42.     makedir_long_basename = nls("makedir_long_basename","The directory, '%%makedir_name%%', of the path, %quotation_mark%%%makedir_path_to_check%%%quotation_mark%, is not legal because the basename '%%makedir_base%%' contains more than 8 characters.");  
  43.     makedir_long_extension = nls("makedir_long_extension","The directory, '%%makedir_name%%', of the path, %quotation_mark%%%makedir_path_to_check%%%quotation_mark%, is not legal because the extension '%%makedir_ext%%' contains more than 3 characters.");
  44.     makedir_has_white_space = nls("makedir_has_white_space","The directory, '%%makedir_name%%', of the path, %quotation_mark%%%makedir_path_to_check%%%quotation_mark%, contains a space or tab character. Please enter a directory which does not contain any whitespace characters.");
  45.     makedir_not_enough_space = nls("makedir_not_enough_space", "%%makedir_drive%%:\ does not have enough space for setting up an Oracle home. Please free up space and try again.");
  46.     makedir_other_os_home = nls("makedir_other_os_home", "The location specified, %quotation_mark%%%makedir_path_to_check%%%quotation_mark%, is already used as an Oracle home for '%%extra_os%%'.%carriage_return%It cannot be used as an Oracle home for '%%makedir_os_for_home%%'.");
  47.     makedir_cannot_get_freespace = nls("makedir_cannot_get_freespace", "The Installer was unable to obtain the available free space in %%makedir_drive%%:\.");
  48.     makedir_content = nls("makedir_content","Directory Selection");
  49.     makedir_help = nls("makedir_help","Please Select a Directory");
  50.   }
  51.  
  52.   ui_product(nls("check_environment","Checking the Environment..."));
  53.  
  54.   /* Do not allow running of an installer installed under NT, to be run
  55.      under Windows 95, and vice versa.  The existence of the <os>.rgs file
  56.      determines what kind of home currently exists.  This can only happen
  57.      if a user physically runs the orainst.exe in the ORANT\BIN directory or
  58.      the OCSM agent on the client runs the NT installer on the host
  59.      while being on windows 95 or vice versa */
  60.   preexisting_home = false;
  61.   wrong_platform_message1 = nls("wrong_platform_message1", "Your machine is currently running the %%os_current%% Operating System.  You cannot run the %%os_exists%% Installer on %%os_current%%.");
  62.   wrong_platform_message2 = nls("wrong_platform_message2", "Your machine is currently running the %%os_current%% Operating System and the OCSM Host you want to register with is running the %%os_exists%% Operating System.  You can only register with a Host running the %%os_current%% Operating System.");
  63.  
  64.   cur_dir = current_directory();
  65.   if ((platform() == "win95") && 
  66.       (exists("%cur_dir%\..\orainst\nt.rgs")))
  67.     {
  68.       preexisting_home = true;
  69.       os_current = "Windows 95";
  70.       os_exists = "Windows NT";
  71.     }
  72.   else if ((platform() == "nt") && 
  73.            (exists("%cur_dir%\..\orainst\win95.rgs")))
  74.     {
  75.       preexisting_home = true;
  76.       os_current = "Windows NT";
  77.       os_exists = "Windows 95";
  78.     }
  79.  
  80.   if (preexisting_home == true)
  81.     {
  82.       if( installation_mode == 'bootstrap )
  83.         wrong_platform_message = wrong_platform_message2;
  84.       else
  85.         wrong_platform_message = wrong_platform_message1;
  86.       signal('FAILURE, instantiate(wrong_platform_message));
  87.     }
  88.  
  89.   /* Let the installer know that this is not a bootstrapping sequence. */
  90.  
  91.   bootstrap = FALSE;
  92.  
  93.   /* Indicate that the installer is not being run from distribution media. */
  94.  
  95.   distribution = FALSE;
  96.  
  97.   remind_list = list(); remind_helps = list();
  98.   reboot = list(); reboot_hints = list();
  99.   oracle_configs = list();
  100.   oracle_homes = list();
  101.   main_key = "HKEY_LOCAL_MACHINE";
  102.   coh_key = "SOFTWARE\ORACLE";
  103.   cohs_key = "SOFTWARE\ORACLE\ORACLE_HOMES";
  104.   temp_key = "SOFTWARE\ORACLE_HOMES";
  105.  
  106.   /* begin selection of oracle home */
  107.   inst_corrupted = nls("inst_corrupted", "This installation is corrupted. Please run the Installer from the distribution media");
  108.   clean_desktop = nls("clean_desktop", "Removing Icons of the Previous Home...");
  109.   if( switch_homes )
  110.   {
  111.     {         
  112.       coh = v7_translate("ORACLE_HOME");
  113.     }
  114.     [ 'default: signal('FAILURE, "Installation corrupted. Error getting current oracle home settings");]
  115.  
  116.     cur_config = "ORACLE1";
  117.     {
  118.       if( win32_key_exists(main_key, cohs_key) )
  119.       {
  120.         oracle_configs = win32_enumerate_keys(main_key, cohs_key);
  121.         configs = oracle_configs;
  122.         while( not(empty(configs)) )
  123.         {
  124.           var = first(configs);
  125.           if( (not(contains(var, "ORACLE"))) || (var == "ORACLE") )
  126.             {
  127.               information_dialog("Oracle home backup has extraneous key %var%", 'NOCANCEL);
  128.             extract(configs, var);
  129.           }
  130.           else
  131.             {
  132.               {
  133.                 oh = win32_get_value(main_key, "%cohs_key%\%var%", "ORACLE_HOME");
  134.                 add(oracle_homes, oh);
  135.                 if( oh == coh )
  136.                   cur_config = var;
  137.             }['default: signal('FAILURE, inst_corrupted);]
  138.               configs = rest(configs);
  139.             }
  140.         }
  141.  
  142.       }
  143.       else
  144.         signal('FAILURE, inst_corrupted);
  145.  
  146.     }
  147.     ['default: signal('FAILURE, inst_corrupted); ]
  148.     
  149.     /* if there was only one home there is nothing to be done */
  150.     if( length(oracle_configs) == 1 )
  151.     {
  152.       only_one_home_prompt = nls("only_one_home_prompt", "The Installer has detected only one Oracle home in your machine.");
  153.       only_one_home_content = nls("only_one_home_content", "Only One Home");
  154.       only_one_home_help = nls("only_one_home_help", "Run the Installer from distribution media to create new homes.");
  155.       information_dialog(only_one_home_prompt, only_one_home_content, only_one_home_help);
  156.       signal('NO_CHANGE, "its okay");
  157.     }
  158.  
  159.     /* get the current oracle home settings */
  160.     sel_oh_choices = oracle_homes;
  161.     sel_oh_prompt = nls("sel_oh_prompt", "Please select an Oracle home");
  162.     sel_oh_content = nls("sel_oh_content", "Oracle Home Selection");
  163.     sel_oh_help = nls("sel_oh_help", "This dialog lists all the available Oracle homes. Please select the Oracle home you want to use.");
  164.     sel_oh_default = coh;
  165.     sel_oh = single_selection_dialog(sel_oh_prompt, sel_oh_choices, sel_oh_default, sel_oh_content, sel_oh_help);
  166.  
  167.     {  
  168.       if( sel_oh == coh )
  169.         signal('NO_CHANGE, "its okay");
  170.  
  171.       found_good_home = TRUE;
  172.       { 
  173.         execute("win32.swt");
  174.       }
  175.       /* [ 'default: continue(); ] */
  176.  
  177.       /* can't move this setting to win32.swt, since this is irrelevant when
  178.          win32.swt is called from win32.cfg */
  179.       soh_exists = TRUE;
  180.       /* setup the installation mode */
  181.       { sel_soh = v7_translate("SHARED_ORACLE_HOME"); }
  182.       ['UNBOUND_ENVIRONMENT_VARIABLE: { soh_exists = FALSE; continue(); } ]
  183.       if( soh_exists )
  184.       {
  185.         if( sel_oh == sel_soh )
  186.           installation_mode = 'stand_alone;
  187.         else
  188.           installation_mode = 'local; #'configuration;
  189.             shared_oracle_home = sel_soh;
  190.       }
  191.       else
  192.       {
  193.         installation_mode = 'stand_alone;
  194.         shared_oracle_home = sel_oh;
  195.       }
  196.  
  197.       /* Logic to remove old home from path and add new home to path */
  198.       /* Remove coh from the path and insert sel_oh instead */
  199.       {
  200.         path_remove = FALSE; 
  201.         path_add = FALSE;
  202.     
  203.         if (platform() == "nt")
  204.           {
  205.             {
  206.               the_path = translate("PATH","$");
  207.             }
  208.             [ 'FILE_NOT_FOUND, 'UNBOUND_ENVIRONMENT_VARIABLE:
  209.               {
  210.                 the_path = "";
  211.                 continue();
  212.               }
  213.             ]#;
  214.             exploded_path = explode(the_path,";");
  215.     
  216.             if (member(exploded_path, "%coh%\bin"))
  217.               path_remove = TRUE;
  218.     
  219.             if(not(member(exploded_path,"%sel_oh%\BIN")))
  220.               path_add = TRUE;
  221.           }
  222.         else /* platform() = "win95" */
  223.           {
  224.             if(windows_autoexec_contains_fragment("PATH", "%coh%\bin"))
  225.                path_remove = TRUE;
  226.             if(not(windows_autoexec_contains_fragment("PATH","%sel_oh%\bin")))
  227.               path_add = TRUE;
  228.           }
  229.     
  230.        if(path_add || path_remove)
  231.          {
  232.            path_modfn_content = nls("path_modfn_content", "Path Modifications");
  233.            path_add_str = instantiate(nls("path_add_str", "%carriage_return%* Adding %%sel_oh%%\BIN%carriage_return%"));
  234.            path_rem_str = instantiate(nls("path_rem_str", "%carriage_return%* Removing %%coh%%\BIN%carriage_return%"));
  235.     
  236.            if(platform() == "nt")      
  237.               path_modfn_prompt1 = nls("path_modfn_prompt1_nt", "In order for some Oracle products to function correctly, the following changes need to be made to the 'all users' component of the PATH variable in the registry:%carriage_return%");
  238.            else
  239.              path_modfn_prompt1 = nls("path_modfn_prompt1_w95", "In order for some Oracle products to function correctly, the following changes need to be made to the PATH variable in your autoexec.bat file:%carriage_return%");
  240.     
  241.            path_modfn_prompt2 = instantiate(nls("path_modfn_prompt2", "The Installer can make the changes now, or you can choose to make them later.%carriage_return%Do you want the Installer to make these changes now?"));
  242.     
  243.            prompt_string = path_modfn_prompt1;
  244.     
  245.            if(path_remove)
  246.              prompt_string = "%prompt_string%%path_rem_str%";
  247.            if(path_add)
  248.              prompt_string = "%prompt_string%%path_add_str%";
  249.     
  250.            path_remind_string = prompt_string;
  251.     
  252.            prompt_string = "%prompt_string%%carriage_return%%path_modfn_prompt2%";
  253.     
  254.            /* Make the default for this question TRUE for NT 3.51 and FALSE for NT 4.0 and Win95 */
  255.            path_modify_default = FALSE;
  256.            osv_1digit = first(explode(operating_system_version(), "."));
  257.            if(numerify("%osv_1digit%") < 4)
  258.              path_modify_default = TRUE;
  259.     
  260.            path_modify = yesno_dialog(prompt_string, path_modify_default, 
  261.                                       path_modfn_content, 'NOHELP, 'NOCANCEL);
  262.     
  263.            if(not(path_modify))
  264.              add(remind_list, path_remind_string);
  265.            else
  266.              if(platform() == "nt")
  267.                {
  268.                  if(path_remove)
  269.                    {
  270.                      extract(exploded_path, "%coh%\bin");
  271.                      /* shouldn't implode do this already */
  272.                      if( empty(exploded_path) )
  273.                        the_path = "";
  274.                      else
  275.                        the_path = implode(exploded_path,";");
  276.                      modify("PATH",the_path,"$");
  277.                    }
  278.                  if(path_add)
  279.                    {
  280.                      if (not(the_path == ""))
  281.                        the_path = "%the_path%;";
  282.                      the_path = "%the_path%%sel_oh%\BIN;";
  283.                      modify("PATH",the_path,"$");
  284.                      the_path = explode(the_path,";");
  285.                      the_path = implode(the_path,"; ");
  286.                      the_path = instantiate(the_path);
  287.                    }
  288.                }
  289.              else
  290.                {
  291.                  add(reboot, 'AUTOEXEC);
  292.     
  293.                  if(path_remove)
  294.                    windows_autoexec_remove_fragment("PATH", "%coh%\BIN");
  295.                  if(path_add)
  296.                    windows_autoexec_add_fragment("PATH", "%sel_oh%\BIN");
  297.                }
  298.                ['STRING_TOO_LONG : 
  299.                  {
  300.                    max_binding_length = 127;
  301.                    autoexec_path_length_overflow = nls("autoexec_path_length_overflow", "The path environment variable has a value which is longer than the maximum limit of %max_binding_length% characters.%carriage_return%You may need to edit your autoexec.bat manually to reduce the length of the value.");
  302.                    information_dialog(autoexec_path_length_overflow);
  303.                    add(remind_list, autoexec_path_length_overflow);
  304.                  }
  305.                ]
  306.          }
  307.       }
  308.  
  309.       if( not(oracle_home_changed) )
  310.         signal('FAILURE, inst_corrupted);
  311.     } 
  312.  
  313.   } /* if switch homes */
  314.   ['NO_CHANGE: continue();]
  315.   /* end selection of oracle homes and environment setup */
  316.  
  317.   /* System root Drive */
  318.   SystemRoot = nt_system_root();
  319.   system_root_drive = first(explode(SystemRoot,":"));
  320.   windows_dir = windows_directory();
  321.   windows_sys_dir = windows_system_directory();
  322.   current_dir = current_directory();
  323.   
  324.   /* if installation_mode is bootstrap, we need to setup oracle home for client */
  325.   if (installation_mode == 'bootstrap)
  326.   {
  327.     execute("..\orainst\win32.cfg");
  328.   }
  329.   else
  330.   {
  331.     if( installation_mode == 'stand_alone )
  332.     {
  333.       /* setup the installation mode and current_username */
  334.       soh_exists = TRUE;
  335.       { soh = v7_translate("SHARED_ORACLE_HOME"); }
  336.       ['UNBOUND_ENVIRONMENT_VARIABLE: { soh_exists = FALSE; continue(); } ]
  337.       { oh = v7_translate("ORACLE_HOME"); }
  338.       if( soh_exists )
  339.       {
  340.         if( oh == soh )
  341.           installation_mode = 'stand_alone;
  342.         else
  343.           installation_mode = 'local; #'configuration;
  344.       }
  345.       else
  346.         installation_mode = 'stand_alone;
  347.     }
  348.  
  349.   }    
  350.  
  351.   /* The environment has already been set up, so 'config' and  'oracle_home'
  352.    should be readily available. */
  353.  
  354.   {
  355.     /* Provide the Windows 3.1 oracle home */
  356.     windows_dir = windows_directory();
  357.     if (directory_name(windows_dir) == windows_dir)
  358.       win_ini_dir = "%windows_dir%win.ini";
  359.     else
  360.       win_ini_dir = "%windows_dir%\win.ini";
  361.     {
  362.       windows_ora_config = translate("ora_config", win_ini_dir);
  363.       win16_oracle_home = translate("oracle_home", "%windows_ora_config%");
  364.     }['DEFAULT: continue();]
  365.  
  366.     nls_language = default_language();
  367.     oracle_home = v7_translate("oracle_home"); pathify(oracle_home);
  368.     shared_oracle_home = v7_translate("shared_oracle_home"); 
  369.     shared_oracle_home = implode(explode(shared_oracle_home,"\"),"\");
  370.     
  371.     ora_config = "$oracle";
  372.     oracle_group_name = v7_translate("oracle_group_name");
  373.     installer_home = "%oracle_home%\orainst";
  374.     shared_installer_home = "%shared_oracle_home%\orainst";
  375.     if(oracle_home == shared_oracle_home) /* This is being run on the host */
  376.        host_shared_oracle_home = shared_oracle_home;
  377.     else
  378.       {
  379.         soh_reg_machine = translate("HOST_MACHINE", 
  380.                                     "%shared_installer_home%\ocsm.ini", "ORACLE");
  381.         soh_backup_entry = translate("BACKUP", 
  382.                                      "%shared_installer_home%\ocsm.ini", "ORACLE");
  383.         host_shared_oracle_home = win32_get_value(main_key, "%cohs_key%\%soh_backup_entry%", "ORACLE_HOME", soh_reg_machine);
  384.       }
  385.     shared_dll = "%shared_oracle_home%\shrdll";
  386.     { current_username = v7_translate("CLIENTNAME"); }
  387.     ['UNBOUND_ENVIRONMENT_VARIABLE: { current_username = ""; continue(); } ]
  388.  
  389.   /* Is everything there? */
  390.     if (not(exists("%oracle_home%\bin")) ||
  391.           not(exists("%oracle_home%\dbs")) ||
  392.           not(exists("%oracle_home%\orainst")) ||
  393.         ((platform() == "nt") && not(exists("%oracle_home%\orainst\nt.rgs"))) ||
  394.         ((platform() == "win95") && not(exists("%oracle_home%\orainst\win95.rgs"))))
  395.       signal('UNBOUND_ENVIRONMENT_VARIABLE);
  396.   }  
  397.   ['UNBOUND_ENVIRONMENT_VARIABLE: signal('FAILURE,nls("installation_corrupted","This installation of Oracle needs to be corrected. To do this, you must run the Oracle Installer from distribution media.")); ]
  398.  
  399.  /* create log file */
  400.  {
  401.    { 
  402.      copy_file("%oracle_home%\orainst\orainst.log",
  403.            "%oracle_home%\orainst\orainst.olg");
  404.     } [ 'default: continue(); ]
  405.     
  406.     create_log("%ORACLE_HOME%\ORAINST\ORAINST.LOG",FALSE);
  407.   } [ 'default: continue(); ]
  408.  
  409.   /* log the windows NT env */
  410.   log_state();
  411.   win32_log_state();
  412.  
  413.   identifying_boot_drive = nls("identifying_boot_drive",
  414.                            "Identifying the Boot Drive...");
  415.  
  416.   boot_drive_prompt = nls("boot_drive_prompt","Please select the drive from which you boot your computer:");
  417.   boot_drive_content = nls("boot_drive_content","Boot Drive");
  418.   boot_drive_help = nls("boot_drive_help","You are being asked to identify the drive from which you boot your computer.");
  419.  
  420.   reinstall_prompt01 = nls("reinstall_prompt01","Would you like to update %%product_label%%, version %%installed_version%%, with the available release of %%product_label%%, version %%current_version%%?");
  421.  
  422.   reinstall_content01 = nls("reinstall_content01","Update");
  423.  
  424.   reinstall_help01 = nls("reinstall_help01","The currently installed version of %%product_label%%, %%installed_version%%, is out of date. The available version is %%current_version%%. It is recommended that you update %%product_label%% to the newer version, %%current_version%%. Choose 'Yes' to update %%product_label%% to %%current_version%%. Choose 'No' if you are sure you want to keep the installed version, %%installed_version%%, intact.");
  425.  
  426.   reinstall_prompt02 = nls("reinstall_prompt02","WARNING: Not installing the latest version of %%product_label%%, %%current_version%%, may cause other Oracle products to work improperly.");
  427.  
  428.   reinstall_content02 = nls("reinstall_content02","Necessary Update");
  429.  
  430.   reinstall_help02 = nls("reinstall_help02","You are in the process of installing Oracle products which depend on version %%current_version%% of %%product_label%%. It is therefore recommended that you update %%product_label%% to %%current_version%%. You have chosen not to do so so, which may cause certain Oracle products to work improperly.");
  431.  
  432.   reinstall_prompt03 = nls("reinstall_prompt03","WARNING: The currently installed version of %%product_label%%, %%installed_version%%, is up to date. Are you sure you want to install the old version, %%current_version%%?  Doing so may cause other Oracle products to work improperly.");
  433.  
  434.   reinstall_content03 = nls("reinstall_content03","Old Version");
  435.  
  436.   reinstall_help03 = nls("reinstall_help03","You are attempting to install an older version of %%product_label%%, %%current_version%%, although version %%installed_version%% is already installed. Installing an older version of %%product_label%% may cause other Oracle products to work improperly. Choose 'No' to leave the current version of %%product_label%%, %%installed_version%%, intact. Choose 'Yes' if you are sure you want to replace it with version %%current_version%%.");
  437.  
  438.   reinstall_prompt04 = nls("reinstall_prompt04","Version %%installed_version%% of %%product_label%% has already been installed and is up to date. Would you like to reinstall it?");
  439.  
  440.   reinstall_content04 = nls("reinstall_content04","Up To Date");
  441.  
  442.   reinstall_help04 = nls("reinstall_help04","Version %%installed_version%% of %%product_label%% has already been installed and is up to date. There is no need to reinstall %%product_label%% unless the installation has been damaged. Choose 'No' to skip the reinstallation of %%product_label%%. Choose 'Yes' if you are sure you want to reinstall it.");
  443.  
  444.   deinstall_prompt01 = nls("deinstall_prompt01","WARNING: Other products are dependent on %%registry_label%%. Removing it may cause other products to work improperly. Are you sure you want to remove it?");
  445.  
  446.   deinstall_content01 = nls("deinstall_content01","Dependencies");
  447.  
  448.   deinstall_help01 = nls("deinstall_help01","Other products are dependent on %%registry_label%%. Removing it may cause them to work improperly. It is therefore recommended that you do not remove %%registry_label%%. Choose 'No' to leave %%registry_label%% intact. Choose 'Yes' if you are sure you want to remove it.");
  449.  
  450.   deinstall_prompt02 = nls("deinstall_prompt02","It was not possible to find a value for the variable, '%%variable%%', in '%%ora_config%%'. It is therefore not possible to remove %%registry_label%%. Please restore the binding for '%%variable%%' in '%%ora_config%%' in order to remove %%registry_label%%.");
  451.  
  452.   deinstall_content02 = nls("deinstall_content02","Variables");
  453.  
  454.   deinstall_help02 = nls("deinstall_help02","It was not possible to find a value for the variable, '%%variable%%', in '%%ora_config%%'. '%%variable%%' is used to determine in what directory %%registry_label%% was installed. It is therefore not possible to remove %%registry_label%%. Please restore the binding for '%%variable%%' by adding a line that begins with '%%variable%%=' in '%%ora_config%%'.
  455.  
  456. If %%registry_label%% is installed in '%%oracle_home%%', you need to add the line '%%variable%%=%%oracle_home%%' to correct the problem.
  457.  
  458. When you have corrected the problem, you can remove %%registry_label%%.");
  459.  
  460.   unbound_message = nls("unbound_message","The versions of the products you are installing require a separate installation procedure. Please choose 'OK' to quit this installation, leave the disk labeled '%%product_label%% 1' in your drive, and then choose 'From'. When the %%product_label%% installation is complete, please resume installing the products you originally selected for installation.");
  461.   unbound_content = nls("unbound_content","Separate Installation Procedure");
  462.   unbound_help = nls("unbound_help","The product you are currently installing was created with a different version of %%product_label%%. Proceeding with the current installation may result in installation errors. To avoid these errors and to successfully complete your installation, please choose 'OK' to quit this installation, insert the disk labeled '%%product_label%% 1' in your drive, and choose 'From'. When the installation is complete, install the other products you originally selected for installation.");
  463.   instver_too_early = nls("instver_too_early","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.");
  464.   version_string = nls("version_string","%%prodlab%% version %%ver%%");
  465.   cancel_prompt01 = nls("cancel_prompt01","Installation terminated at user request."); 
  466.   registering_product = nls("registering_product", "Registering %%product_label%%...");
  467.   create_dir_prompt = nls("create_dir_prompt","Creating %%dest_dir%% ...");
  468.   copying_file = nls("copying_file","Copying %%file_to_copy%% ...");
  469.   remind_content = nls("remind_content","Installation Notes");
  470.  
  471.   reboot_prompt1 = nls("reboot_prompt1","Please reboot your computer after you exit the Installer in order for changes to the following file(s) to take effect:%carriage_return%%carriage_return%");
  472.   reboot_prompt2 = nls("reboot_prompt2","Please reboot your computer after you exit the Installer.");
  473.   reboot_content = nls("reboot_content","Reboot Needed");
  474.   reboot_help = nls("reboot_help","The product(s) you have just installed may not function correctly until you reboot.");
  475.   remind_content = nls("remind_content","Installation Notes");
  476.  
  477.   ui_setting_up = nls("ui_setting_up", "Setting up...");
  478.   ui_analyzing_dependencies = nls("ui_analyzing_dependencies", "Analyzing Dependencies...");
  479.   ui_installing = nls("ui_installing", "Installing...");
  480.   ui_deinstalling = nls("ui_deinstalling", "Removing...");
  481.   ui_cancelling = nls("ui_cancelling", "Cancelling...");
  482.   ui_configuring = nls("ui_configuring","Configuring...");
  483.  
  484.   OH_empty_path_content = nls("OH_empty_path_content", "Oracle Home not Specified");
  485.   OH_empty_path_prompt = nls("OH_empty_path_prompt", "You have not selected an Oracle home.  Choose BACK to enter a valid location. Choose OK to accept the default location, %oracle_home%.");
  486.  
  487.   notify_groups_signal = nls("notify_groups_signal",
  488.                              "The following product(s) are still configured for the following groups of users. These have not been removed because users may be currently accessing them.%carriage_return%%carriage_return%Please run the Oracle Client Configuration Manager to retract access to the products, and try again.%carriage_return%%carriage_return%%shared_product_string%");
  489.  
  490.   inst_dir = "%oracle_home%\ORAINST";
  491.   backup_dir = "%inst_dir%\backup";
  492.   backup_marker = "%inst_dir%\backup.mk";
  493.   if (exists(backup_marker))
  494.     {
  495.       copy_list = list("WIN32.AVF", "WIN32.VRF", "WIN32.PVF",
  496.                "WIN32.INS", "WIN32.DEI", "WIN32.PIN", 
  497.                "WIN32.SHD","WIN32.RSP", "MAKEDIR.VRF");
  498.       if (platform() == "nt")
  499.         old_list = list("NT.AVF", "NT.VRF", "NT.PVF",
  500.                     "NT.INS", "NT.DEI", "NT.PIN", 
  501.                 "NT.SHD","NT.RSP", "SERVICES.VRF");
  502.       else
  503.         old_list = list("WIN95.AVF", "WIN95.VRF", "WIN95.PVF",
  504.                     "WIN95.INS", "WIN95.DEI", "WIN95.PIN", 
  505.                 "WIN95.SHD","WIN95.RSP", "PATH.VRF");
  506.       copy_list = union(copy_list, old_list);
  507.  
  508.       a_list = copy_list;
  509.       while (not(empty(a_list))) 
  510.     {
  511.       the_file = first(a_list);
  512.       a_list = rest(a_list);
  513.       {
  514.         copy_file("%backup_dir%\%the_file%", "%inst_dir%\");
  515.       } [ 'default: continue(); ]
  516.     }
  517.  
  518.       /* backup is done, clear marker */
  519.       remove_file(backup_marker);
  520.  
  521.       {
  522.     a_list = copy_list;
  523.     while (not(empty(a_list))) 
  524.       {
  525.         the_file = first(a_list);
  526.         a_list = rest(a_list);
  527.         remove_file("%backup_dir%\%the_file%");
  528.       }
  529.     remove_directory(backup_dir);
  530.       } [ 'default: continue(); ]
  531.     }
  532.  
  533.   /* now configure products for the client, by assigning win32sharagt */
  534.   if (installation_mode == 'bootstrap)
  535.     installation_mode = 'configuration;
  536.  
  537.   if (installation_mode == 'configuration)
  538.   {
  539.     product_home = "%shared_oracle_home%\sharagt";
  540.     selected_products = list("w32sharagt");
  541.     bootstrap = TRUE; 
  542.   }
  543.  
  544.  
  545.   /*******************************************************************/
  546.   /*******************************************************************/
  547.   /*                 PRODUCT SCRIPT COMMON STRINGS                   */
  548.  
  549.   /* Service Operations */
  550.   create_service = nls("create_service",
  551.                          "Creating %%product_label%% Windows NT Service...");
  552.   stoppe_product_service = nls("stop_product_service",
  553.                          "Stopping %%product_label%% Windows NT Service...");
  554.   delete_product_service = nls("delete_product_service",
  555.                          "Deleting %%product_label%% Windows NT Service...");
  556.   stop_registry_service = nls("stop_registry_service",
  557.                          "Stopping %%registry_label%% Windows NT Service...");
  558.   delete_registry_service = nls("delete_registry_service",
  559.                          "Deleting %%registry_label%% Windows NT Service...");
  560.   
  561.   /* File Operations */
  562.   create_directory = nls("create_directory", 
  563.                            "Creating %%product_label%% Directory Structure...");
  564.  
  565.   install_admin = nls("install_admin",
  566.                       "Installing %%product_label%% Administration Files...");
  567.   install_demo = nls("install_demo",
  568.                      "Installing %%product_label%% Demonstration Files...");           
  569.   install_data = nls("install_data",
  570.                      "Installing %%product_label%% Data Files...");           
  571.   install_system = nls("install_system",
  572.                        "Installing %%product_label%% Microsoft System DLLs...");           
  573.   install_nls = nls("install_nls",
  574.                     "Installing %%product_label%% NLS Files...");
  575.   install_oci = nls("install_oci",
  576.                     "Installing %%product_label%% OCI Files...");
  577.   install_readme = nls("install_readme",
  578.                        "Installing %%product_label%% Readme Files...");
  579.  
  580.   { ui_graphics(); }['default: continue();]
  581.  
  582.   permit_retry_operations = FALSE;
  583.   problem_reboot = FALSE; autoexec_reboot = FALSE;
  584.  
  585.   mshelp = "%oracle_home%\mshelp";
  586.  
  587. }
  588.