<HTML>
<HEAD>
<TITLE>NetBeans IDE Installation Guide</TITLE>
<META NAME="description" CONTENT="A guide to installing the NetBeans IDE on various OSs">
<link rel="stylesheet" type="text/css" HREF="../../../netbeans.css">
<META NAME="AUDIENCE" CONTENT="NBUSER">
<META NAME="TYPE" CONTENT="ARTICLE">
<META NAME="TOPIC" CONTENT="GENERAL">
</HEAD>

<BODY>

<h1>NetBeans<sup><small>TM</small></sup> IDE 3.6 Installation Guide</h1>


<P><B>Installation details for:</B></P>

<UL>
<LI><A HREF="#windows">Windows</A></LI>
<LI><A HREF="#unix">Solaris&trade; Operating System (Solaris OS) and Linux Platforms</A></LI>
<LI><A HREF="#macintosh">Macintosh OS X</A></LI>
<LI><A HREF="#other">Other Operating Systems</A></LI>
</UL>

<p><b><a href="#jdk15">Installing on beta versions of Java&trade; 2 Software Development Kit (J2SDK), v. 1.5</a></b></p>


<P>For other information, such as system requirements and launching the IDE with different startup parameters, see the 
<A HREF="relnotes.html">Release Notes</A>.


<CENTER><HR WIDTH="50%" NOSHADE SIZE="1"></CENTER>

<h2><A NAME="windows">Windows</A></h2>

<p>On Microsoft Windows platforms, you can pick from one of the following downloads:</p>
<ul><li>Self-extracting installer</li>
    <li>Archive distribution</li>
</ul>    

<blockquote>
<p><b>Using the Windows Installer</b></p>

<p>Once you have downloaded the installer 
file, double-click 
the file to start the installation wizard. The installer enables you to specify:
<ul><li>the Java&trade; 2 Software Development Kit to run 
the IDE on.</li>
<li>which directory to install NetBeans IDE into.</li>
<li>whether to associate <tt>.java</tt> and <tt>.nbm</tt> (NetBeans module files) 
with the IDE.</li></ul>

<p>To launch NetBeans IDE, do one of the following:</p> 
<ul><li>Double-click the NetBeans IDE icon on your desktop.</li>
<li>Select NetBeans IDE | NetBeans IDE 3.6 | NetBeans IDE from the Start menu.</LI>
</ul>

<p><b>Using Archive Installations on Windows Machines</b></p>

<p>While the installer described
above is the preferred method of installation on Microsoft Windows machines, you can also
install NetBeans IDE using a <tt>tar.gz</tt> or <tt>zip</tt> file.  Common archive utilities like Winzip
can work with both of these file types. </p>
<p>To install NetBeans IDE:</p>
<ol><li>Locate the archive
that you have downloaded and double-click it to open your archive file tool.</li>
<li>Using your archive tool, extract all files to an empty directory, such as 
<tt>C:\NetBeans IDE 3.6</tt>.</li>
</ol>

<p>To launch NetBeans IDE:</p>
<ol><li>Navigate to the <tt>bin</tt> subdirectory of your
NetBeans IDE installation.</li>
  <li>Double-click <tt>runide.exe</tt> to start NetBeans IDE.</li></ol>

</ul>
</blockquote>

<h2><A NAME="unix">Solaris&trade; Operating System (Solaris OS) and Linux Platforms</A></h2>

<p>On the Solaris and Linux platforms, you can pick from one of the following downloads:</p>
<ul><li>Binary installer</li>
    <li>Archive distribution</li>
</ul>    

<blockquote>
<p><b>Using the Solaris and Linux Installers</b></p>

<p>To install NetBeans IDE:</p>

<ol>
<li>From a command prompt, navigate to the directory that contains the installer.</li>
<li>If necessary, change the permissions to make the binary executable by typing

<BLOCKQUOTE>
<CODE>
$ chmod +x <i>NetBeans.bin</i>
</CODE>
<p>(replacing <i>NetBeans.bin</i> with the actual filename of the distribution that you downloaded).</p>
</BLOCKQUOTE></li>

<li>Start the installer by typing
<BLOCKQUOTE>
<CODE>$ ./<i>NetBeans.bin</i>
</CODE>
<p>(replacing <i>NetBeans.bin</i> with the actual filename of the distribution that you downloaded).</p>
</li></ol>

