<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!--
  Copyright 2008 Sun Microsystems, Inc. 
  All Rights Reserved.
-->

<html>
<head>
<link rel="stylesheet" type="text/css" href="../../../netbeans.css">
<link rel="shortcut icon" href="https://netbeans.org/favicon.ico" type="image/x-icon" >
<title>NetBeans IDE 6.5 Installation Instructions</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" >
<meta name="description" content="Installation instructions for the NetBeans IDE 6.0 Preview">
<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>
</head>
<body>
<a name="top"></a>
<h1>NetBeans IDE 6.5 Installation Instructions</h1>
<div class="articledate" style="margin-left: 0px;">Last updated: 
  <!-- #BeginDate format:Am1 -->August 9, 2012<!-- #EndDate -->
</div>
<p>This document describes how to install NetBeans IDE 6.5 on your system. For information about supported operating systems and hardware configurations for the IDE, see the <a href="./relnotes.html">NetBeans IDE 6.5  Release Notes</a>. See <a href="./index.html">NetBeans IDE 6.5  Information</a> to learn about the new features included in NetBeans IDE 6.5. </p>

<p><b>Contents</b></p>
<ul>
<li><a href="#requiredsoftware" title="Required Software">Required Software</a></li>
<li><a href="#downloadoptions" title="Installer Download Options">Installer Download Options</a></li>
<li><a href="#customizeinstall" title="Customizing Your Installation">Customizing Your Installation</a></li>
<li><a href="#startdownload" title="Starting the Download">Starting the Download</a></li>
<li><a href="#installation" title="Installing the Software">Installing the Software</a><div>
<ul>
<li><a href="#install_windows">Microsoft Windows, Solaris OS, and Linux</a></li>
<li><a href="#install_mac">Mac OS X</a> </li>
</ul></div></li>
<li><a href="#uninstallation" title="Uninstalling the Software">Uninstalling the Software</a></li>
<li><a href="#upgrading">Upgrading and Coexisting with Previous Versions</a> </li>
<li><a href="#troubleshooting" title="Troubleshooting">Trouble</a><a href="#troubleshooting" title="Troubleshooting">shooting</a></li>
<li><a href="#moreinformation" title="More Information">More In</a><a href="#moreinformation" title="More Information">formation</a></li>
</ul>
<h2><a name="requiredsoftware" id="requiredsoftware"></a>Required Software</h2>
<p>Before you install the IDE, the Java SE Development Kit (JDK) 5 Update 16 (version 1.5.0_16) or newer (including JDK 6 Update 11) must be installed on your system. If you do not have an installation of JDK, you cannot proceed with the installation. 
<p>For PHP, Ruby, and C++ download options, you can install JRE instead of JDK. However, if you are planning to use any Java features, you will need JDK.
<p><b class="notes">Note:</b> The use of JDK 6 Update 12 with  NetBeans IDE 6.5 might cause errors and incorrect IDE's behavior. Therefore, use only the recommended JDK versions. For more information, see the <a href="./relnotes.html">NetBeans IDE 6.5 Release Notes</a>. </p>
</p>


<p> </p>
<p align="center"><a href="#top">top</a></p>
<h2><a name="downloadoptions" id="downloadoptions"></a>Installer Download Options</h2>
<p>On the NetBeans IDE 6.5 <a href="https://netbeans.org/downloads/index.html">Download page</a>, you can download one of several installers, each of which contains the base IDE and additional tools.  </p>
<p>The following installers are available: </p>
<ul>
<li><b>Java</b>. Provides tools for developing Java SE, Java EE and Java ME applications. This download option also includes the GlassFish V2 UR2 application server, the GlassFish v3 Prelude application server, and Apache Tomcat software. </li>
<li><b>Java SE</b>. Provides all standard features for Java SE development. Support for NetBeans Plugin Development is also included.</li>
<li><b>JavaFX</b>. Provides support for JavaFX Multi-Platform Rich Application development. </li>
<li><b>Ruby</b>. Provides tools for Ruby development and supports Rails and JRuby. Also contains the GlassFish v3 Prelude application server. </li>
<li><b>PHP</b>. Provides tools for PHP development. The PHP download option is available in Early Access. </li>
<li><b>C/C++</b>. Supports development in the C/C++ language. </li>

