<!DOCTYPE HTML PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
        <meta name="description" content="NetBeans Mobility Pack for CLDC 5.5.1 Installation Instructions">
        <link rel="stylesheet" type="text/css" href="../../../../netbeans.css">
        <title>NetBeans Mobility Pack for CLDC 5.5.1 Installation Guide</title>
    </head>
    <body> 
        	<a name=top></a> 
            <h1>NetBeans Mobility Pack for CLDC 5.5.1 Installation Guide</h1> 
            <p>The NetBeans Mobilty Pack 5.5.1 can be used to rapidly develop applications for Java Micro Edition (Java ME) platform enabled devices
like pagers, mobile phones, and set-top boxes. It integrates support for the Mobile Information Device Profile (MIDP) 2.0 and the Connected Limited Device Configuration (CLDC) 1.1.</p>
            <p><b>Contents</b></p> 
        <ul> 
            <li> <a href="#prerequisites" title="Prerequisites">Prerequisites</a> </li> 
            <li> <a href="#installation" title="Installing the Software">Installing the Software</a> </li> 
            <li><a href="#emulators">Installing Emulator Platforms</a></li>
            <li> <a href="#uninstallation" title="Uninstalling the Software">Uninstalling the Software</a> </li> 
        </ul> 
		
        <p>&nbsp;</p>
        <h2><a name=prerequisites></a>Prerequisites</h2> 
        <p>Before you can install NetBeans Mobility Pack 5.5.1 you must have the following software packages installed on your computer.</p> 
     <p>&nbsp;</p>
     <p><b>Required Software:</b></p>
     <ul>
        <li><a href="http://java.sun.com/javase/downloads/index.jsp" target="_blank">Java SE Development Kit (JDK) 5.0</a></li>
        <li><a href="http://services.netbeans.org/downloads/index.php" target="_blank">NetBeans IDE 5.5.1</a></li>
    </ul>
     <p>&nbsp;</p>
    <p><b>Note:</b> For information about system requirements for the software included in this bundle, see the <a href="relnotes-mobility.html">NetBeans Mobility Pack for CLDC 5.5.1 Release Notes</a>.</p>
    <p align=center>&nbsp;</p>
    <p align=center><a href="#top">top</a>
      <!-- INSTALLATION ------------------------------------------------------ --> 
    </p>
    <h2><a name=installation></a>Installing the Software</h2> 
        <p>This section contains instructions for installing NetBeans Mobility Pack 5.5.1 on all supported platforms:
    <blockquote> 
        <h3>Windows</h3> 
        <p>Following are instructions for installing NetBeans Mobility Pack 5.5.1 on the Microsoft Windows platform.</p>
        <p><b>To Install:</b></p>
        <ol> 
        <li> When you have downloaded the installer file, <tt>netbeans_mobility-5_5_1-win.exe</tt>, double-click the installer's icon to launch the installer. </li> 
        <li> At the Welcome page of the installation wizard, click Next. </li> 
        <li>Accept the license agreement and click Next. </li> 
        <li> At the installation directory page of the installation wizard, specify the NetBeans IDE 5.5.1 installation.  
        </li> 
        <li>The installation wizard searches for compatible JDK installations. If your JDK is not in the default location, you need to specify the location of your Java JDK 1.5.0 or higher. You can also type the path to another installed JDK or use the Browse button to navigate to and select another installation. </li>
        <li>When installation is complete, click Finish to exit the wizard.</li>
        </ol> 
 
        <!-- INSTALLATION: SOLARIS OS and LINUX ----------------------------------> 
        <h3>&nbsp;</h3>
        <h3>Linux</h3>
        <p>Following are instructions for installing NetBeans Mobility Pack 5.5.1  on the Linux platform.</p> 
        <p><b>To Install:</b></p>
        <ol> 
            <li>
		     Navigate to the directory that contains the Mobility Pack installer file you  downloaded named <tt>netbeans_mobility-5_5_1-linux.bin</tt></li> 
            <li> If necessary, change the permissions on the installer file to make the binary executable by using the command shown below at a command prompt.
                
                <tt>$&nbsp;chmod&nbsp;+x&nbsp;netbeans_mobility-5_5_1-linux.bin</tt>
                 
            </li> 
            <li> Launch the installer by using the command shown below at a command prompt.  
                 
                <tt>$&nbsp;./netbeans_mobility-5_5_1-linux.bin</tt> 
                 
            </li> 
            <li> At the Welcome page of the installation wizard, click Next.  
            </li> 
            <li> Accept the license agreement and click Next.  
            </li> 
            <li> At the Installation Directory page of the installation wizard, accept the NetBeans IDE directory found by the wizard or select a different IDE installation directory you prefer.  
          </li> 
            <li> Verify that the installation location is correct and that you have enough free disk space on your system to complete the installation.  
            </li> 
            <li> Click Install to begin the installation.  
            </li> 
            <li> When the installation is complete, click Finish to exit the wizard. </li> 
        </ol> 
    </blockquote> 
        <p align=center>&nbsp;</p>
        <p align=center><a href="#top">top</a></p>
	    <h2><a name=emulators></a>Installing Emulator Platforms</h2> 
          <blockquote>
		    <h3>Adding a new Emulator Platform</h3>
	        <ol>
              <li>Choose Tools &gt; Java Platform Manager from the main toolbar.</li>
              <li>In the Java Platform Manager dialog, click the Add Platform button. </li>
              <li>In the Select Platform Type page, choose the Java Micro Edition Platform Emulator. Click Next. </li>
              <li>In the Platforms Folders page, the IDE searches for all installed and available  Java ME platforms and lists them in the window. Unified Emulator Interface (UEI) compliant platforms are verified and appear with a check in the check box next to the platform name. Platforms that are not UEI-compliant are listed in red. The wizard also identifies which platforms have already been installed.</li>
              <p> <strong>NOTE:</strong> To install platforms that are not UEI-compliant, click the Back button and choose Custom Java Micro Edition Platform Emulator.</li>
              <li>In the Platforms page,  check the platform emulators you want to install. Click Finish. Then click Close. The selected platform or platforms are installed.</li>
            </ol>
	</blockquote>
			<blockquote>
       <h3>&nbsp;</h3>
       <h3>Available CLDC/MIDP platform emulators</h3>
       <p>Here are a few of the most popular CLDC device emulator platforms available that can be used  with the NetBeans Mobility Pack. Remember that you must first install the emulator before you can register the platform in the IDE. For support and installation instructions please refer to the information included with the software or visit the vendor's web site. </p>
       <ul>
              <li>Nokia Series 40 SDKs for Symbian OS (<a href="http://www.forum.nokia.com/info/sw.nokia.com/id/cc48f9a1-f5cf-447b-bdba-c4d41b3d05ce/Series_40_Platform_SDKs.html">download</a>)</li>
              <li>Nokia Series 60 SDKs for Symbian OS (<a href="http://www.forum.nokia.com/info/sw.nokia.com/id/6e772b17-604b-4081-999c-31f1f0dc2dbb/S60_Platform_SDKs_for_Symbian_OS_for_Java.html">download</a>)</li>
              <li>Sony Ericsson SDK 2.2.4 for the Java ME platform (<a href="http://developer.sonyericsson.com/site/global/docstools/java/p_java.jsp">download</a>)</li>
              <li> Motorola Java ME SDK v6.4 for Motorola OS Products (<a href="http://developer.motorola.com/docstools/sdks/motorola64/">download</a>)</li>
    </ul>
	</blockquote>
	        <p align=center>&nbsp;</p>
	        <p align=center><a href="#top">top</a></p>
	        <h2><a name=uninstallation></a>Uninstalling the Software</h2> 
        <p>If you installed the bundled Application Server, the uninstallation removes NetBeans Mobility Pack 5.5.1  
            from your system.
    <blockquote> 
<h3>Windows</h3>
<p><b>To uninstall the Software</b></p> 
            <ol> 
            <li> 
			Shut down the IDE.
            </li> 
            <li> 
			From the Control Panel, start Add or Remove Programs, select NetBeans(TM) Mobility Pack
			 and click Change/Remove.
            </li> 
            <li> 
			Follow the instructions in the uninstaller.
            </li> 
            </ol> 
            <!-- UNINSTALLATION: SOLARIS and LINUX -----------------------------------> 
    <h3>Linux</h3>
            <p><b>To uninstall the Software</b></p> 
            <ol> 
            <li>
			 Shut down the IDE. 
            </li> 
            <li>
			 Navigate to the <tt>bin</tt> subdirectory of your NetBeans Mobility Pack 5.5.1 installation directory.
            </li> 
            <li> 
			Execute the <tt>uninstall.sh</tt> script. 
            </li> 
            </ol> 
    </blockquote>
	        <p align=center><a href="#top">top</a></p> 
    </body>
</html>
