code: static String extractMsi(String msiFile) {
          LOGGER.entering(msiFile);
  
          Process process = null;
          String exeFilePath = null;
          boolean isMsiExtracted = true;
          try {
              process = Runtime.getRuntime().exec(
                      new String[] { "msiexec", "/a", msiFile, "/qn", "TARGETDIR=" + SeLionConstants.SELION_HOME_DIR });
              process.waitFor();
          } catch (IOException e) {
              LOGGER.log(Level.SEVERE, "Could not find file " + msiFile, e);
              isMsiExtracted = false;
          } catch (InterruptedException e) {
              LOGGER.log(Level.SEVERE, "Exception waiting for msiexec to be finished", e);
              isMsiExtracted = false;
          } finally {
              process.destroy();
          }
  
          if (isMsiExtracted) {
              moveExeFileToSeLionHomeAndDeleteExtras();
              exeFilePath = FileUtils.getFile(SeLionConstants.SELION_HOME_DIR + SeLionConstants.EDGE_DRIVER)
                      .getAbsolutePath();
          }
  
          LOGGER.exiting(exeFilePath);
          return exeFilePath;
  
      }
docs: Installs MicrosoftWebDriver.msi file as administrator in SELION_HOME_DIR and also deletes unwanted file and
  directory created by Msiexec.
  
  @param msiFile
  the .msi file to extract
  @return The path of installed MicrosoftWebDriver