SALOME Installation Wizard Help

updated for the version 3.2.4


Installing products with the Installation Wizard

The Installation Wizard can be launched in two modes: GUI and batch.
The root directory of the Installation Wizard contains Python script runInstall. To run the Installation Wizard just type runInstall in the terminal window:

[ python ] runInstall [options]

Without options this script will launch the SALOME Installation Wizard in the default mode (GUI).
The default installation settings can be overriden by using of command line options. Each option has short and long notations:

-g / --gui

Runs the Installation Wizard in the GUI mode (this is default mode).

-b / --batch

Runs the Installation Wizard in the terminal mode.

-f FILE / --file=FILE

The XML configuration file to be used by the Installation Wizard.  If this option is not used then the installation script tries to define the Linux version and use the corresponding XML file if it is present. For examle, for the Linux Mandrake 10.1  the config_Mandrake_10.1.xml  file will be used by default. If the appropriate file is not found, the file config.xml will be used. This file refers to the basic target platform which is Linux Mandrake 10.1 for SALOME 3.0 and newer. If config.xml file is also not found, the warning message box is shown (in GUI mode) or printed to the console (in batch mode) and the Installation Wizard quits.

-d DIR / --target=DIR

The target directory SALOME platform to be installed to. If used, this option overrides the default target directory, given in the configuration XML file (usually ${HOME}/salome_<version>, see here for more details).

-t DIR / --tmp=DIR

The directory, which should be used for temporary files. If given, this option overrides the default temporary directory, given in the configuration xml file (usually /tmp, see here for more information).

-a / --all-from-sources

Force all the products to be installed from sources (including all SALOME modules). If this option is used, all the default installation modes for all the products are ignored.
This option is helpful when the user wants to install SALOME on the platform which is not officially supported. In this case, the user can try to run the SALOME Installation Wizard with the -a option in order to build all the products from sources.
Note, that this is long-time operation which can take more than 24 hours depending on the computer.

-h / --help

Prints help information on the Installation Wizard's usage.

-v / --version