<li><b>All. </b> This is a full download option for NetBeans IDE 6.5.   It contains all the runtimes and packs available for the IDE.  Includes  tools for Service Oriented Architecture development. </li>
</ul>
<p align="center"><a href="#top">top</a></p>
<h2><a name="customizeinstall"></a>Customizing Your Installation</h2>
<p>If you download Java or &quot;All&quot; download options, you can choose exactly what tools and runtimes to install. Click  Customize at the Welcome page and select the features that you want to use. For more information, see <a href="#installation" title="Installing the Software">Installing the Software</a>.</p>
<p>If you want to add functionality to your NetBeans IDE configuration, use the NetBeans Plugin Manager. For example, assume that you start out by downloading and installing the  Ruby pack. You then decide that you want to try  out the C/C++ functionality. To do this, go to the NetBeans Plugin Manager from the IDE (choose Tools &gt; Plugins) and add the C/C++ pack to your existing installation.</p>
<p>There are several important notes about installation and configuration of some NetBeans IDE features: </p>
<ol>
  <li>Apache Tomcat 6.0.18 is included in the &quot;Java&quot; and &quot;All&quot; download options but it is not installed by default from either of these options. To install Apache Tomcat from the Java or &quot;All&quot; download, launch the installer and select Apache Tomcat 6.0.18 in the Customize Installation dialog box.</li>

  <li>For C/C++ development (applicable for the C/C++ and &quot;All&quot; downloads), you need to additionally install compilers and tools. For more information, refer to the <a
  href="../65/cpp-setup-instructions.html">Installing and Configuring C/C++ Support</a>. </li>
  <li>If you want to use the Sun Java System Access Manager, in addition to the &quot;All&quot; download option for the IDE, you need to install Java Application Platform SDK Update 5 or later from
  <a href="http://java.sun.com/javaee/downloads/index.jsp">http://java.sun.com/javaee/downloads/index.jsp</a>. Ensure that you download the version that includes the Access Manager. <!--For more information about the steps required to install the Access Manager, see
  <a href="../../../kb/68/javaee/identity-amsecurity.html#install">Installing the Sun Java System Access Manager</a>.--></li>
   <li>To develop Mobility applications for CDC devices  you need to download and install the <a href="http://java.sun.com/products/cdctoolkit/download-1_0.html"> Sun Java Toolkit 1.0 for CDC </a>. After installation you must <a href="../../../kb/docs/javame/cdcemulator-setup.html"> register the CDC platform </a> in the IDE.</li>  <li>For  Mac OS X, you can customize the NetBeans IDE installation from Java, Ruby, and &quot;All&quot; downloads. The IDE installation from JavaSE, PHP, and C/C++ downloads cannot be customized. </li>
  <li>Installation of the NetBeans IDE for JavaFX is described in <a href="http://java.sun.com/javafx/1/reference/javafx-netbeans-install/install-nb6.5-for-javafx.html">Installing NetBeans IDE 6.5 for JavaFX</a>. For more information about the NetBeans IDE for JavaFX, refer to the <a href="http://java.sun.com/javafx/1/reference/releasenotes/javafx-netbeans-release-notes-1-1.html">Release Notes</a>. </li>
</ol>
<p align="center"><a href="#top">top</a></p>
<h2><a name="startdownload" id="startdownload"></a>Starting the Download</h2>

<ol>
<li>Navigate to the NetBeans IDE 6.5 <a href="https://netbeans.org/downloads/index.html">Download page</a>.</li>
<li>In the upper right area of the page, select your platform from the drop-down list.</li>
<li>Click the Download button for the download option that you want to install.</li>
<li>Save the installer file to your system.</li>
</ol>
<p align="center"><a href="#top">top</a></p>
<h2><a name="installation"></a>Installing the Software</h2>

