    <h3>Install via p2 repository</h3>
     <p>
     For a detailed step-by-step description of how to install OSGi Remote Services into Eclipse 
     see <a href="http://wiki.eclipse.org/Installing_OSGi_Remote_Services#Install_into_Eclipse">Installing Into Eclipse</a>.  For a 
     step-by-step description of how to add OSGi Remote Services into your <b>Target Platform</b> see 
     <a href="http://wiki.eclipse.org/Installing_OSGi_Remote_Services">Add to Target Platform</a>.
     <p>
      <ul>
       <li>In Eclipse, choose <b>Help -> Install New Software...</b></li>
       <li>Click on the <b>Add</b> button on the right. </li>
       <li>Type in a Name in the textbox. For example, type: <b>ECF 3.13.2</b>.</li>
       
       <li>Paste the following URL into the Location field. <br><br>
       <b>http://download.eclipse.org/rt/ecf/3.13.2/site.p2</b><br><br></li>
       <li> Click OK. </li>
       
       <li>Select the first <b>two</b> check boxes for install into Eclipse..i.e.
       <b>ECF Remote Services/Remote Service Admin SDK</b> and the <b>ECF SDK for Eclipse</b>.
       To explain:  The ECF repository has three top-level items for install:  </li>
       <ol>
       <li><b>ECF OSGi Remote Services SDK</b></li>
       <li><b>ECF SDK for Eclipse</b></li>
       <li><b>Uncategorized</b></li>
       </ol>
       <p>
       <li>Follow through the remaining dialogs to complete the installation.</li>
      </ul>
     <p>
     To uninstall ECF SDK
     <ul>
     <li>Choose <b>Help -> Install New Software...</b></li>
     <li>Click on <b>already installed</b> (lower part of install manager dialog)</li>
     <li>Click on <b>Installed Software tab</b></li>
     <li>Click on <b>ECF SDK</b></li>
     <li>Click on <b>Uninstall ...</b></li>
     </ul>
     </p>
     <h3>Install via Maven Repository</h3>
     <p>
       ECF also generates a Maven repository and makes it available as a version-specific sub-directory on the ECF builder
        <ul>
        <li><b>http://build.ecf-project.org/maven/&lt;version&gt;/</b></li>
        </ul>
        For example, here is the Maven repo for ECF 3.13.2
        <ul>
        <li><b><a href="http://build.ecf-project.org/maven/3.13.2/">http://build.ecf-project.org/maven/3.13.1/</a></b></li>
        </ul>
        For support with respect to use of the Maven repo, please join the <a href="https://dev.eclipse.org/mailman/listinfo/ecf-dev">ecf-dev mailing list</a>.
     </p>
     
     
     
         