code: public void install(final Install _install,
                          final long _latestVersionNumber,
                          final Set<Profile> _profiles,
                          final String _userName,
                          final String _password)
          throws InstallationException
      {
          // reload cache if needed
          if (this.reloadCacheNeeded) {
              this.application.reloadCache();
          }
          try {
              // start transaction (with user name if needed)
              if (this.loginNeeded) {
                  Context.begin(_userName);
              } else {
                  Context.begin();
              }
  
              _install.install(this.number, _latestVersionNumber, _profiles, this.ignoredSteps);
  
              // commit transaction
              Context.commit();
  
              // execute all scripts
              for (final AbstractScript script : this.scripts) {
                  script.execute(_userName, _password);
              }
  
              // Compile esjp's in the database (if the compile flag is set).
              if (this.compile) {
                  this.application.compileAll(_userName, true);
              }
          } catch (final EFapsException e) {
              throw new InstallationException("error in Context", e);
          }
      }
docs: Installs the XML update scripts of the schema definitions for this
  version defined in {@link #number}.
  
  @param _install install instance with all cached XML definitions
  @param _latestVersionNumber latest version number (defined in the
  version.xml file)
  @param _profiles profiles to be applied
  @param _userName name of logged in user
  @param _password password of logged in user
  @throws InstallationException on error