<p>Follow the instructions in this section to install the IDE on your system. These installation instructions apply to all supported platforms. For the list of supported platforms,  see the <a href="./relnotes.html">NetBeans IDE 6.5 Release Notes</a>. </p>
<h3><a name="install_windows" id="install_windows">Microsoft Windows, Solaris OS, and Linux</a></h3>
<p><b>To install the software:</b></p>
<ol>
<li>After the download completes, run the installer. <br>
<ul>
<li>For Windows, the installer executable file has the <tt>.exe</tt> extension. Double-click the installer file to run it. </li>

<li>For Solaris and Linux platforms, the installer file has the <tt>.sh</tt> extension. For these platforms, you need to make the installer files executable by using the following command: <tt><br>
chmod +x ./&lt;<i>installer-file-name</i>&gt;</tt></li>
</ul>
</li>
<li>To choose the tools and runtimes to install, perform the following steps at the Welcome page of the installation wizard:
  <ol type="a">
<li>Click Customize.</li>
<li>In the Customize Installation dialog box, make your selections.</li>
<li>Click OK.</li>
</ol>
</li>
<li>At the Welcome page of the installation wizard, click Next.</li>
<li>At the License agreement page, review the license agreement, select the acceptance checkbox, and click Next.</li>
<li>At the NetBeans IDE installation page, do the following:<br>
<ol type="a">
<li>Accept the default installation directory for the NetBeans IDE or specify another directory.<br>
<b>Note:</b> The installation directory must be empty, and the user profile you are using to run the installer must have read/write permissions for this directory.</li>
<li>Accept the default JDK installation to use with the NetBeans IDE or select a different installation from the drop-down list.<br>

If the installation wizard did not find a compatible JDK installation to use with the NetBeans IDE, your JDK is not installed in the default location. In this case, specify the path to an installed JDK or cancel the current installation, install the required JDK version, and restart this installation.</li>
<li>Click Next.</li>
</ol>
</li>
<li>If the GlassFish V2 UR2 application server installation page opens, do the following:<br>
<ol type="a">
<li>Accept the default installation directory for the server or specify another installation directory. <br>
<b>Note:</b> The installation directory you specify must be empty, and the user profile you are using to run the installer must have read/write permissions for this directory. </li>
<li>From the list of compatible JDK installations, choose the JDK you want the application server to use or click the Browse button to specify another JDK installation.</li>

<li>Change the username and password for the default server domain or accept the defaults and click Next.<br>
The default username and password are <tt>admin</tt> and <tt>adminadmin</tt>.</li>
<li>Verify the default port values (<tt>HTTP</tt>, <tt>HTTPS</tt>, and <tt>Admin</tt>) for the server or change them if necessary.</li>

<li>Click Next.</li>
</ol>
</li>
<li>If the GlassFish v3 Prelude application server installation page opens, accept the default installation directory or specify another installation location.</li>
<li>If the Apache Tomcat installation page opens, accept the default installation directory or specify another installation location. </li>
<li>At the Summary page, verify that the list of components to be installed is correct and that you have adequate space on your system for the installation.</li>
<li>Click Install to begin the installation.</li>
<li>When the installation is complete:
  <ol type="a">
      <li>If   the GlassFish application server has been installed, to register it select the Register the Sun Java System Application Server and NetBeans IDE after finishing the installer checkbox.</li>
      <li>If the GlassFish application server has not been installed,  select the Register the  NetBeans IDE after finishing the installer checkbox to register the NetBeans IDE.</li>
    <li>Click Finish to exit the wizard.</li>
  </ol>
