/* Copyright (c) Oracle Corporation 1992.  All Rights Reserved */

/**************************************************************************** 
  NAME
    object10.ins - Windows V3 installation script for the
		  Oracle Object for Windows.

  DESCRIPTION
    This script installs the OO4W by copying the appropriate files.

  OWNER
    Biju Albert

  MODIFIED    DD-MMM-YY Reason
    balbert  01-DEC-94 Created.
*****************************************************************************/
{
  /************************************************************************** 
	    Start main logic...                               
   **************************************************************************/
  if (doit)
    {
      ins_ratchet = "1.0.55.0.0";

      execute("%installer_home%\windows.ins");

      install(winrsf71);
      /*install(win32rsf71);*/

      ui_product(product_label);             

      permit_retry_operations = TRUE;        

      ui_action(instantiate(installing_scripts));
      copy(deinstl);

      ui_action(instantiate(installing_class_library));    
      copy (CPPBMFCEMPEDIT);
      copy (CPPBMFCEMPEDITRES);
      copy (CPPBMFCH);
      copy (CPPBMFCLIB);
      copy (CPPBMFCLIBD);
      copy (CPPBMFCSRC);
      copy (CPPBOWL);
      copy (CPPBOWLEMPEDIT);
      copy (CPPBOWLH);
      copy (CPPBOWLLIB);
      copy (CPPBOWLLIBD);
      copy (CPPBOWLSRC);
      copy (CPPDOC);
      copy (CPPH);
      copy (CPPMFCBIN);
      copy (CPPMFCBIND);
      copy (CPPMFCLIB);
      copy (CPPOWLBIN);
      copy (CPPOWLBIND);
      copy (CPPOWLLIB);
      copy (CPPSRC);
      copy (CPPWORK);
      copy (CPPWORKBOUNDVAL);
      copy (CPPWORKEMPEDT);
      copy (CPPWORKEMPEDTRES);
      copy (CPPWORKLOGDLG);
      copy (CPPWORKPOSADV);
      copy (CPPDEMOSQL);
/*      copy (Files); */
      ui_action(instantiate(installing_object_server));    
      copy (OIPBIN);
      {
      if (web_install) copy (OIPSRVWEB);
      else copy (OIPSRV);
      }
      ['UNBOUND_VARIABLE: {copy (OIPSRV); continue();}]
      copy (OIPDOC);
      copy (OO4W);
      copy (OO4WREL);
      ui_action(instantiate(installing_ole_libraries));    
/*      copy (OLEBIN);
      copy (OLEREG);*/

      system_files = group_files(OLEBIN);
      product_directory = implode(list(product_home,
                                       product_location(current_product)),"\");
      pathify(product_directory);

      while (not (empty(system_files)))
      {
         /* Set up the filenames and versions */
         current_destination_file = first(system_files);
         current_source_file = implode(list(product_directory,
                                            file_name(current_destination_file)),
                                       "\");
         pathify(current_source_file);

         source_file_version = windows_file_version(current_source_file);
         {
           if ((not(exists(current_destination_file)))
            || (windows_earlier_version(current_destination_file,
                                        source_file_version)))
             signal('FILE_NOT_FOUND);
	      } ['default: copy_file(current_source_file,current_destination_file); ]

         system_files = rest(system_files);

      }

      system_files = group_files(OLEREG);
      product_directory = implode(list(product_home,
                                       product_location(current_product)),"\");
      pathify(product_directory);

      while (not (empty(system_files)))
      {
         /* Set up the filenames and versions */
         current_destination_file = first(system_files);
         current_source_file = implode(list(product_directory,
                                            file_name(current_destination_file)),
                                       "\");
         pathify(current_source_file);

         {
           if (not(exists(current_destination_file)))
             signal('FILE_NOT_FOUND);
	      } ['default: copy_file(current_source_file,current_destination_file); ]

         system_files = rest(system_files);

      }

      ui_action(instantiate(installing_vb_vba));    
      copy (VBBIN);
      copy (VBDEPT);
      copy (VBEMP);
      copy (VBLOGIN);
      copy (VBMSG);
      copy (VBOBJ);
      copy (VBPARM);
      copy (VBQUOTE);
      copy (VBRAISE);
      copy (VBSQL);
      copy (XSAMP);
       
/*
      if (set_mshelp)
      {
	ui_action(instantiate(modifying_config));
	modify("MSHELP",mshelp,ora_config,"Oracle");
      }
     if (install_plsql)
     {
      if (set_plsql21)
      {
	ui_action(instantiate(modifying_config));
	modify("PLSQL21",plsql21,ora_config,"Oracle");
      }
     }
	{
	spawn("%ORACLE_HOME%\bin\vsdpw.exe PASSWORD=%dba_password%", 'MINIMIZE);
	}
	[ 'NO_RESPONSE: continue();
	  'INVALID_FILE_NAME, 'OS_ERROR: information_dialog(pwmerr);
	]
*/

      permit_retry_operations = FALSE;
      ui_action(instantiate(registering));
      {
      spawn("%WINDIR%\REGEDIT.EXE /s %WINSYS%\OLE2.REG");
      }
      ['UNKNOWN_ERROR, 'NO_RESPONSE: continue();]
      {
      spawn("%WINDIR%\REGEDIT.EXE /s %WINSYS%\ORAIPSRV.REG");
      }
      ['UNKNOWN_ERROR, 'NO_RESPONSE: continue();]
      register(current_product);
      if (member(selected_products,current_product))
	reference(current_product);

      reference(winrsf71, current_product);

      permit_retry_operations = FALSE;
    }
}

