<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html lang="en">
<HEAD>

<meta name="copyright" content="Copyright (c) IBM Corporation and others 2008, 2011. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >

<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="../book.css" CHARSET="ISO-8859-1" TYPE="text/css">
<title>Updating software using the Available Updates wizard</title>
<script language="JavaScript" src="PLUGINS_ROOT/org.eclipse.help/livehelp.js" type="text/javascript"> </script>
</HEAD>

<BODY BGCOLOR="#ffffff">
<H1>Updating software using the Available Updates wizard</H1>
<p>The <b>Available Updates</b> wizard shows you what updates are available for your software.
This wizard is shown if you click the automatic updates notification popup, or if you
check for updates using the <a class="command-link" href='javascript:executeCommand("org.eclipse.equinox.p2.ui.sdk.update")'>
  <img src="PLUGINS_ROOT/org.eclipse.help/command_link.png" alt="command link">
  <b>Help &gt; Check for Updates</b></a> command.  To update your system:
</p>
<ol>
  <li>Review the list of upgrades shown in the wizard.  If you do not wish to accept all
  of the proposed updates, you may check and uncheck different items in the list.</li>
  <li>Click <b>Next</b> to see the detailed list of items that will be upgraded.  Expanding 
  each item will show what additional items (if any) will be upgraded as part of the update.</li>
  <li>If the selected items have license agreements to be reviewed, you must click <b>Next</b>.  
    Carefully review the license agreements for the upgraded items. If the 
    terms of all these licenses are acceptable, check &quot;I accept the terms 
    in the license agreements.&quot; Do not proceed to download the software if 
    the license terms are not acceptable.</li>
  <li>If the license agreements are acceptable, or if the selected items did not have 
  license agreements to review, click <b>Finish</b>.  This will begin the download and
  installation of the updated software.</li>  
  <li><p>Some of the items may be digitally signed by the company that provides them. 
    This allows you to verify more easily that the features and plug-ins 
    that are about to be downloaded and installed are coming from a trusted supplier. You
    may be prompted to verify digitally signed content once the signature is
    detected.</p><br>
    <p><b>Warning:</b> Because of the possibility of harmful or even malicious software, 
    you should only download software from parties that you trust.</p></li>
  <li>Once all of the software is downloaded successfully and the necessary
    files installed into the product on the local computer, you will be prompted
    to restart for the Workbench.  Click <b>Yes</b> 
    when asked to exit and restart the Workbench for the changes to take effect.</li>
</ol><P><img border="0" src="../images/ngrelc.png" alt="Related concepts" ><br>
<a href="../concepts/concepts-25.htm">Features</a>
</P>

<P>
<img border="0" src="../images/ngrelt.png" alt="Related tasks" ><br>
<a href="tasks-122.htm">Scheduling automatic updates</a><br>
<a href="tasks-124.htm">Installing new software</a><br>
<a href="tasks-123.htm">Reverting to a saved configuration</a><br>
</P>

</BODY>
</HTML>