</li>
<li>If you selected the Register... checkbox at the previous step, the Registration page opens in the browser. Click Register.</li>
<li>Enter your Sun Online Account or create it on the <a href="http://www.sun.com">www.sun.com</a> page, which is accessible via a link.  </li>
</ol>
<p class="notes"><b>Note:</b> If you encounter problems successfully completing the software installation, see <a href="#troubleshooting">Troubleshooting</a> for descriptions and suggested workarounds for unresolved issues that could affect the installation process. </p>
<p class="notes"><b>Note:</b> If you have not registered the GlassFish application server right after the installation, you can do it when you run the NetBeans IDE or open the <span class="style2">Admin console</span> of the GlassFish application server. </p>
<p class="notes"><b>Note:</b> If you have not registered the NetBeans IDE 6.5 right after the installation, you can do it when you run the NetBeans IDE.</p>
<h3><a name="install_mac" id="install_mac">Mac OS X</a></h3>
<p><b>To install the software:</b></p>
<ol>
  <li>After the download completes, run the installer. The installer file has the <tt>.dmg</tt> extension. </li>
  <li>On the panels that opens click the package icon. The package has the <tt>.mpkg</tt> extension. The installation wizard starts.</li>
  <li>At the Welcome page of the installation wizard, click Continue.</li>
  <li>Review the license agreement and click Continue. Click Accept in the pop-up window to accept the license.</li>
  <li>At the Select a Destination page, select the drive and click Continue. </li>
  <li>If you downloaded the All, Java, or Ruby bundle, you can customize your installation. On the last installation wizard panel, press the Customize button in the bottom left-hand side of the panel. The tree of products is displayed.  </li>
  <li>Select the products you want to install</li>
  <li>Enter the administrator's name and password for your system and click OK to begin the installation. <br>
  </li>
</ol>

<p align="center"><a href="#top">top</a></p>
<h2><a name="uninstallation">Uninstalling the Software</a></h2>
<div>
<h3><a name="uninstall_windows">Microsoft Windows</a></h3>
<p>If necessary, you can uninstall the NetBeans IDE, the GlassFish V2 UR2 application server, the GlassFish v3 Prelude application server, and  Apache Tomcat using the following procedures.</p>
<p><b>To uninstall the IDE</b>:</p>
<ol>
  <li>Shut down the IDE.<br>
  </li>

  <li>From the Control Panel, select Add or Remove Programs, then select NetBeans IDE 6.5  and click Remove.</li>
</ol>
<p><b>To uninstall the GlassFish V2 UR2 application server: </b></p>
<ol>
  <li>Shut down the IDE.</li>
  <li>From the Control Panel, select Add or Remove Programs, then select GlassFish V2 UR2 and click Remove.</li>
</ol>
<p><b>To uninstall the GlassFish v3 Prelude application server: </b></p>
<ol>
  <li>Shut down the IDE.</li>
  <li>From the Control Panel, select Add or Remove Programs, then select GlassFish V2 UR2 and click Remove.</li>
</ol>
<p><b>To uninstall Apache Tomcat: </b></p>

<ol>
  <li>Shut down the IDE.</li>
  <li>From the Control Panel, select Add or Remove Programs, then select Apache Tomcat 6.0.16 and click Remove.</li>
</ol>
</div>
<div>
<h3><a name="uninstall_sollinux">Solaris OS, Linux</a></h3>
<p>If necessary, you can uninstall the NetBeans IDE, the GlassFish V2 UR2 application server, the GlassFish v3 Prelude application server, and Apache Tomcat using the following procedures.</p>
<p><b>To uninstall the IDE</b>:</p>

<ol>
  <li>Shut down the IDE.</li>
  <li>In the IDE installation directory, run the <tt>uninstall.sh</tt> file. </li>
  <li>To uninstall GlassFish/Tomcat together with the IDE, at the   Summary page make sure that the correct versions are listed and check   the appropriate checkboxes. </li>
  <li>At the Summary page, click Uninstall. <br>
  </li>
  <li>After uninstallation completes, click Finish.</li>
</ol>
<p><b>To uninstall the GlassFish V2 UR2 or V3 Prelude application server</b>:</p>
<ol>
  <li>Shut down the IDE.</li>
  <li>Locate the application server installation directory.<br>
  <p><b>Note:</b> The default installation location is different depending on the type of installation and the platform. The following table shows the default application server installation directory.</p>