<P>The installer will search for any installed J2SDKs and
prompt you for which NetBeans IDE should use. You can specify a J2SDK at 
the command line, which might speed the installation process. For example:

<BLOCKQUOTE>
<CODE>
$ ./<i>NetBeans.bin</i> -is:javahome <i>path_to_your_jdk</i>
</CODE>
</BLOCKQUOTE>

<p><b>Using Archive Installations on UNIX&reg; platforms</b></p>

<p>To install NetBeans IDE:, use the appropriate tools on
your platform to untar or unzip the archive distribution to a clean
directory.  For example, type the following from a command prompt:</p>

<BLOCKQUOTE>
<CODE>
$ gzip -d <i>NetBeans.tar.gz</i>
<BR>$ tar xf <i>NetBeans.tar</i>
</CODE>
</BLOCKQUOTE>
<p>(replacing <i>NetBeans.tar.gz</i> and <i>NetBeans.tar</i> with the actual file names).</p>
</li></ul>

<P><I><b>Note</b>: Solaris users should use GNU tar for <tt>tar.gz</tt> files to ensure 
that the whole archive is unpacked.</I></p>

<P>To launch NetBeans IDE, change directories to the <tt>bin</tt> subdirectory of your installation 
and execute the <tt>runide.sh</tt> launcher script.</p>

</blockquote>

<h2><A NAME="macintosh">Macintosh OS X</a></h2>

<p>On the Macintosh OS X platform, you can pick from one of the following downloads:</p>
<ul><li>Disk image format (<tt>.dmg</tt>) file</li>
    <li>Archive distribution</li>
</ul>   
 
<p><i><b>Note</b>: Mac OS users should use the <tt>.dmg</tt> file, which has a patch 
to fix the problem that is cited in <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=39780">issue 39780</a>. 
 If you install an archive distribution of the IDE on Mac OS, you could have problems properly shutting 
down the IDE.</i></p>

<blockquote>
<p><b>Using the disk image format (<tt>.dmg</tt>) file</b></p>

<p>Once you have downloaded the image file, double-click 
the file to mount the file in your system.</p>
    
<P>To launch NetBeans IDE, run the NetBeansLauncher application.</p>

<p><b>Using Archive Installations on the Mac OS platform</b></p>

<p>To install NetBeans IDE:</p>

<ul><li>Open the Terminal application and change directories 
to where you would like to install the IDE.  On the command line type:

<P><BLOCKQUOTE>
<CODE>
gnutar -xvzf <i>netbeans.tar.gz</i>
</CODE>
</BLOCKQUOTE>

<p>(replacing <i>NetBeans.tar.gz</i> with the actual filename of the distribution that you downloaded).</p></li></ul>


<P>To launch NetBeans IDE, change directories to the <tt>bin</tt> subdirectory of your installation 
and execute the <tt>runide.sh</tt> launcher script.</p>
</blockquote>

<h2><A NAME="other">Other Operating Systems</A></h2>

<blockquote>
<p><b>Using Archive Installations</B></p>
Unpack your archive using the utilities appropriate for your system.

<P>To launch NetBeans IDE, navigate to the <tt>bin</tt> subdirectory of your
NetBeans IDE installation and execute the launcher that is appropriate for your system. 
The following launchers are available:</p>

<BLOCKQUOTE>
<tt>runide.exe</tt> - Windows
<BR><tt>runidew.exe</tt> - Windows (no console window)
<BR><tt>runide.sh</tt> - UNIX
<BR><tt>runideos2.cmd</tt> - OS/2
<BR><tt>runideopenvms.com</tt> - OpenVMS
</BLOCKQUOTE>

    <P>If there is no launcher for your specific operating system, you might need to
      try to create one by modifying whatever script is most appropriate. If your
      machine supports JDK 1.4 or greater, you should be able to run the IDE.
      <p><I><b>Note</b>: If you create a launcher, you could <A HREF="https://netbeans.org/community/contribute/index.html">contribute
      it</A> to the project.</I>
</blockquote>

<h2><A NAME="jdk15">Installing on beta versions of Java&trade; 2 Software Development Kit (J2SDK), v. 1.5</A></h2>
<blockquote>
You can run the IDE on betas of J2SDK v. 1.5, but the installer will not run if that is the only J2SDK that you have on 
your system. You must also have J2SDK v. 1.4.1 or compatible installed to run the installer. Once the installer is 
running, you can specify that the IDE should run on J2SDK v. 1.5 beta.
</blockquote>


</BODY>
</HTML>
