/* Copyright (c) Oracle Corporation 1996. All Rights Reserved */ /***************************************************************************** NAME user.shd - user-defined .shd script DESCRIPTION This script allows users access to their own customizable .shd script. NOTE that win32.shd has been modified to call this file MODIFIED DD/MM/YY Reason jewillia 21-MAR-00 created jewillia 31/03/00 imp/exp and microsoft DLL code moved from user.pin jewillia 19/02/01 perform all registry actions before spwaning import/export instal *****************************************************************************/ { osVer = operating_system_version(); WIN2000_machine = ((operating_system == "nt") && (osVer == "5.0")); /* on WIN2000 there is a problem when setting registry entries using the des2k_72.cmn library as the library calls win32_register_key after win32_set_value. It is possible that win32_register_key has a problem when there is no current product (as here in user.shd) but it could be something else. So call the win32_set_reg APIs directly. eg: call_reg_api_directly = WIN2000_machine; The second alternative is to not set registry setting but tell the user to do it. eg: set_registry_values = true; */ /* call win32 reg api for all platforms */ call_reg_api_directly = true; set_registry_values = true; /* to hold the dialog information to tell the user what registry settings to set */ case_error_list = list(); {run_configuration = evaluate("run_configuration",'GLOBAL); } ['UNBOUND_VARIABLE : run_configuration = FALSE;] { if (run_configuration) { exit_msg = "The core products have been installed"; /******************************************************************* A message about the Microsoft common control DLL *******************************************************************/ common_control_dll = "%ORACLE_HOME%\BIN\40COMUPD.EXE"; if (not(exists(common_control_dll))) { set("install_common_control",FALSE,'GLOBAL); } { if (evaluate("install_common_control",'GLOBAL)) { install_common_control_msg = nls("install_common_control_msg","A Microsoft program will now run. It gives you the opportunity to install the Microsoft Common Control DLL (comctl32.dll) and may ask you to reboot your machine. Ensure that the installation of Oracle products (of both Repository/Designer client code and the Import/Export Tools) has finished before you reboot. "); /* information_dialog(instantiate(install_common_control_msg),'NO_CANCEL); */ exit_msg = "%exit_msg%%carriage_return%%carriage_return%%install_common_control_msg%"; } } ['UNBOUND_VARIABLE: continue();] /******************************************************************* A message about socket2 installation *******************************************************************/ { { windows_sys_dir = windows_system_directory(); windows_dir = windows_directory(); socket2_file = "%windows_sys_dir%\ws2_32.dll"; if (exists(socket2_file)) { socket2_file_exists = TRUE; } else { socket2_file_exists = FALSE; } } ['INVALID_FILE_NAME, 'PERMISSION_DENIED, 'OS_ERROR: socket2_file_exists = FALSE; ] socket2_msg1_win95B = nls("socket2_msg1_win95B", "Oracle TCP/IP support for Windows 95/98 uses the Windows Sockets 2 interfaces. If you wish to use Oracle TCP/IP support for SQL*Net then you must install the Windows Socket 2 Update for Windows on your machine."); socket2_msg2a_win95B = nls("socket2_msg2a_win95B", "The required file has not been detected on your machine. Failure to install this interface will mean that you can not use Oracle TCP/IP support for connecting to your server but must instead use a different network protocol. Do you wish to install this Microsoft DLL at the end of this Oracle installation?"); socket2_msg2b_win95B = nls("socket2_msg2b_win95B", "The required file has been detected on your machine. Do you wish to re-install this Microsoft DLL at the end of this Oracle installation?"); socket2_contentB = nls("socket2_contentB", "Import and Export for Designer 6i"); socket2_helpB = nls("socket2_helpB", "The installation and configuration of SQL*Net for TCP/IP requires the installation of the Socket2 API. This install can run a utility from Microsoft to install this API for you."); socket2_install_msg = nls("socket2_install_msg", "At the completion of this installation of Oracle products the socket2 interface file will be installed."); if (operating_system == "NT") { install_socket2 = FALSE; } else if (socket2_file_exists) { socket2_msg1 = socket2_msg1_win95B; socket2_msg2 = socket2_msg2b_win95B; } else { socket2_msg1 = socket2_msg1_win95B; socket2_msg2 = socket2_msg2a_win95B; } {install_socket2 = install_socket2;} ['UNBOUND_VARIABLE: install_socket2 = yesno_dialog("%socket2_msg1%%carriage_return%%carriage_return%%socket2_msg2%%carriage_return% ",instantiate(socket2_contentB),instantiate(socket2_helpB),'NO_CANCEL); ] if (install_socket2) { exit_msg = "%exit_msg%%carriage_return%%carriage_return%%socket2_install_msg%"; } } ['UNBOUND_VARIABLE: continue();] /******************************************************************* A message about import/export installation *******************************************************************/ /* there is a bug somewhere in that the multiple text dialog (used by the tnsnames/local dialog) has a 'back' button on it. To avoid this causing an error or exiting the dialog add the mark statement here so that the dialog has something to go back to. In this case it means the dialog(s) just repeat but at least its something. */ mark { { imp_exp_msgB = nls("imp_exp_msgB", "The installation, migration, and use of import/export from the Oracle Repository requires you to have the Oracle8i client import and export tools installed on your client machine. The 'Designer 6i Import and Export Tools' installation can do this for you.%carriage_return%%carriage_return%Oracle8i client import and export tools must be installed using a Multiple Oracle Home environment into a different Oracle Home from the one into which you are installing Oracle Designer. The 'Designer 6i Import and Export Tools' installation also sets registry entries so that the Oracle Repository client knows which Oracle Home contains these tools.%carriage_return%%carriage_return%Do you wish to run the installer for the 'Designer 6i Import and Export Tools' at the end of this installation.%carriage_return% "); imp_exp_contentB = nls("imp_exp_contentB","Oracle Designer 6i Import and Export Tools"); imp_exp_helpB1 = nls("imp_exp_helpB1", "Oracle Repository requires an Oracle8i server and Oracle8i stores some datatypes in a different way to Oracle 8.0. This change means that you cannot use import and export from an 8.0 client to connect to an 8i server when handling LOB data. Oracle Designer (an 8.0 based toolset) therefore uses import and export from an 8.1 client when connecting to a Repository on an Oracle8i server. The Import and Export Tools from an 8i client must therefore be installed. Because of a conflict between the 8.1 RSFs needed by these tools and the 8.0 RSFs needed by Oracle Designer, the import and export tools must be installed into a different Oracle Home from the one into which Oracle Designer is installed (click on Multiple Oracle Homes in the index window to learn more about installing products into different Oracle Homes.)"); imp_exp_helpB2 = nls("imp_exp_helpB2", "It is recommended that you run the associated Oracle Universal Installer to install 8i based import and export. This will amend the registry entries that Designer uses so that it can pick up these installed utilities. If you choose to use import and export installed as part of another 8i client install then Designer will use the system path variable when trying to invoke them. If this fails then you may need to amend the registry settings for Oracle Repository (client) and Oracle Designer."); imp_exp_helpB3 = nls("imp_exp_helpB3", "If you choose not to install these tools now then ensure that you have made alternative arrangements and that you check the value of the following registry settings: under \\HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\REPOS61 EXECUTE_IMPORT EXECUTE_GUI_IMPORT EXECUTE_EXPORT EXECUTE_GUI_EXPORT In addition you may wish to use the LOCAL or TNS_ADMIN registry variables under both \\HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE (for Designer/Repository) and \\HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\ (where HOMExx is the Oracle Home Key for the installation of the Import and Export Tools from the 8.1 client) to save having to maintain multiple copies of your TNSNAMES.ORA file. "); imp_exp_help = "%imp_exp_helpB1%%carriage_return%%imp_exp_helpB2%%carriage_return%%imp_exp_helpB3%"; /* imp_exp_helpB = nls("imp_exp_helpB", "Oracle Repository requires an Oracle8i server and Oracle8i stores some datatypes in a different way to Oracle 8.0. This change means that you cannot use import and export from an 8.0 client to connect to an 8i server when handling LOB data. Oracle Designer (an 8.0 based toolset) therefore uses import and export from an 8.1 client when connecting to a Repository on an Oracle8i server. The Import and Export Tools from an 8i client must therefore be installed. Because of a conflict between the 8.1 RSFs needed by these tools and the 8.0 RSFs needed by Oracle Designer, the import and export tools must be installed into a different Oracle Home from the one into which Oracle Designer is installed (click on Multiple Oracle Homes in the index window to learn more about installing products into different Oracle Homes.)%carriage_return% It is recommended that you run the associated Oracle Universal Installer to install 8i based import and export. This will amend the registry entries that Designer uses so that it can pick up these installed utilities. If you choose to use import and export installed as part of another 8i client install then Designer will use the system path variable when trying to invoke them. If this fails then you may need to amend the registry settings for Oracle Repository (client) and Oracle Designer.%carriage_return% If you choose not to install these tools now then ensure that you have made alternative arrangements and that you check the value of the following registry settings: under \\HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\REPOS61 EXECUTE_IMPORT EXECUTE_GUI_IMPORT EXECUTE_EXPORT EXECUTE_GUI_EXPORT In addition you may wish to use the LOCAL or TNS_ADMIN registry variables under both \\HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE (for Designer/Repository) and \\HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\ (where HOMExx is the Oracle Home Key for the installation of the Import and Export Tools from the 8.1 client) to save having to maintain multiple copies of your TNSNAMES.ORA file. "); */ {run_install_imp_exp = install_imp_exp;} ['UNBOUND_VARIABLE: { run_install_imp_exp = yesno_dialog(instantiate(imp_exp_msgB),instantiate(imp_exp_contentB),instantiate(imp_exp_helpB),'NO_CANCEL); } ] imp_exp_msg2B = nls("imp_exp_msg2B", "A separate installation program (the Oracle Universal Installer) will run to install the import and export tools."); imp_exp_content2B = nls("imp_exp_content2B","Import and Export for Designer 6i"); imp_exp_help2B = nls("imp_exp_help2B", "A separate installation program (the Oracle Universal Installer) will run to install the import and export tools."); if (run_install_imp_exp) { /* information_dialog(instantiate(imp_exp_msg2B),instantiate(imp_exp_content2B),instantiate(imp_exp_helpB),'NO_CANCEL); */ exit_msg = "%exit_msg%%carriage_return%%carriage_return%%imp_exp_msg2b%"; } } ['UNBOUND_VARIABLE: continue();] /******************************************************************* Set TNS_ADMIN registry variable *****************************************************************/ mark { { case_modify_list = list(); ini_section = product_filename(creq72_product); /* could be anything really */ tns_msg = nls("tns_msg","Oracle Designer and the Oracle8i client import and export tools need to be installed into different Oracle Homes. You can use the LOCAL and TNS_ADMIN registry variables (set under both Oracle Homes in the registry) to save having to maintain multiple copies of your TNSNAMES.ORA file.%carriage_return% Please enter any information you wish to be set and click on OK to continue configuration.%carriage_return% "); tns_content = nls("tns_content","Connection Information"); tns_help = nls("tns_help","The TNSNAMES.ORA file contains entries mapping Oracle SQL*Net Aliases to SQL*Net connect strings. All Oracle products that use SQL*Net look for this file in the ORACLE HOME into which the product was installed. To avoid having to maintain multiple copies of this file you can override this default location by the use of the TNS_ADMIN registry entry. This will need to be set for each ORACLE HOME in use. (Use \\HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\TNS_ADMIN for Oracle Designer and \\HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\\TNS_ADMIN for the import/export tools (where HOMExx is the Oracle Home Key for the installation of the Import and Export Tools from the 8.1 client)).%carriage_return% You can also use the LOCAL variable to specify the connection and leave the connection string empty in the connection dialog box when you connect. Again, this will need to be set in the registry for both Oracle Homes.%carriage_return% If you enter any information here then the installation of Oracle Repository/Oracle Designer 6i will set the appropriate registry entries. If you have also chosen to run the Designer 6i Import and Export Tools install then the information will be duplicated into the Oracle Home for these tools.%carriage_return% If you subsequently wish to change this location you will need to modify the TNS_ADMIN and/or LOCAL registry entries in each ORACLE HOME into which Repository/Designer and Import/Export products are installed."); tns_prompt = nls("tns_prompt","Enter the directory for TNSNAMES.ORA"); { case_translate_list = list("NET80",ora_config,ini_section,'TOP_LEVEL); EXECUTE_SCRIPT = "TRANSLATE_VARIABLES.CMN"; NET80 = execute("%product_home%\des2k_72.vrf"); } ['UNBOUND_ENVIRONMENT_VARIABLE:NET80="%oracle_home%\net80";] {TNS_ADMIN = TNS_ADMIN;} ['UNBOUND_VARIABLE: { { case_translate_list = list("TNS_ADMIN",ora_config,ini_section,'TOP_LEVEL); EXECUTE_SCRIPT = "TRANSLATE_VARIABLES.CMN"; TNS_ADMIN = execute("%product_home%\des2k_72.vrf"); } ['UNBOUND_ENVIRONMENT_VARIABLE: TNS_ADMIN="";] } ] {IMP_EXP_TNS_ADMIN = IMP_EXP_TNS_ADMIN;} ['UNBOUND_VARIABLE: IMP_EXP_TNS_ADMIN="";] {LOCAL_VAR = LOCAL_VAR;} ['UNBOUND_VARIABLE: { { case_translate_list = list("LOCAL",ora_config,ini_section,'TOP_LEVEL); EXECUTE_SCRIPT = "TRANSLATE_VARIABLES.CMN"; LOCAL_VAR = execute("%product_home%\des2k_72.vrf"); } ['UNBOUND_ENVIRONMENT_VARIABLE: LOCAL_VAR="";] } ] /* if (TNS_ADMIN == "") */ { /* TNS_ADMIN = choose_directory_dialog(instantiate(tns_msg), "%NET80%%dir_separator%admin", instantiate(tns_content), instantiate(tns_help), 'NOCANCEL); */ DEFAULT_TNS_ADMIN = TNS_ADMIN; if (DEFAULT_TNS_ADMIN == "") DEFAULT_TNS_ADMIN = IMP_EXP_TNS_ADMIN; if (DEFAULT_TNS_ADMIN == "") DEFAULT_TNS_ADMIN = "%NET80%%dir_separator%admin"; DEFAULT_LOCAL_VAR = LOCAL_VAR; if (DEFAULT_LOCAL_VAR == "") DEFAULT_LOCAL_VAR = ""; list1 = list('LABEL, "TNS_ADMIN", 'BROWSE, tns_prompt, 'DEFAULT, DEFAULT_TNS_ADMIN, 'TNS_ADMIN); list2 = list('LABEL, "LOCAL", 'DEFAULT, DEFAULT_LOCAL_VAR, 'LOCAL_VAR); show_tns_dialog = TRUE; while (show_tns_dialog) { show_tns_dialog = FALSE; {multiple_text_dialog(instantiate(tns_msg), list(list1, list2), instantiate(tns_content), instantiate(tns_help));} /* ... ['GB2(A,B,C,D), 'DEFAULT(A,B,C,D): { information_dialog("MTD - A=%A% B=%B% C=%C% D=%D%"); if (A == 'GB2) { show_tns_dialog = TRUE; } } ] ... */ } /* information_dialog("TNS_ADMIN = %TNS_ADMIN% LOCAL = %LOCAL_VAR%"); */ if (not(set_registry_values == true)) { if (not(TNS_ADMIN == "")) add(case_error_list,"\\HKEY_LOCAL_MACHINE\%oracle_key%\%carriage_return%TNS_ADMIN=%TNS_ADMIN% %carriage_return%%carriage_return%"); if (not(LOCAL_VAR == "")) add(case_error_list,"\\HKEY_LOCAL_MACHINE\%oracle_key%\%carriage_return%LOCAL_VAR=%LOCAL_VAR% %carriage_return%%carriage_return%"); } else if (call_reg_api_directly) { modify_key = "HKEY_LOCAL_MACHINE"; modify_subkey = oracle_key; if (not(TNS_ADMIN == "")) { modify_variable = "TNS_ADMIN"; modify_value = TNS_ADMIN; win32_set_value(modify_key, modify_subkey, modify_variable, modify_value); /* ... this is the problem line win32_register_key(modify_key,modify_subkey,modify_variable); ... */ } if (not(LOCAL_VAR == "")) { modify_variable = "LOCAL"; modify_value = LOCAL_VAR; win32_set_value(modify_key, modify_subkey, modify_variable, modify_value); /* ... this is the problem line win32_register_key(modify_key,modify_subkey,modify_variable); ... */ } } else { if (not(TNS_ADMIN == "")) add(case_modify_list,list("TNS_ADMIN", "%TNS_ADMIN%", ora_config, ini_section, 'TOP_LEVEL)); if (not(LOCAL_VAR == "")) add(case_modify_list,list("LOCAL", "%LOCAL_VAR%", ora_config, ini_section, 'TOP_LEVEL)); } } EXECUTE_SCRIPT = "MODIFY_VARIABLES.CMN"; execute("%product_home%\des2k_72.ins"); } } /* mark */ } /* mark */ /******************************************************************* Finale *******************************************************************/ /* add extra line so that sizeing in large fonts is ok */ exit_msg = "%exit_msg%%carriage_return% "; information_dialog(exit_msg, 'NO_CANCEL); /******************************************************************* spawn the socket2 installation *******************************************************************/ if (install_socket2) { socket2_cmd = "..\..\winsock2\ws2setup.exe"; return_dir = current_directory(); change_directory(product_home); /*Get prd dir*/ cur_dir = current_directory(); /* information_dialog("spawning %socket2_cmd% from %cur_dir%"); */ {win32_asynchronous_spawn(socket2_cmd);} ['NO_RESPONSE, 'MEMORY_ERROR: continue();] change_directory(return_dir); } /******************************************************************* spawn the the Microsoft common control DLL installation *******************************************************************/ { if (evaluate("install_common_control",'GLOBAL)) { {win32_asynchronous_spawn(common_control_dll);} ['NO_RESPONSE, 'MEMORY_ERROR: continue();] } } ['UNBOUND_VARIABLE: continue();] /* ['DEFAULT(A,B,C,D): { information_dialog("The following error occurred when attempting to install the 'Microsoft Common Control DLL' a=%A% b=%b% c=%C% d=%D%"); } ] */ /******************************************************************* spawn the import/export installation *******************************************************************/ { regcheck_cmd = "..\..\install\win32\stage\regcheck.exe"; regedit_cmd = "regedit /s ..\..\change_default_home.reg"; /* note that thse imp_exp spawn commands are only executed if the correct choice was made in the user.stp dialogs */ if (silent_mode) { /* used by silent Designer installations */ /* to use the response file for a non-silent response file install, ie silent except for progress indicators with NO termination dialog */ /* note that this response file has an oracle home :\des_81 */ imp_exp_cmd = "..\..\install\win32\setup.exe -responsefile %oracle_home%\impexpq.rsp"; } else if (true) { /* used by both interactive and silent Designer installations */ /* to use the response file for a non-silent response file install, ie silent except for progress indicators and WITH termination dialog */ /* note that this response file has an oracle home :\des_81 */ /* imp_exp_cmd = "..\..\install\win32\setup.exe -silent -responsefile %oracle_home%\impexp.rsp"; */ imp_exp_cmd = "..\..\install\win32\setup.exe -responsefile %oracle_home%\impexp.rsp"; } else if (false) { /* interactive imp/exp install */ imp_exp_cmd = "..\..\install\win32\setup.exe"; } else if (false) { /* to use the response file generated by the OSP and stored on the media */ /* can not use relative path for the response file */ /* imp_exp_cmd = "..\..\install\win32\setup.exe -silent -responsefile ..\..\stage\response\imp_exp_dummy_tl_comp.complete.rsp"; */ /* get the root of the media. Eg d:\ */ m1 = product_home; m1_list = explode(m1,dir_separator); m2_list = reverse(m1_list,'NOMUTATE); m3_list = rest(rest(m2_list)); m4_list = reverse(m3_list,'NOMUTATE); m4 = implode(m4_list,dir_separator); /* note that this response file has a hardcoded oracle home c:\des_81 */ imp_exp_cmd = "..\..\install\win32\setup.exe -silent -responsefile %m4%\stage\response\imp_exp_dummy_tl_comp.complete.rsp"; } imp_exp_msg2B = nls("imp_exp_msg2B", "A separate installation program (the Oracle Universal Installer) will run to install import and export tools. When prompted, you MUST select a new Oracle Home into which these tools will be installed (that is, you MUST change the default setting for the Oracle Home)."); imp_exp_content2B = nls("imp_exp_content2B","Import and Export for Designer 6i"); imp_exp_help2B = nls("imp_exp_help2B", "A separate installation program (the Oracle Universal Installer) will run to install import and export tools. When prompted, you MUST select a new Oracle Home into which these tools will be installed (that is, you MUST change the default setting for the Oracle Home)."); if (run_install_imp_exp) { /* perform all registry actions before spwaning import/export install */ /* record where the impexp install oracle home is */ if (not(set_registry_values == true)) { if (not(imp_exp_oracle_home == "")) add(case_error_list,"\\HKEY_LOCAL_MACHINE\%oracle_key%\%carriage_return%IMP_EXP_ORACLE_HOME_PATH=%imp_exp_oracle_home% %carriage_return%%carriage_return%"); if (not(imp_exp_oracle_home_name == "")) add(case_error_list,"\\HKEY_LOCAL_MACHINE\%oracle_key%\%carriage_return%IMP_EXP_ORACLE_HOME_NAME=%imp_exp_oracle_home_name% %carriage_return%%carriage_return%"); } else if (call_reg_api_directly) { modify_key = "HKEY_LOCAL_MACHINE"; modify_subkey = oracle_key; if (not(imp_exp_oracle_home == "")) { modify_variable = "IMP_EXP_ORACLE_HOME_PATH"; modify_value = imp_exp_oracle_home; win32_set_value(modify_key, modify_subkey, modify_variable, modify_value); /* ... this is the problem line win32_register_key(modify_key,modify_subkey,modify_variable); ... */ } if (not(imp_exp_oracle_home_name == "")) { modify_variable = "IMP_EXP_ORACLE_HOME_NAME"; modify_value = imp_exp_oracle_home_name; win32_set_value(modify_key, modify_subkey, modify_variable, modify_value); /* ... this is the problem line win32_register_key(modify_key,modify_subkey,modify_variable); ... */ } } else { ini_section = product_filename(creq72_product); /* could be anything really */ case_modify_list = list(); if (not(imp_exp_oracle_home == "")) add(case_modify_list,list("IMP_EXP_ORACLE_HOME_PATH", imp_exp_oracle_home, ora_config, ini_section, 'TOP_LEVEL)); if (not(imp_exp_oracle_home_name == "")) add(case_modify_list,list("IMP_EXP_ORACLE_HOME_NAME", imp_exp_oracle_home_name, ora_config, ini_section, 'TOP_LEVEL)); EXECUTE_SCRIPT = "MODIFY_VARIABLES.CMN"; execute("%product_home%\des2k_72.ins"); } return_dir = current_directory(); change_directory(product_home); /*Get prd dir*/ cur_dir = current_directory(); /* information_dialog("running regedit %regedit_cmd% from %cur_dir%"); */ /* {win32_asynchronous_spawn(regedit_cmd);} */ /* {spawn(regedit_cmd);} */ /* ['NO_RESPONSE, 'MEMORY_ERROR: continue();] */ /* the impexp install has been modified to not display these dialogs so no dummy registry variables need creating */ if (false) if (silent_mode) { /* creates reg entry HKLM/SOFTWARE/ORACLE/LOCAL="" if not set to avoid OUI silent install displaying error message */ {spawn(regcheck_cmd);} ['NO_RESPONSE, 'MEMORY_ERROR: continue();] } /* information_dialog("spawning %imp_exp_cmd% from %cur_dir%"); */ reply=true; /* spawn_confirm = nls("spawn_confirm","Click YES to proceed with the Designer Import/Export Tools to %%imp_exp_oracle_home%%.%carriage_return%Click NO to exit this installation."); spawn_confirm = instantiate(spawn_confirm); reply = yesno_dialog(spawn_confirm,'NO_CANCEL); */ if (reply == true) { {win32_asynchronous_spawn(imp_exp_cmd);} ['NO_RESPONSE, 'MEMORY_ERROR: continue();] } change_directory(return_dir); } } ['UNBOUND_VARIABLE: continue();] /******************************************************************* display registry setting error messaages *******************************************************************/ if (not(empty(case_error_list))) { case_modify_error_string = implode(case_error_list); win2000_reg_error = nls("win2000_reg_error","There has been an unspecified operating system error when trying to access your registry.%carriage_return%%carriage_return%Please set the following registry entries before continuing:%carriage_return%%carriage_return% %%case_modify_error_string%%Click on OK to continue with the product configuration after you have set these registry entries.%carriage_return%%carriage_return%"); win2000_reg_error = instantiate(win2000_reg_error); information_dialog(win2000_reg_error); } } } /*... ['DEFAULT(A,B,C,D): { information_dialog("A=%A% B=%B% C=%C% D=%D%"); } ] ...*/ { {execute("%script_os%.shd");} } }