[476372] User products in advanced mode

https://bugs.eclipse.org/bugs/show_bug.cgi?id=476372
diff --git a/plugins/org.eclipse.oomph.setup.installer/src/org/eclipse/oomph/setup/internal/installer/ProductCatalogGenerator.java b/plugins/org.eclipse.oomph.setup.installer/src/org/eclipse/oomph/setup/internal/installer/ProductCatalogGenerator.java
index d89d6f7..ae2b8a4 100644
--- a/plugins/org.eclipse.oomph.setup.installer/src/org/eclipse/oomph/setup/internal/installer/ProductCatalogGenerator.java
+++ b/plugins/org.eclipse.oomph.setup.installer/src/org/eclipse/oomph/setup/internal/installer/ProductCatalogGenerator.java
@@ -322,6 +322,8 @@
         releaseURI = trimEmptyTrailingSegment(releaseMetaDataRepository.getLocation());
         System.out.println(" -> " + releaseURI);
 
+        Set<String> requirements = new HashSet<String>();
+
         for (IInstallableUnit iu : P2Util.asIterable(eppMetaDataRepository.query(QueryUtil.createLatestIUQuery(), null)))
         {
           String fragment = iu.getProperty("org.eclipse.equinox.p2.type.fragment");
@@ -333,7 +335,9 @@
           String label = iu.getProperty("org.eclipse.equinox.p2.name");
           if (label == null || label.startsWith("%") || label.equals("Uncategorized"))
           {
-            continue;
+            // Ensure that this is removed later,
+            // but that the requirements are still processed for filtering roots.
+            requirements.add(iu.getId());
           }
 
           String id = iu.getId();
@@ -350,7 +354,6 @@
           }
         }
 
-        Set<String> requirements = new HashSet<String>();
         for (IInstallableUnit iu : ius.values())
         {
           for (IRequirement requirement : iu.getRequirements())
@@ -366,10 +369,7 @@
           }
         }
 
-        for (String requirement : requirements)
-        {
-          ius.remove(requirement);
-        }
+        ius.keySet().removeAll(requirements);
 
         for (IInstallableUnit iu : P2Util
             .asIterable(releaseMetaDataRepository.query(QueryUtil.createLatestQuery(QueryUtil.createIUQuery("org.eclipse.platform.ide")), null)))
diff --git a/setups/org.eclipse.products.setup b/setups/org.eclipse.products.setup
index d346de9..4ad2c27 100644
--- a/setups/org.eclipse.products.setup
+++ b/setups/org.eclipse.products.setup
@@ -2575,41 +2575,6 @@
     </version>
     <description>This package contains the absolute minimal IDE, suitable only as a base for installing other tools.</description>
   </product>
-  <product name="org.eclipse.epp.logging.aeri.ide"
-      label="Eclipse Aeri">
-    <version
-        name="latest"
-        label="Latest (Neon)"
-        requiredJavaVersion="1.7">
-      <setupTask
-          xsi:type="setup.p2:P2Task"
-          label="Eclipse Aeri (Neon)">
-        <requirement
-            name="org.eclipse.epp.logging.aeri.ide"
-            versionRange="[1.0.0,2.0.0)"/>
-        <repository
-            url="http://download.eclipse.org/technology/epp/packages/neon/M1"/>
-        <repository
-            url="http://download.eclipse.org/releases/neon/201508211000"/>
-      </setupTask>
-    </version>
-    <version
-        name="neon"
-        label="Neon"
-        requiredJavaVersion="1.7">
-      <setupTask
-          xsi:type="setup.p2:P2Task"
-          label="Eclipse Aeri (Neon)">
-        <requirement
-            name="org.eclipse.epp.logging.aeri.ide"
-            versionRange="[1.0.0,1.1.0)"/>
-        <repository
-            url="http://download.eclipse.org/technology/epp/packages/neon/M1"/>
-        <repository
-            url="http://download.eclipse.org/releases/neon/201508211000"/>
-      </setupTask>
-    </version>
-  </product>
   <product name="epp.package.standard"
       label="Eclipse Standard">
     <version