Prints version information (Note: this is the Installation Wizard's version number, not of SALOME platform).

The installation procedure supports different Linux platforms and installs various installation 3d-party prerequisite products which are required by SALOME platform. As it was mentioned above, the basic target platform for SALOME 3.0 and newer is Linux Mandrake 10.1.
The using of configuration XML files gives flexible way to modify the list of products to be installed by the Installation Wizard without changing program's source code. Just create your own XML configuration file and implement installation scripts for the prerequisite products you need and then use this XML file with the Installation Wizard. This can be done, for example, for some Linux platform which is not supported directly by the Installation Wizard. See Modifying XML configuration file and Implementing installation scripts for the new products sections for more information.

GUI mode

The Installation Wizard's GUI has been developed with using of the Trolltech's Qt 3.0.5 toolkit. After launching the Installation Wizard in the GUI mode the wizard window is shown to the user. This wizard guides the user through several subsequent pages. To navigate between the pages use "Next" and "Back" buttons in the lower part of the wizard window. "Cancel" button closes the wizard window and quits the installation procedure after user's confirmation. "Help" button opens an additional window to show the help information.

The first "Introduction" page is shown at the Figure 1. Skip this page by pressing "Next" button:


Intro page

Figure 1: "Introduction" page

In the second page you are proposed to enter the target directory where the SALOME platform should be installed to. You can also press "Browse..." button and choose the destination folder using standard browse directory dialog box.
If the directory you want to install products does not exist you are prompted to confirm directory creation. If you type wrong directory path, or if you do not have write permissions for the directory you use, the corresponding message box is shown.

You can also change the temporary directory (which is used to store temporary files required for the installation).
In the bottom part of the window the total disk space required for the installation and for the temporary files is displayed (see below for more details).

In the GUI mode the Installation Wizard provides two different options to install the SALOME platform: basic (which is default) and advanced. In the basic mode the user should enter the target installation directory and temporary folder. All other installation options are taken from the XML configuration file (see Fig.2):


Intro page

Figure 2: "Installation settings"

In addition, you have choice to use "Install all products from sources" check box. If this option is turned on, all the products will be installed from the sources (using their own build procedures). This check box correspond to the --all-from-sources (-a) option of the runInstall script (see here). Note: the installation of all products from sources is a long-time operation.

To switch to the advanced option, click "More..." button (see Fig.3 ).

In the advanced mode you have the possibility to select products to be installed. Each product can have several options of installation: you have a possibility to use native product (provided with Linux distribution and installed in the system folders), install already precompiled binaries, build product from the sources or not install it at all. Avaiable options and default option are taken from the XML configuration file. You can mark the products you want to install by clicking the corresponding radiobuttons in the list view in the left part of the page.
Note, that some products may require some other pre-requisite products to be installed (or these prerequisite products should be already available on your computer). The installation procedure has a special feature to automatically mark these products in the list view. For example, in order to install PyQt it's necessary to have gcc, Python, Qt and Sip installed. Therefore all these products will be also turned on when you check on PyQt. This feature can be switched off by clicking "Automatic dependencies" checkbox. Turn on this checkbox if you want all prerequisite products to be automatically checked when you select some product to be installed. Turn off this checkbox if you want to disable this feature.


Products page

Figure 3: "Installation settings" page in the 'advanced' mode

If you want to use native products (like gcc, tcl, etc.), select "use native" option.
Special button in the right part of the page - "Unselect All" - allows to reset quickly all products to the "not install" state.

There are also two checkboxes on this page: "SALOME sources" and "SALOME binaries". These three-state checkboxes allow quick selecting/unselecting SALOME modules sources/binaries packages for the installation.

In addition, when some SALOME sources are selected, one more check box becomes available: "Build SALOME sources". If this option is turned on, the selected SALOME modules will be built and installed from sources.
Note: if this check box is turned on, the corresponding SALOME module binaries package installation is disabled, because of conflicting of SALOME module sources an binaries packages (see Fig. 4 below).


Products page

Figure 4: "Build SALOME sources" check box usage


The box at the right side of the page displays the information about currently highlighted product: name, version and short description, required disk space, disk space required for temporary files, list of prerequisites (this information is provided in the XML file) and current user choice.

The "Disk space required:" field displays how much disk space on the hard drive is required for installation of selected products.

Note: Please, take into account that displayed amount of required disk space is approximate and may differ when you install products on your hard drive.

The installation procedure uses a special directory to store temporary files. The "Space for temporary files:" field shows the information about required disk space on the hard drive for extracting and compiling of the selected products. You can change the temporary directory - just type path to the folder you want to use or click on the corresponding "Browse..." button.
Note: actually, temporary files are stored not directly in the directory entered by user. The Installation Wizard creates in this directory an additional folder named something like INSTALLWORKXXXXX where XXXXX is unique number. This allows to launch several Installation Wizards simultaneously. This temporary directory is removed automaticaly when the installation finishes.

The installation procedure also checks available disk space. If there is no enough disk space on your hard drive you will see the corresponding error message box.

Note: you are strongly recommended not to use directory names containing spaces. Otherwise you can experience some troubles with the installation.

To proceed further click "Next" button. At this moment program will make some tests to check installation settings: if there is enough disk space on the hard drive, check for native products installation, dependencies (prerequisites) for each product you have selected to be installed. If any test fails you will see the corresponding warning message box. Otherwise the wizard will proceed to the next page:


Choice page

Figure 5: "Check your choice" page

This page summarizes the installation options you've made on the previous pages. You can check again your choice and change it if necessary by getting back to previous page.
When you are sure that everything is OK, press "Next" button to follow to the next page.


Progress page

Figure 6: "Installation progress" page

To start installation of the selected products click "Start" button. It launches the shell installation script and you will be able to see the output of the script in the topmost dialog's frame. If any errors occur during the installation progress the corresponding messages will be printed to the log window in the bold red font.
It is possible at any time to break the installation by pressing "Stop" button. Then you can get back to the previous pages if you wish to change installation settings or restart installation by pressing again "Start" button.

Note: in the current implementation it is not possible to resume stopped installation process; it will be re-started from the very beginning.


Progress page

Figure 7: "Installation progress" page: installation in progress

The "Installation Status" frame window shows you the progress of installation. "Waiting" status means that installation of this product has not been started yet. The product currently being installed is marked as "Processing". All installed products have "Completed" status.

You can abort installation and close the installation procedure using "Cancel" button.
Note: this button sends the signal "SIGTERM" to the shell script. The script tries to clear all temporary files. The process of removing temporary files can take some time, so the installation wizard will wait 3 seconds before closing.

At the end of installation (all selected products have been installed successfully) you can go back to the previous pages to start a new installation or click "Next" button to go the Readme page:


Read page

Figure 8: "Finish installation" page

In this page you can read important information about the Instalation Wizard itself and some tips: how to run and test SALOME or how to build SALOME from the sources. This is the contents of the README file which you can find in the root directory of the Installation Wizard.
You can also launch SALOME Desktop from this page or read Release Notes file by clicking on the corresponding buttons in the lower part of the page (see here and here for more information about customizing these buttons).

Batch mode

To launch the Installation Wizard in the batch mode use -b (--batch) parameter.
In this mode the GUI wizard is not shown but all the installation status is displayed directly in the console. In the batch mode user do not have a possibility to change installation settings which are given in the configuration file, except target and temporary directories which can be overridden by the corresponding command line options.
The only exception is --all-from-sources (-a) option which enables special installation mode in which all the products (including SALOME modules) are installed from sources, ignoring default mode defined in the XML configuration file (see here for details).


Batch mode

Figure 9: Batch mode

Environment files

During the process of installation the script creates some environment files to simplify procedure of launching SALOME. These shell scripts set all necessary environment variables for all products you have installed. To learn how installation scripts collects the environment, see here. These files are: salome.csh + salome.sh in the KERNEL module sources and KERNEL module binaries root directories and env_products.csh + env_products.sh and env_build.csh + env_build.sh in the target installation directory.

Note: there is some difference betwen these files: env_build.* files are optimized to be used for the building of SALOME modules from sources (see README file provided with the installation procedure on the CD). The env_products.* (and salome.*) files are optimized for the SALOME launching. The behavior is defined by the environment variable ENV_FOR_LAUNCH which is set to 0 in env_build.* files and to 1 in env_products.* (salome.*) files.


Notes on check products version procedure

Unfortunately under Linux platform there is no exact algorithm to identify the product's version. The information in this section gives an idea how the version is checked for the native/preinstalled products (this information refers to the base platform Linux Mandrake 10.1; and the same algorithms are used for other platforms).
The general rule for all products is that the path to the binaries should be set via PATH environment variable, path to the libraries should be set via LD_LIBRARY_PATH variable and the python modules should be available via PYTHONPATH variable.
Note: the information given in this section refers to the prerequisite products for SALOME version 3.2.4.
Version number is checked by gcc -dumpversion command. gcc executable should be in the PATH environment variable. Version should be equal to the "3.4.1". It is recommended to use native gcc on Mandrake 10.1.
Version number for tcl/tk can be found in tclConfig.sh and tkConfig.sh files (TCL_VERSION and TK_VERSION variables correspondingly). Version number should be equal to "8.4" (release number is not checked).
Set TCLHOME environment variable to the root directory of tcl/tk installation.
It is recommended to use native tcl/tk on Mandrake 10.1. Version number is defined by version.hpp file which is part of the boost distribution. This file defines BOOST_VERSION macro which should be equal to the "103100". In addition the existence of boost libraries is checked.
Set BOOSTDIR environment variable if you have preinstalled version of boost.
Version number is checked by python -V command. python executable should be in the PATH environment variable. Version number should be equal to "2.3.4". It is recommended to use native Python on Mandrake 10.1.
Set PYTHONHOME environment variable if you have preinstalled version of Python.
Version number is checked by swig -version command. swig executable should be in the PATH environment variable. Version number should be equal to "1.3.24".
Version number is defined by qglobal.h file which is part of the Qt distribution. This file defines QT_VERSION_STR macro which should be equal to "3.3.3". It is recommended to use native Qt on Mandrake 10.1.
Set QTDIR environment variable if you have preinstalled version of qt.
msg2qm is Qt tool which is used to convert text *.po files to *.qm resource files. Unfortunately this tool is not included to the Linux distribution and provided only in Qt sources package. This is the reason why this tool is suppplied with the SALOME Installation Wizard.
There is no way to check the version number of msg2qm tool. Just set MSG2QM_ROOT environment variable if you have preinstalled version of msg2qm tool Version number is defined by Standard_Version.hxx file which is part of the Open CASCADE distribution. This file defines OCC_VERSION_MAJOR, OCC_VERSION_MINOR and OCC_VERSION_MAINTENANCE macros which should refer to version 6.1.2.
Set CASROOT environment variable if you have preinstalled version of Open CASCADE.
Version number is defined by qwt_global.h file which is part of the qwt distribution. This file defines QWT_VERSION_STR macro which should be equal to "4.2.0".
Set QWTHOME environment variable if you have preinstalled version of qwt.
Version number is defined by libhdf5.settings file which is part of the hdf5 distribution. Version should be equal to 1.6.4.
Set HDF5HOME environment variable if you have preinstalled version of hdf5.
Unfortunately there is no formal way to check med version number. We check existense of libmed.so.1.0.2 library on the computer. If you have problem with preinstalled version of med, please, reinstall it.
Set MED2HOME environment variable if you have preinstalled version of med.
Unfortunately there is no formal way to check VTK version number. We just check existence of libvtkCommon.so library on the computer and hope that it is of version we need. If you have problem with preinstalled version of Vtk, please, reinstall it.
Set VTKHOME environment variable if you have preinstalled version of Vtk.
We just check existence of some omniORB libraries and executable on the computer, like libomniORB4.so.0.5, _omnipymodule.so.2.4, libCOSNotify4.so.0.1 and notifd.
Set OMNIORBDIR environment variable if you have preinstalled version of omniORB products.
Version number is checked by sip -V command. sip executable should be in the PATH environment variable. Version number should be equal to "4.1".
Set SIPDIR environment variable to the directory where you have sip executable preinstalled.
Version number is defined by pyqtconfig.py Python module file which is part of the PyQt distribution. Version should be equal to "3.13".
Set PYQTDIRenvironment variable if you have preinstalled version of PyQt. Unfortunarely we can't find anything about netgen version. We just check if NETGENROOT environment varible is set.
Set NETGENROOT environment variable if you have preinstalled version of netgen mesher.
Note: netgen 4.5 provided with the SALOME installation Wizard has been patched to improve its performance.
Version number is checked by python -c 'import Numeric; print Numeric.__version__' command. python executable should be in the PATH environment variable and Numeric module should be avaible for the Python (for example it should be in the PYTHONPATH environment variable). Version number should be equal to "23.7". If you have problem with preinstalled version of Numeric 23.7, please, reinstall it.
Add the directory where you have preinstalled version of Numeric package to the PYTHONHOME environment variable.
Version number is checked by dot -V command. dot executable should be in the PATH environment variable. Version number should be equal to "2.2.1".
Add graphviz bin directory to the PATH environment variable.
Version number is checked by doxygen --version command. doxygen executable should be in the PATH environment variable. Version number should be equal to "1.4.6".
For each SALOME module sources package (KERNEL, GUI, GEOM, etc...) root directory contains file configure.in (configure.ac) which defines version information.
Set <MODULE>_SRC_DIR environment variable for each SALOME MODULE sources package installed (where MODULE is KERNEL, GUI, GEOM, ...).
For each SALOME module binaries package (KERNEL, GUI, GEOM, etc...) bin/salome directory contains file VERSION which defines version information.
Set <MODULE>_ROOT_DIR environment variable for each SALOME MODULE binaries package installed (where MODULE is KERNEL, GUI, GEOM, ...).

If you have native products installed to different from default directories (not /usr/bin, /usr/lib...), it is recommended to follow above mentioned instructions. Or you should properly set PATH and LD_LIBRARY_PATH variables before starting the Installation Wizard. Otherwise the installation script will fail to find preinstalled/native products.

Note: for some native products (e.g. gcc, Python) the rules of version checking are not so strict as described in the table. Only major and minor numbers of version should coincide with prerequisite. Newer version of the product can be used also. If some native product has version number larger than that required by the installation procedure, user will be prompted by the warning message like this: "You have newer version of gcc installed on your computer than that is required (3.4.1). Continue?". You can press "Yes" button to proceed with the installation but in this case you should be aware of what you are doing. SALOME binaries (including other products) are compiled with the predefined prerequisites and most likely can not be run successfully if these products are not found. This can be helpful only if you plan to build all products from sources.


Pick up the environment

Please, read carefully the following information. This section describes how the installation procedure generates the environment scripts for the SALOME platform being installed.

After installing of each product shell the script creates special environment file for the product in its installation folder. The name of the file is generated from the name of product by the following scheme: env_<product_name>.sh (for example env_Vtk.sh for the Vtk). This file includes all necessary environment settings. At the final step of the installation the script picks up all the settings files and generate from them two common environment files: salome.sh and salome.csh for bash and csh shells correspondingly. Such approach helps to save time when reinstalling products and you may not to care about setting all environment variables manually to build/launch SALOME. What you need is just to source one of these environment files.

This concerns also those products which are not being installed. For example, you install some SALOME binaries to the directory where you have previously installed other products.  Installation procedure tries to collect environment files from the target directory if it finds necessary products installed there. If some product is not found in the target directory the corresponding section of salome.sh/salome.csh files will be skipped.
For native products (like gcc, tcl, etc...) installation procedure tries to find them first using PATH / LD_LIBRARY_PATH variables and then in the system default directories (/usr/bin, /usr/lib etc., depending on the product).

In any case you may edit salome.* files after installation procedure finishes, if you want.

Note:
as it was mentioned above there are another environment files which are generated by the installation procedure: env_products.csh + env_products.sh and env_build.csh + env_build.sh. These files can be found in the target installation root directory.


Modifying XML configuration file

You can create your own XML configuration file. The Installation Wizard then can take it as command line argument to provide list of products you want to install with it. The list of products and some another settings for the Installation Wizard are provided in the XML file. The default file which Installation Wizard looks for if no command line arguments are given, is config.xml.
This section describes the structure of the configuration file.

XML tags are in bold blue, optional sections/tags are in brackets.

<document>
    [ <config [ version=<install_wizard_version> ]
              [ caption=<install_wizard_caption> ]
              [ copyright=<install_wizard_copyright>  ]
              [ license=<install_wizard_license_info> ]
              [ os=<target_platform> ]
      />

    ]

    [ <path   [ targetdir=<target_directory> ]
              [ tempdir=<temp_directory>     ]
      />

    ]

    [ <button   label=<button_label>     
              [ tooltip=<button_tooltip> ]
                script=<button_script>   
              [ disable=<disable_flag>   ]
      />

    ]

    [ <button ...
      />

    ]
    [ <product  name=<product_name>
                version=<product_version>
              [ context=<product_context>         ]
              [ description=<product_description> ]
                install=<installation_mode>
                supported=<supported_installation_modes>
              [ disable=<disable_flag>            ]
              [ pickupenv=<pickup_env_flag>       ]

                dependancies=<list_of_prerequisites>
 
                installdiskspace=<install_disk_space>

                temporarydiskspace=<tmp_disk_space>

                script=<installation_script_name>

      />

    ]

    [
<product ...
      />

    ]

    ...
</document>

<config> section

This is optional section; it provides general information about Installation Wizard itself.

Attributes:
The application version number to be shown in the caption. The application main window caption - if this string contains '%1' text the title will contain in this place the version number (see above). The application copyright information (shown in the first page). The application license information (shown in the first page). This parameter defines the directory (relative from ./Products/BINARIES) where the Installation Wizard will search precompiled binaries packages. If this tag is not provided, binaries packages are looked for in the ./Products/BINARIES directory.

<path> section

This is optional section; it defines default installation directories.

Attributes:

The target directory - the path to the directory where products should be installed. The temporary directory - the path to the directory for the temporary files.

<product> section

This section describes product to be installed with the Installation Wizard. XML file should include <product> section for each product to be installed. The products appear in the tree view and are installed in the order they are described in the configuration file. It is recommended (but not obligatory) to define native products at the top of the list before all other products.

Attributes:

The name of the product. The version of the product. The product description (optional). Context (optional). The possible values are 'salome sources', 'salome binaries' and 'prerequisite' (several context can be given separated by ":" symbol). Supported modes of installation. Several modes can be separated by comma. Possible value are: install sources, install binaries, use native. Installation script should contain the corresponding functions for each of the supported installation modes (see here). Default (starting) installation mode. If this optional flag has 'true' value, the corresponding product will not appear in the list of products and will not be installed. This flag points that pickup environment procedure should be performed for this product. If this flag equal to 'true',  salome.sh and salome.csh files will  be created in the product's installation directory. Usually this option is set to true for SALOME KERNEL module sources and binaries package. This is optional key, default value is 'false'.
List of prerequisite products, which are necessary to build this product, separated by comma. Total amount space (integer, in Kbytes), which product occupies on the hard drive after the installation. Disk space (integer, in Kbytes) for the temporary files, which is necessary to build the product from the sources. The installation script name. This script is in charge of the installation of the product. It is called automatically by the Installation Wizard when necessary from the main program. See the next section for more information.

<button> section

This is optional section. It allows customing of the last "Finish installation" page of the Installation Wizard by adding one or more buttons in the lower part of the wizard's window. The script which is attached to each such button, can perform some specific action, for example, launch the application or show the Release Notes file by using external program. See here for more details about writing scripts.

Attributes:

This is the button text. The button's tooltip (optional). The script attached to the button. If this optional flag has 'true' value, the corresponding button will not appear in the "Finish installation" page - the section of XML file is silently ignored.

Note: If you add new products to be installed with Installation Wizard, you should also provide installation script for this product. See the next section for more details.



Implementing installation scripts for the new products

When you want some product to be installed with the Installation Wizard, you should add it's description it in the configuration file and create the installation script, following rules described in this section.

There are some obligatory functions which should be implemented in this installation script. These functions are automatically called by master installation script or/and its GUI shell when it is necessary.
File common.sh contains some service functions which can be used in your installation script, like make_env(), make_dir(), try_existing(), sort_path(), find_in_path(), etc. This function allows to check the version of the product already installed on the computer. It should try to find product (native or preinstalled in the target directory) and check its version. This helps to avoid unnecessary reinstallation. This is internal function and is not called from the master installation script.
This function is called when 'use native' installation mode is selected by the user. The function should try to find native version of the product and define possibility of its usage. It should create the environment file for the product in the temporary directory (see also description of print_env() function). It is not necessary to implement this function if you do not provide native mode. installation.
This function is called when 'install sources' installation mode is selected by the user. The function is responsible for the building of the product from the sources package. It should create the environment file for the product in the temporary directory (see also description of print_env() function). It is not necessary to implement this function if you do not provide sources mode installation.
This function is called when SALOME module is installed and the --all-from-sources (-a) option is used ("Build SALOME sources" check box in GUI mode). This function should be used to unpack SALOME sources package and then call build/install procedure for it.
For more details please refer to the this and this sections for more details.
This function is called when 'install binaries' installation mode is selected by the user. The function is responsible for the extracting of the product from the binaries package. It should create environment for the product in the temporary directory (see also description of print_env() function). It is not necessary to implement this function if you do not provide binaries mode installation.
This function is called when 'not install' installation mode is selected by the user. In this case script should inspect target directory to try to find already preinstalled product, pick up and check environment from there. See here for more details. This function is in charge of creation environment script. It should create file with name env_<product_name>.sh in the temporary directory and then copy it into the product installation directory. The file should contain all necessary environment variables settings for the product. It will be collected during the 'pick-up-environment' procedure. This procedure corresponds pickupenv tag of the configuration xml file (see previous section). It should call make_env procedure to perform pick-up environment procedure for the product.

The calling signature of the product installation script is the following:
<product_script_name> <function_name> <temp_folder> <products_directory> <target_directory> <dependancies> <product_name>

where

<product_script_name> - installation script name (described in configuration xml file);
<function_name> - the name of function, corresponding to the selected installation mode: try_native, install_source, install_binary or try_preinstalled;
<temp_folder> - temporary files directory;
<products_directory> - directory where the sources/binaries package can be found. You should provide sources package in the <Install_Wizard_root_directory>/Products/SOURCES directory and binaries package in the <InstallWizard_root_directory>/Products/BINARIES/<os_version>, where <os_version> is target platform description, which appears in the corresponding section of the configuration xml file.
<target_directory> - root target directory where product should be installed to;
<dependancies> - single-quoted list of prerequisite products, separated by space;
<product_name> - product name itself.

Example:
med-2.2.3.sh install_binary /tmp/work ./Products/BINARIES/Mandrake10.1 /usr/salome 'gcc Hdf' med

Copy created script into the <Install_Wizard_root_directory>/config_files sub-directory where all installation scripts are stored. Installation Wizard will automatically search and call your script during the installation procedure.



Customizing Readme page buttons

The Installation Wizard allows customizing the look-n-feel of the last "Finish installation" page. If you want to add one or more buttons to this page in order to perform some specific actions at the end of the installation (for example, show Release Notes file by using Open Office) you can put an additional section to the XML configuration file. This is the <button> section (see here for more details).


To implement the action which will be performed when the user click on the button, you need to create a script and put it to the <Install_Wizard_root_directory>/config_files directory.
There are some obligatory functions which should be implemented in this script. These functions are automatically called by the Installation Wizard GUI. This procedure is called by the Installation Wizard when the "Finish installation" page is displayed and the status of the buttons should be modified according to the installation options. This procedure should return 0 if the corresponding action can be performed and, thus, the button should become enabled. Otherwise, it should return 1 - in this case the corresponding button will be disabled. This procedure is invoked when the user clicks the button. This procedure should return 0 if the corresponding action is done successfully and 1 if any error occurs.

The calling signature of the script is the following:
<product_script_name> <function_name> <target_directory> <temp_folder>

where

<product_script_name> - the script name itself (retrieved from the XML configuration xml file);
<function_name> - the name of function;
<target_directory> - root target directory where product are installed to;
<temp_folder> - temporary files directory;

Note: The standard Installation Wizard buttons "Launch SALOME" and "Release Notes" are implemented with this feature. Refer to the scripts start_salome.sh and release_notes.sh for sample implementation.

Note: Any button (even standard) can be ignored by the Installation Wizard if the attribute <disable> in the XML configuration file is set to the "true" value.