<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>
       Instrucciones de Instalaci&oacute;n de NetBeans IDE 6.5
    </title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" >
    <meta name="keywords" content="NetBeans, IDE, free, open source, developer, installer, engine, NetBeans, NetBeans IDE, NetBeans installer, NetBeans development environment, CSS, installer API" >
    <style type="text/css">
      <!--
      .style2 {color: #000000}
      -->
    </style>
    <meta name="keywords" content="java IDE, java editor, java Platform, free, open source, java development, j2ee support, development enviroment, web development, NetBeans, IDE, java" >
    <script language="JavaScript" type="text/javascript">
      <!--
      var username="guest";
      //-->
    </script>
  </head>
  <body class="composite">
    <!-- begin TopTabs  -->
    <!-- end TopTabs -->
    <!-- Begin Content Area -->
    <!-- Servlet-Specific template -->
    <a name="top"></a>
    <h1>Instrucciones de Instalaci&oacute;n de NetBeans IDE 6.5</h1>
    <div class="articledate" style="margin-left: 0px;">&Uacute;ltima actualizaci&oacute;n:
      <!-- #BeginDate format:Am1 -->August 9, 2012<!-- #EndDate -->
    </div>
    <p>Este documento describe como instalar NetBeans IDE 6.5 en su sistema. Para informaci&oacute;n acerca de los
      sistemas operativos soportados y las configuraciones de hardware para el IDE, vea las
      <a href="./relnotes.html">Notas de Lanzamiento de NetBeans IDE 6.5</a>.
      Vea
      <a href="./index.html">Informaci&oacute;n de NetBeans IDE 6.5</a>
      para conocer las nuevas caracter&iacute;sticas incluidas en NetBeans IDE 6.5. </p>

    <p><b>Contenido</b></p>
    <ul>
      <li><a href="#requiredsoftware" title="Required Software">Requerimientos de Software</a></li>
      <li><a href="#downloadoptions" title="Installer Download Options">Opciones de Descarga del Instalador</a></li>
      <li><a href="#customizeinstall" title="Customizing Your Installation">Personalizar su Instalaci&oacute;n</a></li>
      <li><a href="#startdownload" title="Starting the Download">Comenzar la Descarga</a></li>
      <li><a href="#installation" title="Installing the Software">Instalar el Software</a><div>
          <ul>
            <li><a href="#install_windows">Microsoft Windows, Solaris OS, y Linux</a></li>

            <li><a href="#install_mac">Mac OS X</a> </li>
          </ul></div></li>
      <li><a href="#uninstallation" title="Uninstalling the Software">Desinstalar el Software</a></li>
      <li><a href="#upgrading">Actualizar y Coexistir con Versiones Anteriores</a> </li>
      <li><a href="#troubleshooting" title="Troubleshooting">Proble</a><a href="#troubleshooting" title="Troubleshooting">mas</a></li>
      <li><a href="#moreinformation" title="More Information">Mas In</a><a href="#moreinformation" title="More Information">formaci&oacute;n</a></li>
    </ul>
    <h2><a name="requiredsoftware" id="requiredsoftware"></a>Requerimientos de Software</h2>
    <p>Antes de que instale el IDE, Java SE Development Kit (JDK) 5 Actualizaci&oacute;n 16 (versi&oacute;n 1.5.0_16)
      o posterior (incluyendo JDK 6 Actualizaci&oacute;n 11) debe estar instalado en su sistema. Si usted no tiene
      una instalaci&oacute;n de JDK, no podr&aacute proceder con la instalaci&oacute;n.
    <p>Para las opciones de descarga PHP, Ruby, y C++, usted puede instalar JRE en lugar de JDK. De todas formas, si
      planea utilizar alguna caracter&iacute;stica Java, necesitar&aacute; JDK.
    <p><b class="notes">Nota:</b> El uso de JDK 6 Actualizaci&oacute;n 12 con NetBeans IDE 6.5 podr&iacute;a
      causar errores y comportamiento incorrecto del IDE. Por eso, utilice solamente las versiones JDK
      recomendadas. Para m&aacute;s informaci&oacute;n, vea las
      <a href="./relnotes.html">Notas de Lanzamiento de NetBeans IDE 6.5</a>. </p>
    <p> </p>
    <p align="center"><a href="#top">arriba</a></p>
    <h2><a name="downloadoptions" id="downloadoptions"></a>Opciones de Descarga del Instalador</h2>

    <p>En la <a href="https://netbeans.org/downloads/index.html">p&aacute;gina de Descarga</a>
      de NetBeans IDE 6.5, usted puede descargar uno de varios instaladores, cada cual contiene
      el IDE base y herramientas adicionales.
    </p>
    <p>Los siguientes instaladores est&aacute;n disponibles: </p>
    <ul>
      <li><b>Java</b>. Provee herramientas para el desarrollo en aplicaciones Java SE, Java EE y Java ME.
        Esta opci&oacute;n de descarga tambi&eacute;n incluye el servidor GlassFish V2 UR2,
		     el servidor GlassFish v3 Prelude, y el software Apache Tomcat.
      </li>
      <li><b>Java SE</b>. Provee todas las caracter&iacute;sticas est&aacute;ndares para el desarrollo en Java SE.
			  El soporte para el Desarrollo de Complementos para NetBeans tambi&eacute;n est&aacute; incluido.
      </li>
      <li><b>JavaFX</b>. Provee soporte para el desarrollo JavaFX Multi-Platform Rich Application. </li>
      <li><b>Ruby</b>. Provee herramientas para el desarrollo Ruby y soporta Rails y JRuby. Tambi&eacute;n
		     contiene el servidor GlassFish v3 Prelude. </li>

      <li><b>PHP</b>. Provee herramientas para el desarrollo en PHP. La opci&oacute;n de descarga PHP est&aacute;
		    disponible en Early Access. </li>
      <li><b>C/C++</b>. Soporta el desarrollo en el lenguaje C/C++. </li>

      <li><b>All. </b> Esta es una opci&oacute;n de descarga completa de NetBeans IDE 6.5. Contiene todas las
        aplicaciones y paquetes disponibles para el IDE. Incluye las herramientas para el
        desarrollo en Servicio de Arquitectura Orientado. </li>
    </ul>
    <p align="center"><a href="#top">arriba</a></p>
    <h2><a name="customizeinstall"></a>Personalizar su Instalaci&oacute;n</h2>
    <p>Si usted descarga la opciones de descarga Java o &quot;All&quot;, usted puede elegir exactamente
      que herramientas y aplicaciones instalar. Haga click en Customize en la p&aacute;gina de bienvenida
      y seleccione las caracter&iacute;sticas que quiera usar. Para m&aacute;s informaci&oacute;n, vea
      <a href="#installation" title="Installing the Software">Instalando el Software</a>.</p>

    <p>Si usted quiere agregar funcionalidad a su configuraci&oacute;n NetBeans IDE, use el Administrador
      de Complementos de NetBeans (NetBeans Plugin Manager). Por ejemplo, asuma que usted comienza descargando
      e instalando el paquete Ruby. Luego usted decide que quiere probar la funcionalidad C/C++. Para hacer
      esto, vaya al Administrador de Complementos de NetBeans desde el IDE (seleccione Tools &gt; Plugins)
      y agregue el paquete C/C++ a su instalaci&oacute;n existente.</p>
    <p>Hay varias notas importantes acerca de la instalaci&oacute;n y configuraci&oacute;n de algunas
      caracter&iacute;sticas de NetBeans IDE: </p>
    <ol>
      <li>Apache Tomcat 6.0.18 est&aacute; incluido en las opciones de descarga &quot;Java&quot; y &quot;All&quot;
        pero no est&aacute; instalado por defecto desde ninguna de estas opciones. Para instalar Apache Tomcat
        desde la descarga Java o &quot;All&quot;, ejecute el instalador y seleccione Apache Tomcat 6.0.18
        en el cuadro de di&aacute;logo Customize Installation.</li>

      <li>Para el desarrollo C/C++ (aplicable para las descargas C/C++ y &quot;All&quot;), usted necesita
        adicionalmente instalar los compiladores y herramientas. Para m&aacute;s informaci&oacute;n, refi&eacute;rase a
        <a href="../65/cpp-setup-instructions.html">Instalar y Configurar el Soporte C/C++</a>. </li>

      <li>Si usted quiere usar Sun Java System Access Manager, adicionalmente a la opci&oacute;n de descarga
        &quot;All&quot; para el IDE, usted necesita instalar Java Application Platform SDK Actualizaci&oacute;n 5
        o posterior desde
        <a href="http://java.sun.com/javaee/downloads/index.jsp">http://java.sun.com/javaee/downloads/index.jsp</a>.
        Aseg&uacute;rese de descargar la versi&oacute;n que incluye Access Manager. <!--Para m&aacute;s informaci&oacute;n acerca de los
        pasos requeridos para instalar Access Manager, vea
        <a href="../../../kb/68/javaee/identity-amsecurity.html#install">Instalar Sun Java System Access Manager</a>.--></li>

      <li>Para desarrollar aplicaciones Mobility para aparatos CDC usted necesita descargar
        <a href="http://java.sun.com/products/cdctoolkit/download-1_0.html">Sun Java Toolkit 1.0 para CDC</a>.
        Despu&eacute;s de la instalaci&oacute;n usted debe
        <a href="../../../kb/docs/javame/cdc-quickstart.html">registrar la plataforma CDC</a> en el IDE.</li>

      <li>Para Mac OS X, usted puede personalizar la instalaci&oacute;n NetBeans IDE desde las opciones de descarga
        Java, Ruby, y &quot;All&quot;. La instalaci&oacute;n IDE desde las opciones de descarga Java SE, PHP, y C/C++
        no se pueden personalizar. </li>

      <li>La instalaci&oacute;n de NetBeans IDE para JavaFX est&aacute; descrita en
        <a href="http://java.sun.com/javafx/1/reference/javafx-netbeans-install/install-nb6.5-for-javafx.html">Instalar NetBeans IDE 6.5 para JavaFX</a>.
        Para m&aacute;s informaci&oacute;n acerca de NetBeans IDE para JavaFX, refi&eacute;rase a
        <a href="http://java.sun.com/javafx/1/reference/releasenotes/javafx-netbeans-release-notes-1-1.html">Notas de Lanzamiento</a>. </li>

    </ol>
    <p align="center"><a href="#top">arriba</a></p>
    <h2><a name="startdownload" id="startdownload"></a>Comenzar la Descarga</h2>

    <ol>
      <li>Navegue por la <a href="https://netbeans.org/downloads/index.html">p&aacute;gina de Descarga</a>
        de NetBeans IDE 6.5.</li>
      <li>En el &aacute;rea superior derecha de la p&aacute;gina, seleccione su plataforma desde la lista desplegable.</li>
      <li>Haga click en el bot&oacute;n Descarga para las opciones de descarga que quiera instalar.</li>
      <li>Guarde el archivo de instalaci&oacute;n en su sistema.</li>

    </ol>
    <p align="center"><a href="#top">arriba</a></p>
    <h2><a name="installation"></a>Instalar el Software</h2>

    <p>Siga las instrucciones en esta secci&oacute;n para instalar el IDE en su sistema. Estas instrucciones se aplican
      a todas las plataformas soportadas. Para una lista de plataformas soportadas, vea las
      <a href="./relnotes.html">Notas de Lanzamiento de NetBeans IDE 6.5</a>. </p>
    <h3><a name="install_windows" id="install_windows">Microsoft Windows, Solaris OS, y Linux</a></h3>
    <p><b>Para instalar el software:</b></p>
    <ol>
      <li>Luego que se complete la descarga, ejecute el instalador. <br>

        <ul>
          <li>Para Windows, el archivo de instalaci&oacute;n ejecutable tiene la extensi&oacute;n <tt>.exe</tt>. Haga doble click en el
            archivo instalador para ejecutarlo. </li>

          <li>Para las plataformas Solaris y Linux, el archivo instalador tiene la extensi&oacute;n <tt>.sh</tt>. Para estas
            plataformas usted necesita hacer que los archivos de instalaci&oacute;n sean ejecutables mediante el uso del
            siguiente comando: <tt><br>
              chmod +x ./&lt;<i>nombre-de-archivo-instalador</i>&gt;</tt></li>
        </ul>
      </li>

      <li>Para seleccionar las herramientas y aplicaciones a instalar, siga los pasos a continuaci&oacute;n en la p&aacute;gina
        de Bienvenida del asistente de instalaci&oacute;n:
        <ol type="a">
          <li>Haga click en Customize.</li>
          <li>En el cuadro de di&aacute;logo Customize Installation, haga sus selecciones.</li>
          <li>Haga click en OK.</li>
        </ol>
      </li>
      <li>En la p&aacute;gina de Bienvenida del asistente de instalaci&oacute;n, haga click en Next.</li>
      <li>En la p&aacute;gina de acuerdo de licencia, revise el acuerdo de licencia, seleccione la casilla de verificaci&oacute;n,
        y haga click en Next.</li>
      <li>En la p&aacute;gina de instalaci&oacute;n de NetBeans IDE, haga lo siguiente:<br>
        <ol type="a">

          <li>Acepte el directorio de instalaci&oacute;n por defecto para NetBeans IDE o especifique otro directorio.<br>
            <b>Nota:</b> El directorio de instalaci&oacute;n debe estar vac&iacute;o, y el perfil de usuario que usted use para
            ejecutar el instalador debe tener permisos de lectura y escritura para este directorio.</li>
          <li>Acepte la instalaci&oacute;n JDK por defecto para usar con NetBeans IDE o seleccione una instalaci&oacute;n diferente
            desde la lista desplegable.<br>

            Si el asistente de instalaci&oacute;n no encuentra una instalaci&oacute;n JDK compatible para usar con NetBeans IDE, su JDK
            no est&aacute; instalado en la direcci&oacute;n por defecto. En este caso, especifique el directorio donde est&aacute; instalado JDK
            o cancele la instalaci&oacute;n en curso, instale la versi&oacute;n JDK necesaria, y reinicie la instalaci&oacute;n.</li>
          <li>Haga click en Next.</li>
        </ol>
      </li>
      <li>Si la p&aacute;gina del servidor GlassFish V2 UR2 se abre, haga lo siguiente:<br>

        <ol type="a">
          <li>Acepte el directorio de instalaci&oacute;n por defecto para el servidor o especifique otro directorio de instalaci&oacute;n.<br>
            <b>Nota:</b> El directorio de instalaci&oacute;n que usted especifique debe estar vac&iacute;o, y el perfil de usuario que usted
            est&aacute; usando para ejecutar la aplicaci&oacute;n debe tener permisos de lectura y escritura para este directorio. </li>
          <li>Desde la lista de instalaciones JDK compatibles, elija el JDK que quiera que use el servidor o haga click en el
            bot&oacute;n Browse para especificar otra instalaci&oacute;n JDK.</li>

          <li>Cambie el nombre de usuario y la clave para el dominio del servidor por defecto o acepte los que est&aacute;n por defecto
            y haga click en Next.<br>
            El nombre de usuario y la clave por defecto son <tt>admin</tt> y <tt>adminadmin</tt>.</li>
          <li>Verifique los valores por defecto de los puertos (<tt>HTTP</tt>, <tt>HTTPS</tt>, y <tt>Admin</tt>)
            para el servidor o modif&iacute;quelos si es necesario.</li>

          <li>Haga click en Next.</li>
        </ol>
      </li>
      <li>Si la p&aacute;gina del servidor GlassFish v3 Prelude se abre, acepte el directorio de instalaci&oacute;n por
        defecto o especifique otra direcci&oacute;n de instalaci&oacute;n.</li>
      <li>Si la p&aacute;gina de instalaci&oacute;n de Apache Tomcat se abre, acepte el directorio de instalaci&oacute;n por
        defecto o especifique otra direcci&oacute;n de instalaci&oacute;n.</li>

      <li>En la p&aacute;gina de resumen, verifique que la lista de componentes a ser instalados es correcta
        y que usted tiene el espacio adecuado en su sistema para la instalaci&oacute;n.</li>
      <li>Haga click en Install para comenzar la instalaci&oacute;n.</li>
      <li>Cuando la instalaci&oacute;n se complete:
        <ol type="a">
          <li>Si el servidor GlassFish ha sido instalado, para registrarlo seleccione
            la casilla de verificaci&oacute;n Register the Sun Java System Application Server
            and NetBeans IDE despu&eacute;s de terminar la instalaci&oacute;n.</li>
          <li>Si el servidor GlassFish no ha sido instalado, seleccione la casilla de
            verificaci&oacute;n Register the  NetBeans IDE despu&eacute;s de terminar la instalaci&oacute;n
            para registrar NetBeans IDE.</li>
          <li>Haga click en Finish para salir del asistente.</li>
        </ol>

      </li>
      <li>Si usted selecciona la casilla de verificaci&oacute;n Register... en el paso
        anterior, la p&aacute;gina Registration se abre en el navegador. Haga click en Register.</li>
      <li>Introduzca su cuenta Sun Online o cr&eacute;ela en la p&aacute;gina
        <a href="http://www.sun.com">www.sun.com</a>, la cual es accesible por la red.  </li>
    </ol>
    <p class="notes"><b>Nota:</b> 
      Si encuentra problemas para completar satisfactoriamente la instalaci&oacute;n del software,
      vea <a href="#troubleshooting">Problemas</a> para descripciones y soluciones sugeridas
      de problemas no resueltos que podr&iacute;an afectar el proceso de instalaci&oacute;n. </p>
    <p class="notes"><b>Nota:</b>
      Si no ha registrado el servidor GlassFish justo despu&eacute;s de la instalaci&oacute;n, usted puede
      hacerlo cuando ejecute NetBeans IDE o abra la <span class="style2">consola de Administraci&oacute;n</span>
      del servidor GlassFish. </p>
    <p class="notes"><b>Nota:</b>
      Si no ha registrado NetBeans IDE 6.5 justo despu&eacute;s de la instalaci&oacute;n, usted puede
      hacerlo cuando ejecute NetBeans IDE.</p>
    <h3><a name="install_mac" id="install_mac">Mac OS X</a></h3>
    <p><b>Para instalar el software:</b></p>
    <ol>
      <li>
        Despu&eacute;s que la descarga se complete, ejecute el instalador. El archivo de instalaci&oacute;n tiene
        la extensi&oacute;n <tt>.dmg</tt>. </li>
      <li>
        En el panel que se abre haga click en el icono del paquete. El paquete tiene la
        extensi&oacute;n <tt>.mpkg</tt>. El asistente de instalaci&oacute;n comienza.</li>
      <li>
        En la p&aacute;gina de Bienvenida del asistente de instalaci&oacute;n, haga click en Continue.</li>
      <li>
        Revise el acuerdo de licencia y haga click en Continue. Haga click en Aceptar
        en la ventana emergente para aceptar el acuerdo de licencia.</li>
      <li>
        En la p&aacute;gina Select a Destination, seleccione el disco y haga click en Continue.</li>
      <li>
        Si descarg&oacute; las opciones All, Java, o Ruby, usted puede personalizar su instalaci&oacute;n.
        En el &uacute;ltimo panel del asistente de instalaci&oacute;n, presione el bot&oacute;n Customize
        en la parte inferior izquierda del panel. Se muestra el &aacute;rbol de productos.</li>
      <li>
        Seleccione los productos que quiera instalar.</li>
      <li>
        Introduzca el nombre y la clave del administrador de su sistema y haga click en
        OK para comenzar la instalaci&oacute;n.<br>
      </li>
    </ol>
    <p align="center"><a href="#top">arriba</a></p>
    <h2><a name="uninstallation">Desinstalar el Software</a></h2>
    <div>
      <h3><a name="uninstall_windows">Microsoft Windows</a></h3>
      <p>
        Si es necesario, usted puede desinstalar NetBeans IDE, el servidor
        GlassFish V2 UR2, el servidor GlassFish v3 Prelude, y Apache Tomcat
        usando los siguientes procedimientos.</p>
      <p><b>Para desinstalar el IDE</b>:</p>
      <ol>

        <li>Cierre el IDE.<br>
        </li>

        <li>
          Desde el Panel de Control, seleccione Agregar o Quitar Programas, luego
          seleccione NetBeans IDE 6.5 y haga click en Quitar.</li>
      </ol>
      <p><b>Para desinstalar el servidor GlassFish V2 UR2: </b></p>
      <ol>
        <li>Cierre el IDE.</li>
        <li>Desde el Panel de Control, seleccione Agregar o Quitar Programas, luego
          seleccione GlassFish V2 UR2 y haga click en Quitar.</li>

      </ol>
      <p><b>Para desinstalar el servidor GlassFish v3 Prelude: </b></p>
      <ol>
        <li>Cierre el IDE.</li>
        <li>Desde el Panel de Control, seleccione Agregar o Quitar Programas, luego
          seleccione GlassFish v3 Prelude y haga click en Quitar.</li>
      </ol>
      <p><b>Para desinstalar Apache Tomcat: </b></p>

      <ol>
        <li>Cierre el IDE.</li>

        <li>Desde el Panel de Control, seleccione Agregar o Quitar Programas, luego
          seleccione Apache Tomcat 6.0.16 y haga click en Quitar.</li>
      </ol>
    </div>
    <div>
      <h3><a name="uninstall_sollinux">Solaris OS, Linux</a></h3>
      <p>
        Si es necesario, usted puede desinstalar NetBeans IDE, el servidor GlassFish V2 UR2,
        el servidor GlassFish v3 Prelude, y Apache Tomcat usando los siguientes procedimientos.</p>
      <p><b>Para desinstalar el IDE</b>:</p>

      <ol>
        <li>Cierre el IDE.</li>
        <li>En el directorio de instalaci&oacute;n del IDE, ejecute el archivo <tt>uninstall.sh</tt>.</li>
        <li>
          Para desinstalar GlassFish/Tomcat junto con el IDE, en la p&aacute;gina Summary
          aseg&uacute;rese que las versiones correctas est&aacute;n listadas y chequeadas
          en las casillas de verificaci&oacute;n apropiadas.</li>
        <li>En la p&aacute;gina Summary, haga click en Uninstal.<br>
        </li>
        <li>Despu&eacute;s que se complete la desinstalaci&oacute;n, haga click en Finish.</li>

      </ol>
      <p><b>Para desinstalar el servidor GlassFish V2 UR2 o V3 Prelude</b>:</p>
      <ol>
        <li>Cierre el IDE.</li>
        <li>Encuentre el directorio de instalaci&oacute;n del servidor.<br>
          <p><b>Nota:</b>
            La direcci&oacute;n de instalaci&oacute;n por defecto es diferente dependiendo del
            tipo de instalaci&oacute;n y de la plataforma. La siguiente tabla muestra
            los directorios de instalaci&oacute;n por defecto del servidor.</p>
          <table>
            <tbody>
              <tr class="tblheader">
                <th width="70">Plataforma</th>
                <th width="101">Instalado Como...</th>
                <th width="264"><p>Instalaci&oacute;n del Servidor</p>
                  <p>GlassFish V2 UR2</p></th>

                <th width="264">Instalaci&oacute;n del Servidor GlassFish v3 Prelude</th>
              </tr>
              <tr class="tbltd0">
                <td>Solaris&nbsp;OS&nbsp;<br></td>
                <td>root</td>
                <td><tt>/opt/glassfish-v2ur2</tt></td>

                <td><tt>/opt/glassfish-v3-prelude</tt></td>
              </tr>
              <tr class="tbltd1">

                <td>Solaris&nbsp;OS,<br>Linux</td>
                <td valign="top">user</td>
                <td valign="top"><tt>~/glassfish-v2ur2</tt></td>

                <td valign="top"><tt>~/glassfish-v3-prelude</tt></td>
              </tr>
              <tr class="tbltd0">
                <td>Linux</td>
                <td>root</td>
                <td><tt>/usr/local/glassfish-v2ur2</tt></td>
                <td><tt>/usr/local/glassfish-v3-prelude</tt></td>

              </tr>
            </tbody>
          </table>

        </li>
        <li>En el directorio de instalaci&oacute;n del servidor, ejecute el archivo <tt>uninstall.sh</tt>.</li>

        <li>En la p&aacute;gina Summary, haga click en Uninstall. <br>

        </li>
        <li>Despu&eacute;s que se complete la desinstalaci&oacute;n, haga click en Finish.</li>
      </ol>
      <p class="notes"><b>Nota:</b>
        El servidor GlassFish es necesario para la funcionalidad SOA. Cuando
        desinstale el servidor, la funcionalidad SOA es eliminada autom&aacute;ticamente
        de la instalaci&oacute;n de NetBeans IDE.</p>
      <p><b>Para desinstalar Apache Tomcat: </b></p>
      <ol>
        <li>Cierre el IDE.</li>

        <li>Encuentre el directorio de instalaci&oacute;n por defecto de Apache Tomcat
          y ejecute el archivo <tt>uninstall.sh</tt>.<br>
        </li>
        <li>En la p&aacute;gina Summary, haga click en Uninstall. </li>
        <li>Luego de completarse la desinstalaci&oacute;n, haga click en Finish</li>
      </ol>
    </div>
    <div>

      <h3><a name="uninstall_mac" id="uninstall_mac">Mac OS X</a></h3>
      <p><b>Para desinstalar el IDE y el servidor:</b></p>
      <ol>
        <li>Cierre el software.</li>
        <li>Arrastre las carpetas o archivos de los programas a la Papelera.<br>
          Note que la direcci&oacute;n por defecto para el IDE y el servidor es
          <tt>/Applications/NetBeans/</tt>.</li>

      </ol>

      <p>&nbsp; </p>
    </div>
    <p align="center"><a href="#top">arriba</a></p>
    <h2><a name="upgrading"></a>Actualizar y Coexistir con Versiones Anteriores</h2>
    <p>
      NetBeans IDE 5.5 o 5.5.1, 6.0, o 6.1 pueden coexistir con NetBeans IDE 6.5
      en el mismo sistema. Usted no necesita desinstalar las versiones 5.5 o 5.5.1,
      6.0, o 6.1 para poder instalar o ejecutar NetBeans IDE 6.5. </p>
    <p>
      Si usted tiene NetBeans IDE 5.5, 5.5.1, 6.0, o 6.1 instalado usted podr&aacute;
      elegir si o no importar los ajustes de usuario desde los directorios de
      usuario existentes cuando ejecute NetBeans IDE 6.5 por primera vez.</p>
    <p align="center"><a href="#top">arriba</a></p>
    <h2><a name="troubleshooting" id="troubleshooting"></a>Problemas</h2>
    <div>
      <h3>Acerca del Directorio de Trabajo del Instalador</h3>
      <p>
        El instalador almacena datos acerca de las sesiones de instalaci&oacute;n en el
        directorio de trabajo del instalador. Ejemplo de estos datos son la lista
        de componentes instalados en su sistema, lista de mensajes de instalaci&oacute;n,
        y datos de registros.</p>
      <p>
        La direcci&oacute;n por defecto del directorio de trabajo del instalador es
        <tt>%USERPROFILE%\.nbi</tt> en Windows y <tt>~/.nbi</tt> en otras
        plataformas. El subdirectorio log contiene los archivos de registro.</p>
    </div>
    <div>
      <h3>Limpieza Despu&eacute;s de Instalaciones Incompletas</h3>

      <p>
        Despu&eacute;s de instalaciones incompletas o no exitosas, usted podr&iacute;a necesitar
        limpiar su sistema de instalaciones previas.</p>
      <p><b>Para Microsoft Windows, Solaris OS, y Linux:</b></p>
      <ol>
        <li>Borre el directorio de trabajo del instalador.</li>
        <li>Borre los directorios de instalaci&oacute;n del IDE y del servidor GlassFish.</li>
        <li>
          En la plataforma Windows, borre todas las entradas de registro <tt>nbi*</tt>
          desde las siguientes claves de registro: <br>

          <tt>HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall</tt> <br>
          <tt>HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall</tt> </li>

      </ol>
      <p><b>Para Mac OS X:</b></p>
      <ul>
        <li>Arrastre las carpetas de programas a la Papelera. </li>
      </ul>

    </div>
    <div>
      <h3>Deshabilite Algunos Software Antes de Instalar</h3>
      <p>
        Es mejor deshabilitar cortafuegos, antivirus, y aplicaciones de monitoreo
        antes que inicie las instalaciones. Algunas de estas aplicaciones pueden
        evitar que algunos componentes del IDE sean configurados correctamente
        durante el proceso de instalaci&oacute;n.</p>
      <p>
        Por ejemplo, si usted tiene la aplicaci&oacute;n Logitech Process Monitor
        (<tt>LVPrcSrv.exe</tt>) ejecut&aacute;ndose en su sistema, ap&aacute;guela antes
        de la instalaci&oacute;n.</p>

    </div>
    <p align="center"><a href="#top">arriba</a></p>
    <h2><a name="moreinformation"></a>M&aacute;s Informaci&oacute;n</h2>
    <br>
    <ul>
      <li><a href="./index.html">Informaci&oacute;n NetBeans IDE 6.5</a></li>
      <li><a href="https://netbeans.org/downloads/index.html">p&aacute;gina de Descarga NetBeans IDE 6.5</a></li>
      <li><a href="./relnotes.html">Notas de Lanzamiento de NetBeans IDE 6.5</a></li>
    </ul>
    <hr class="light">
    <div class="feedback-box"><a href="https://netbeans.org/about/contact_form.html?to=3&subject=Feedback: NetBeans IDE 6.5 Installation Instructions">Env&iacute;enos Su Opini&oacute;n</a></div>
    <br style="clear:both;">
    <p align="center"><a href="#top">arriba</a></p>
    <!-- /Servlet-Specific template -->
    <!-- end of right navigation -->
    <!-- servlets and anything not on www or testwww -->
  </body>
</html>
