private void updateConfigFile() throws EnhancedException {

    // for SDK cobundles with JDK - see if cobundled JDK exists and use that
    // checks for jdk7 directory since we only have JDK 7 cobundles

    if (org.glassfish.installer.util.FileUtils.isFileExist(
        productRef.getInstallLocation() + File.separator + "jdk7")) {
      jdkHome = productRef.getInstallLocation() + File.separator + "jdk7";

      // on Unix, set executable permissions to jdk7/bin/* and jdk7/jre/bin/*
      if (!OSUtils.isWindows()) {
        org.glassfish.installer.util.FileUtils.setAllFilesExecutable(
            productRef.getInstallLocation() + File.separator + "jdk7" + File.separator + "bin");
        org.glassfish.installer.util.FileUtils.setAllFilesExecutable(
            productRef.getInstallLocation()
                + File.separator
                + "jdk7"
                + File.separator
                + "jre"
                + File.separator
                + "bin");
      }
    } else {

      // For all installation modes, fetch JAVA_HOME from panel;
      // on MacOS and AIX use java.home property since panel is skipped

      try {
        if (OSUtils.isMac() || OSUtils.isAix()) {
          jdkHome = System.getProperty("java.home");
        } else {
          jdkHome = ConfigHelper.getStringValue("JDKSelection.directory.SELECTED_JDK");
        }
      } catch (Exception e) {
        jdkHome = new File(System.getProperty("java.home")).getParent();
        if (OSUtils.isMac() || OSUtils.isAix()) {
          jdkHome = System.getProperty("java.home");
        }
      }
    }
    LOGGER.log(Level.INFO, Msg.get("UPDATE_CONFIG_HEADER", null));
    LOGGER.log(Level.INFO, Msg.get("JDK_HOME", new String[] {jdkHome}));
    // write jdkHome value to asenv.bat on Windows, asenv.conf on non-Windows platform...
    try {
      FileIOUtils configFile = new FileIOUtils();
      configFile.openFile(productRef.getConfigFilePath());
      /* Add AS_JAVA to end of buffer and file. */
      if (OSUtils.isWindows()) {
        configFile.appendLine("set AS_JAVA=" + jdkHome);
      } else {
        configFile.appendLine("AS_JAVA=" + jdkHome);
      }
      configFile.saveFile();
      configFile.closeFile();
    } catch (Exception ex) {
      LOGGER.log(Level.FINEST, ex.getMessage());
    }
  }