<table>
    <tbody>
        <tr class="tblheader">
            <th width="70">Platform</th>
            <th width="101">Installing As...</th>
            <th width="264"><p>GlassFish V2 UR2 </p>
            <p>Application Server  Installation</p></th>
			<th width="264">GlassFish v3 Prelude Application Server  Installation</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>In the application server installation directory, run the <tt>uninstall.sh</tt> file.</li>

  <li>At the Summary page, click Uninstall. <br>
  </li>
  <li>After uninstallation completes, click Finish.</li>
</ol>
<p class="notes"><b>Note:</b> The GlassFish application server is required for SOA functionality. When you uninstall the application server, the SOA functionality is automatically removed from the NetBeans IDE installation.</p>
<p><b>To uninstall Apache Tomcat: </b></p>
<ol>
  <li>Shut down the IDE.</li>

  <li>Locate the Apache Tomcat installation directory and run the <tt>uninstall.sh</tt> file. <br>
  </li>
  <li>At the Summary page, click Uninstall. </li>
  <li>After uninstallation completes, click Finish</li>
</ol>
</div>
<div>

<h3><a name="uninstall_mac" id="uninstall_mac">Mac OS X</a></h3>
<p><b>To uninstall the IDE and application server:</b></p>
<ol>
  <li>Shut down the software.</li>
  <li>Drag the program folders or files to the Trash.    <br>
  Note that the default location for the IDE and application server is <tt>/Applications/NetBeans/</tt>.  </li>
</ol>

<p>&nbsp; </p>
</div>
<p align="center"><a href="#top">top</a></p>
<h2><a name="upgrading"></a>Upgrading and Coexisting with Previous Versions</h2>
<p>NetBeans IDE 5.5 or 5.5.1, 6.0, or 6.1 can coexist with NetBeans IDE 6.5 on the same system. 
You do not have to uninstall the 5.5 or 5.5.1, 6.0, or 6.1 versions in order to install or run NetBeans IDE 6.5. </p>
<p>If you have NetBeans IDE 5.5, 5.5.1, 6.0, or 6.1 installed you will be able to choose whether or not to import the user settings from  the existing user directory when you run NetBeans IDE 6.5 for the first time.</p>
<p align="center"><a href="#top">top</a></p>
<h2><a name="troubleshooting" id="troubleshooting"></a>Troubleshooting</h2>
<div>
<h3>About the Installer Working Directory</h3>
<p>The installer stores data about installation sessions in the installer working directory. Examples of this data are the list of components installed on your system, installation log messages, and registry data. </p>

<p>The default location for the installer working directory is <tt>%USERPROFILE%\.nbi</tt> on Windows and <tt>~/.nbi</tt> on other platforms. The log subdirectory contains the installation log files. </p>
</div>
<div>
<h3>Cleaning Up After Incomplete Installations</h3>
<p>After incomplete or unsuccessful installations, you might need to clean up your system from previous installations. </p>
<p><b>For Microsoft Windows, Solaris OS, and Linux:</b></p>
<ol>

  <li>Delete the installer working directory.</li>
  <li>Delete the installation directories of the IDE and the GlassFish application server.</li>
  <li>On the Windows platform, delete all <tt>nbi*</tt> registry entries from the following registry keys: <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>For Mac OS X:</b></p>
<ul>
  <li>Drag the program folders or  files to the Trash. </li>
</ul>
</div>
<div>
<h3>Disabling Some Software Before Installation</h3>
<p>It is better to disable firewall, antivirus, and monitoring applications before you start installation. Some of these applications can prevent IDE components from being configured correctly during the installation process. </p>
<p>For example, if you have the Logitech Process Monitor application (<tt>LVPrcSrv.exe</tt>) running on your system, switch it off before installation. </p>

</div>
<p align="center"><a href="#top">top</a></p>
<h2><a name="moreinformation"></a>More Information</h2>
<br>
<ul>
<li><a href="./index.html">NetBeans IDE 6.5 Information</a></li>
<li><a href="https://netbeans.org/downloads/index.html">NetBeans IDE 6.5 Download page</a></li>
<li><a href="./relnotes.html">NetBeans IDE 6.5 Release Notes</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">Send Us Your Feedback</a></div>
<br style="clear:both;">
<p align="center"><a href="#top">top</a></p>
</body>
</html>
