Index: /trunk/sources/HeuristicLab.PluginInfrastructure/Advanced/InstallationManagerForm.Designer.cs
===================================================================
--- /trunk/sources/HeuristicLab.PluginInfrastructure/Advanced/InstallationManagerForm.Designer.cs	(revision 3607)
+++ /trunk/sources/HeuristicLab.PluginInfrastructure/Advanced/InstallationManagerForm.Designer.cs	(revision 3608)
@@ -181,5 +181,4 @@
       // remotePluginInstaller
       // 
-      this.remotePluginInstaller.AllPlugins = new HeuristicLab.PluginInfrastructure.IPluginDescription[0];
       this.remotePluginInstaller.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
                   | System.Windows.Forms.AnchorStyles.Left)
@@ -188,8 +187,5 @@
       this.remotePluginInstaller.Location = new System.Drawing.Point(6, 6);
       this.remotePluginInstaller.Name = "remotePluginInstaller";
-      this.remotePluginInstaller.NewPlugins = new HeuristicLab.PluginInfrastructure.IPluginDescription[0];
       this.remotePluginInstaller.PluginManager = null;
-      this.remotePluginInstaller.Products = new HeuristicLab.PluginInfrastructure.Advanced.DeploymentService.ProductDescription[0];
-      this.remotePluginInstaller.ShowAllPlugins = false;
       this.remotePluginInstaller.Size = new System.Drawing.Size(578, 354);
       this.remotePluginInstaller.StatusView = null;
Index: /trunk/sources/HeuristicLab.PluginInfrastructure/Advanced/LocalPluginsView.Designer.cs
===================================================================
--- /trunk/sources/HeuristicLab.PluginInfrastructure/Advanced/LocalPluginsView.Designer.cs	(revision 3607)
+++ /trunk/sources/HeuristicLab.PluginInfrastructure/Advanced/LocalPluginsView.Designer.cs	(revision 3608)
@@ -55,4 +55,5 @@
       this.descriptionHeader = new System.Windows.Forms.ColumnHeader();
       this.toolTip = new System.Windows.Forms.ToolTip(this.components);
+      this.pluginImageList = new System.Windows.Forms.ImageList(this.components);
       this.SuspendLayout();
       // 
@@ -107,4 +108,5 @@
       this.localPluginsListView.Name = "localPluginsListView";
       this.localPluginsListView.Size = new System.Drawing.Size(539, 477);
+      this.localPluginsListView.SmallImageList = this.pluginImageList;
       this.localPluginsListView.SuppressItemCheckedEvents = false;
       this.localPluginsListView.TabIndex = 13;
@@ -128,4 +130,10 @@
       this.descriptionHeader.Text = "Description";
       this.descriptionHeader.Width = 245;
+      // 
+      // pluginImageList
+      // 
+      this.pluginImageList.ColorDepth = System.Windows.Forms.ColorDepth.Depth8Bit;
+      this.pluginImageList.ImageSize = new System.Drawing.Size(16, 16);
+      this.pluginImageList.TransparentColor = System.Drawing.Color.Transparent;
       // 
       // LocalPluginsView
@@ -151,4 +159,5 @@
     private System.Windows.Forms.ColumnHeader descriptionHeader;
     private System.Windows.Forms.ToolTip toolTip;
+    private System.Windows.Forms.ImageList pluginImageList;
     // private LocalPluginManagerView localPluginManagerView;
   }
Index: /trunk/sources/HeuristicLab.PluginInfrastructure/Advanced/LocalPluginsView.cs
===================================================================
--- /trunk/sources/HeuristicLab.PluginInfrastructure/Advanced/LocalPluginsView.cs	(revision 3607)
+++ /trunk/sources/HeuristicLab.PluginInfrastructure/Advanced/LocalPluginsView.cs	(revision 3608)
@@ -63,5 +63,5 @@
       enabledPluginsGroup = localPluginsListView.Groups["activePluginsGroup"];
       disabledPluginsGroup = localPluginsListView.Groups["disabledPluginsGroup"];
-
+      pluginImageList.Images.Add(HeuristicLab.PluginInfrastructure.Resources.Resources.plugin_16);
       removePluginsBackgroundWorker = new BackgroundWorker();
       removePluginsBackgroundWorker.DoWork += new DoWorkEventHandler(removePluginsBackgroundWorker_DoWork);
@@ -171,4 +171,5 @@
       ListViewItem item = new ListViewItem(new string[] { plugin.Name, plugin.Version.ToString(), plugin.Description });
       item.Tag = plugin;
+      item.ImageIndex = 0;
       return item;
     }
Index: /trunk/sources/HeuristicLab.PluginInfrastructure/Advanced/LocalPluginsView.resx
===================================================================
--- /trunk/sources/HeuristicLab.PluginInfrastructure/Advanced/LocalPluginsView.resx	(revision 3607)
+++ /trunk/sources/HeuristicLab.PluginInfrastructure/Advanced/LocalPluginsView.resx	(revision 3608)
@@ -121,3 +121,6 @@
     <value>17, 17</value>
   </metadata>
+  <metadata name="pluginImageList.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>107, 17</value>
+  </metadata>
 </root>
Index: /trunk/sources/HeuristicLab.PluginInfrastructure/Advanced/PluginEditor.Designer.cs
===================================================================
--- /trunk/sources/HeuristicLab.PluginInfrastructure/Advanced/PluginEditor.Designer.cs	(revision 3607)
+++ /trunk/sources/HeuristicLab.PluginInfrastructure/Advanced/PluginEditor.Designer.cs	(revision 3608)
@@ -54,4 +54,5 @@
       this.descriptionHeader = new System.Windows.Forms.ColumnHeader();
       this.toolTip = new System.Windows.Forms.ToolTip(this.components);
+      this.pluginImageList = new System.Windows.Forms.ImageList(this.components);
       this.SuspendLayout();
       // 
@@ -99,4 +100,5 @@
       this.listView.Name = "listView";
       this.listView.Size = new System.Drawing.Size(539, 476);
+      this.listView.SmallImageList = this.pluginImageList;
       this.listView.SuppressItemCheckedEvents = false;
       this.listView.TabIndex = 8;
@@ -126,4 +128,10 @@
       this.descriptionHeader.Width = 335;
       // 
+      // pluginImageList
+      // 
+      this.pluginImageList.ColorDepth = System.Windows.Forms.ColorDepth.Depth8Bit;
+      this.pluginImageList.ImageSize = new System.Drawing.Size(16, 16);
+      this.pluginImageList.TransparentColor = System.Drawing.Color.Transparent;
+      // 
       // PluginEditor
       // 
@@ -149,4 +157,5 @@
     private System.Windows.Forms.ColumnHeader descriptionHeader;
     private System.Windows.Forms.ToolTip toolTip;
+    private System.Windows.Forms.ImageList pluginImageList;
   }
 }
Index: /trunk/sources/HeuristicLab.PluginInfrastructure/Advanced/PluginEditor.cs
===================================================================
--- /trunk/sources/HeuristicLab.PluginInfrastructure/Advanced/PluginEditor.cs	(revision 3607)
+++ /trunk/sources/HeuristicLab.PluginInfrastructure/Advanced/PluginEditor.cs	(revision 3608)
@@ -42,14 +42,10 @@
     public PluginManager PluginManager {
       get { return pluginManager; }
-      set {
-        // if (value == null) throw new ArgumentNullException();
-        pluginManager = value;
-      }
+      set { pluginManager = value; }
     }
 
     public PluginEditor() {
       InitializeComponent();
-      // Caption = "Upload Plugins";
-
+      pluginImageList.Images.Add(HeuristicLab.PluginInfrastructure.Resources.Resources.plugin_16);
       localAndServerPlugins = new Dictionary<IPluginDescription, IPluginDescription>();
 
@@ -262,4 +258,5 @@
       }
       item.Tag = plugin;
+      item.ImageIndex = 0;
       item.Checked = false;
       return item;
Index: /trunk/sources/HeuristicLab.PluginInfrastructure/Advanced/PluginEditor.resx
===================================================================
--- /trunk/sources/HeuristicLab.PluginInfrastructure/Advanced/PluginEditor.resx	(revision 3607)
+++ /trunk/sources/HeuristicLab.PluginInfrastructure/Advanced/PluginEditor.resx	(revision 3608)
@@ -121,3 +121,6 @@
     <value>17, 17</value>
   </metadata>
+  <metadata name="pluginImageList.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>107, 17</value>
+  </metadata>
 </root>
Index: /trunk/sources/HeuristicLab.PluginInfrastructure/Advanced/PluginView.cs
===================================================================
--- /trunk/sources/HeuristicLab.PluginInfrastructure/Advanced/PluginView.cs	(revision 3607)
+++ /trunk/sources/HeuristicLab.PluginInfrastructure/Advanced/PluginView.cs	(revision 3608)
@@ -55,5 +55,5 @@
 
     private void PopulateImageList() {
-      pluginsImageList.Images.Add(IMAGE_KEY_PLUGIN, HeuristicLab.PluginInfrastructure.Resources.Resources.Install);
+      pluginsImageList.Images.Add(IMAGE_KEY_PLUGIN, HeuristicLab.PluginInfrastructure.Resources.Resources.plugin_16);
       filesImageList.Images.Add(IMAGE_KEY_ASSEMBLY, HeuristicLab.PluginInfrastructure.Resources.Resources.Assembly);
       filesImageList.Images.Add(IMAGE_KEY_FILE, HeuristicLab.PluginInfrastructure.Resources.Resources.File);
Index: /trunk/sources/HeuristicLab.PluginInfrastructure/Advanced/ProductEditor.cs
===================================================================
--- /trunk/sources/HeuristicLab.PluginInfrastructure/Advanced/ProductEditor.cs	(revision 3607)
+++ /trunk/sources/HeuristicLab.PluginInfrastructure/Advanced/ProductEditor.cs	(revision 3608)
@@ -42,7 +42,7 @@
       InitializeComponent();
 
-      productImageList.Images.Add(HeuristicLab.PluginInfrastructure.Resources.Resources.Assembly);
+      productImageList.Images.Add(HeuristicLab.PluginInfrastructure.Resources.Resources.Setup_Install);
       productImageList.Images.Add(HeuristicLab.PluginInfrastructure.Resources.Resources.ArrowUp);
-      pluginImageList.Images.Add(HeuristicLab.PluginInfrastructure.Resources.Resources.Assembly);
+      pluginImageList.Images.Add(HeuristicLab.PluginInfrastructure.Resources.Resources.plugin_16);
 
       dirtyProducts = new HashSet<DeploymentService.ProductDescription>();
Index: /trunk/sources/HeuristicLab.PluginInfrastructure/Advanced/RemotePluginInstaller.Designer.cs
===================================================================
--- /trunk/sources/HeuristicLab.PluginInfrastructure/Advanced/RemotePluginInstaller.Designer.cs	(revision 3607)
+++ /trunk/sources/HeuristicLab.PluginInfrastructure/Advanced/RemotePluginInstaller.Designer.cs	(revision 3608)
@@ -44,43 +44,51 @@
     /// </summary>
     private void InitializeComponent() {
-      System.Windows.Forms.ListViewGroup listViewGroup1 = new System.Windows.Forms.ListViewGroup("Products", System.Windows.Forms.HorizontalAlignment.Left);
-      System.Windows.Forms.ListViewGroup listViewGroup2 = new System.Windows.Forms.ListViewGroup("New Plugins", System.Windows.Forms.HorizontalAlignment.Left);
-      System.Windows.Forms.ListViewGroup listViewGroup3 = new System.Windows.Forms.ListViewGroup("All Plugins", System.Windows.Forms.HorizontalAlignment.Left);
-      this.remotePluginsListView = new HeuristicLab.PluginInfrastructure.Advanced.MultiSelectListView();
+      this.components = new System.ComponentModel.Container();
+      this.pluginsListView = new HeuristicLab.PluginInfrastructure.Advanced.MultiSelectListView();
       this.nameHeader = new System.Windows.Forms.ColumnHeader();
       this.versionHeader = new System.Windows.Forms.ColumnHeader();
       this.descriptionHeader = new System.Windows.Forms.ColumnHeader();
+      this.pluginsImageList = new System.Windows.Forms.ImageList(this.components);
       this.refreshButton = new System.Windows.Forms.Button();
-      this.installButton = new System.Windows.Forms.Button();
+      this.installPluginsButton = new System.Windows.Forms.Button();
+      this.productsListView = new System.Windows.Forms.ListView();
+      this.productNameHeader = new System.Windows.Forms.ColumnHeader();
+      this.productVersionHeader = new System.Windows.Forms.ColumnHeader();
+      this.productLargeImageList = new System.Windows.Forms.ImageList(this.components);
+      this.productImageList = new System.Windows.Forms.ImageList(this.components);
+      this.productsGroupBox = new System.Windows.Forms.GroupBox();
+      this.showDetailsButton = new System.Windows.Forms.RadioButton();
+      this.showLargeIconsButton = new System.Windows.Forms.RadioButton();
+      this.installProductsButton = new System.Windows.Forms.Button();
+      this.pluginsGroupBox = new System.Windows.Forms.GroupBox();
+      this.splitContainer = new System.Windows.Forms.SplitContainer();
+      this.toolTip = new System.Windows.Forms.ToolTip(this.components);
+      this.productsGroupBox.SuspendLayout();
+      this.pluginsGroupBox.SuspendLayout();
+      this.splitContainer.Panel1.SuspendLayout();
+      this.splitContainer.Panel2.SuspendLayout();
+      this.splitContainer.SuspendLayout();
       this.SuspendLayout();
       // 
-      // remotePluginsListView
-      // 
-      this.remotePluginsListView.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
-                  | System.Windows.Forms.AnchorStyles.Left)
-                  | System.Windows.Forms.AnchorStyles.Right)));
-      this.remotePluginsListView.CheckBoxes = true;
-      this.remotePluginsListView.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
+      // pluginsListView
+      // 
+      this.pluginsListView.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+                  | System.Windows.Forms.AnchorStyles.Left)
+                  | System.Windows.Forms.AnchorStyles.Right)));
+      this.pluginsListView.CheckBoxes = true;
+      this.pluginsListView.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
             this.nameHeader,
             this.versionHeader,
             this.descriptionHeader});
-      listViewGroup1.Header = "Products";
-      listViewGroup1.Name = "productsGroup";
-      listViewGroup2.Header = "New Plugins";
-      listViewGroup2.Name = "newPluginsGroup";
-      listViewGroup3.Header = "All Plugins";
-      listViewGroup3.Name = "allPluginsGroup";
-      this.remotePluginsListView.Groups.AddRange(new System.Windows.Forms.ListViewGroup[] {
-            listViewGroup1,
-            listViewGroup2,
-            listViewGroup3});
-      this.remotePluginsListView.Location = new System.Drawing.Point(0, 0);
-      this.remotePluginsListView.Name = "remotePluginsListView";
-      this.remotePluginsListView.Size = new System.Drawing.Size(533, 527);
-      this.remotePluginsListView.SuppressItemCheckedEvents = false;
-      this.remotePluginsListView.TabIndex = 0;
-      this.remotePluginsListView.UseCompatibleStateImageBehavior = false;
-      this.remotePluginsListView.View = System.Windows.Forms.View.Details;
-      this.remotePluginsListView.ItemChecked += new System.Windows.Forms.ItemCheckedEventHandler(this.remotePluginsListView_ItemChecked);
+      this.pluginsListView.Location = new System.Drawing.Point(6, 19);
+      this.pluginsListView.Name = "pluginsListView";
+      this.pluginsListView.ShowGroups = false;
+      this.pluginsListView.Size = new System.Drawing.Size(259, 496);
+      this.pluginsListView.SmallImageList = this.pluginsImageList;
+      this.pluginsListView.SuppressItemCheckedEvents = false;
+      this.pluginsListView.TabIndex = 0;
+      this.pluginsListView.UseCompatibleStateImageBehavior = false;
+      this.pluginsListView.View = System.Windows.Forms.View.Details;
+      this.pluginsListView.ItemChecked += new System.Windows.Forms.ItemCheckedEventHandler(this.remotePluginsListView_ItemChecked);
       // 
       // nameHeader
@@ -99,9 +107,14 @@
       this.descriptionHeader.Width = 250;
       // 
+      // pluginsImageList
+      // 
+      this.pluginsImageList.ColorDepth = System.Windows.Forms.ColorDepth.Depth8Bit;
+      this.pluginsImageList.ImageSize = new System.Drawing.Size(16, 16);
+      this.pluginsImageList.TransparentColor = System.Drawing.Color.Transparent;
+      // 
       // refreshButton
       // 
-      this.refreshButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
       this.refreshButton.Image = global::HeuristicLab.PluginInfrastructure.Properties.Resources.VS2008ImageLibrary_Objects_Internet;
-      this.refreshButton.Location = new System.Drawing.Point(0, 533);
+      this.refreshButton.Location = new System.Drawing.Point(6, 19);
       this.refreshButton.Name = "refreshButton";
       this.refreshButton.Size = new System.Drawing.Size(72, 25);
@@ -109,20 +122,156 @@
       this.refreshButton.Text = "Refresh";
       this.refreshButton.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText;
+      this.toolTip.SetToolTip(this.refreshButton, "Refresh available products from HeuristicLab deployment service");
       this.refreshButton.UseVisualStyleBackColor = true;
       this.refreshButton.Click += new System.EventHandler(this.refreshRemoteButton_Click);
       // 
-      // installButton
-      // 
-      this.installButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
-      this.installButton.Enabled = false;
-      this.installButton.Image = global::HeuristicLab.PluginInfrastructure.Properties.Resources.VS2008ImageLibrary_Objects_Install;
-      this.installButton.Location = new System.Drawing.Point(78, 533);
-      this.installButton.Name = "installButton";
-      this.installButton.Size = new System.Drawing.Size(140, 25);
-      this.installButton.TabIndex = 17;
-      this.installButton.Text = "Install Selected Items";
-      this.installButton.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText;
-      this.installButton.UseVisualStyleBackColor = true;
-      this.installButton.Click += new System.EventHandler(this.installButton_Click);
+      // installPluginsButton
+      // 
+      this.installPluginsButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
+      this.installPluginsButton.Enabled = false;
+      this.installPluginsButton.Image = global::HeuristicLab.PluginInfrastructure.Properties.Resources.VS2008ImageLibrary_Objects_Install;
+      this.installPluginsButton.Location = new System.Drawing.Point(6, 521);
+      this.installPluginsButton.Name = "installPluginsButton";
+      this.installPluginsButton.Size = new System.Drawing.Size(140, 25);
+      this.installPluginsButton.TabIndex = 17;
+      this.installPluginsButton.Text = "Install Selected Plugins";
+      this.installPluginsButton.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText;
+      this.toolTip.SetToolTip(this.installPluginsButton, "Install only checked plugins");
+      this.installPluginsButton.UseVisualStyleBackColor = true;
+      this.installPluginsButton.Click += new System.EventHandler(this.installPluginsButton_Click);
+      // 
+      // productsListView
+      // 
+      this.productsListView.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+                  | System.Windows.Forms.AnchorStyles.Left)
+                  | System.Windows.Forms.AnchorStyles.Right)));
+      this.productsListView.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
+            this.productNameHeader,
+            this.productVersionHeader});
+      this.productsListView.HideSelection = false;
+      this.productsListView.LargeImageList = this.productLargeImageList;
+      this.productsListView.Location = new System.Drawing.Point(6, 50);
+      this.productsListView.MultiSelect = false;
+      this.productsListView.Name = "productsListView";
+      this.productsListView.ShowGroups = false;
+      this.productsListView.Size = new System.Drawing.Size(234, 465);
+      this.productsListView.SmallImageList = this.productImageList;
+      this.productsListView.TabIndex = 18;
+      this.productsListView.UseCompatibleStateImageBehavior = false;
+      this.productsListView.View = System.Windows.Forms.View.Details;
+      this.productsListView.SelectedIndexChanged += new System.EventHandler(this.productsListView_SelectedIndexChanged);
+      // 
+      // productNameHeader
+      // 
+      this.productNameHeader.Text = "Name";
+      // 
+      // productVersionHeader
+      // 
+      this.productVersionHeader.Text = "Version";
+      // 
+      // productLargeImageList
+      // 
+      this.productLargeImageList.ColorDepth = System.Windows.Forms.ColorDepth.Depth8Bit;
+      this.productLargeImageList.ImageSize = new System.Drawing.Size(32, 32);
+      this.productLargeImageList.TransparentColor = System.Drawing.Color.Transparent;
+      // 
+      // productImageList
+      // 
+      this.productImageList.ColorDepth = System.Windows.Forms.ColorDepth.Depth8Bit;
+      this.productImageList.ImageSize = new System.Drawing.Size(16, 16);
+      this.productImageList.TransparentColor = System.Drawing.Color.Transparent;
+      // 
+      // productsGroupBox
+      // 
+      this.productsGroupBox.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+                  | System.Windows.Forms.AnchorStyles.Left)
+                  | System.Windows.Forms.AnchorStyles.Right)));
+      this.productsGroupBox.Controls.Add(this.showDetailsButton);
+      this.productsGroupBox.Controls.Add(this.showLargeIconsButton);
+      this.productsGroupBox.Controls.Add(this.installProductsButton);
+      this.productsGroupBox.Controls.Add(this.refreshButton);
+      this.productsGroupBox.Controls.Add(this.productsListView);
+      this.productsGroupBox.Location = new System.Drawing.Point(3, 3);
+      this.productsGroupBox.Name = "productsGroupBox";
+      this.productsGroupBox.Size = new System.Drawing.Size(246, 552);
+      this.productsGroupBox.TabIndex = 19;
+      this.productsGroupBox.TabStop = false;
+      this.productsGroupBox.Text = "Products";
+      // 
+      // showDetailsButton
+      // 
+      this.showDetailsButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+      this.showDetailsButton.Appearance = System.Windows.Forms.Appearance.Button;
+      this.showDetailsButton.Checked = true;
+      this.showDetailsButton.Image = global::HeuristicLab.PluginInfrastructure.Properties.Resources.show_details;
+      this.showDetailsButton.Location = new System.Drawing.Point(215, 19);
+      this.showDetailsButton.Name = "showDetailsButton";
+      this.showDetailsButton.Size = new System.Drawing.Size(25, 25);
+      this.showDetailsButton.TabIndex = 22;
+      this.showDetailsButton.TabStop = true;
+      this.toolTip.SetToolTip(this.showDetailsButton, "Show Details");
+      this.showDetailsButton.UseVisualStyleBackColor = true;
+      this.showDetailsButton.CheckedChanged += new System.EventHandler(this.showDetailsButton_CheckedChanged);
+      // 
+      // showLargeIconsButton
+      // 
+      this.showLargeIconsButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+      this.showLargeIconsButton.Appearance = System.Windows.Forms.Appearance.Button;
+      this.showLargeIconsButton.Image = global::HeuristicLab.PluginInfrastructure.Properties.Resources.show_icons;
+      this.showLargeIconsButton.Location = new System.Drawing.Point(184, 19);
+      this.showLargeIconsButton.Name = "showLargeIconsButton";
+      this.showLargeIconsButton.Size = new System.Drawing.Size(25, 25);
+      this.showLargeIconsButton.TabIndex = 21;
+      this.toolTip.SetToolTip(this.showLargeIconsButton, "Show Large Icons");
+      this.showLargeIconsButton.UseVisualStyleBackColor = true;
+      this.showLargeIconsButton.CheckedChanged += new System.EventHandler(this.showLargeIconsButton_CheckedChanged);
+      // 
+      // installProductsButton
+      // 
+      this.installProductsButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
+      this.installProductsButton.Enabled = false;
+      this.installProductsButton.Image = global::HeuristicLab.PluginInfrastructure.Properties.Resources.VS2008ImageLibrary_Objects_Install;
+      this.installProductsButton.Location = new System.Drawing.Point(6, 521);
+      this.installProductsButton.Name = "installProductsButton";
+      this.installProductsButton.Size = new System.Drawing.Size(146, 25);
+      this.installProductsButton.TabIndex = 20;
+      this.installProductsButton.Text = "Install Selected Product";
+      this.installProductsButton.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText;
+      this.toolTip.SetToolTip(this.installProductsButton, "Install all plugins for the selected product");
+      this.installProductsButton.UseVisualStyleBackColor = true;
+      this.installProductsButton.Click += new System.EventHandler(this.installProductsButton_Click);
+      // 
+      // pluginsGroupBox
+      // 
+      this.pluginsGroupBox.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+                  | System.Windows.Forms.AnchorStyles.Left)
+                  | System.Windows.Forms.AnchorStyles.Right)));
+      this.pluginsGroupBox.Controls.Add(this.pluginsListView);
+      this.pluginsGroupBox.Controls.Add(this.installPluginsButton);
+      this.pluginsGroupBox.Location = new System.Drawing.Point(3, 3);
+      this.pluginsGroupBox.Name = "pluginsGroupBox";
+      this.pluginsGroupBox.Size = new System.Drawing.Size(271, 552);
+      this.pluginsGroupBox.TabIndex = 20;
+      this.pluginsGroupBox.TabStop = false;
+      this.pluginsGroupBox.Text = "Plugins";
+      // 
+      // splitContainer
+      // 
+      this.splitContainer.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+                  | System.Windows.Forms.AnchorStyles.Left)
+                  | System.Windows.Forms.AnchorStyles.Right)));
+      this.splitContainer.Location = new System.Drawing.Point(0, 0);
+      this.splitContainer.Name = "splitContainer";
+      // 
+      // splitContainer.Panel1
+      // 
+      this.splitContainer.Panel1.Controls.Add(this.productsGroupBox);
+      // 
+      // splitContainer.Panel2
+      // 
+      this.splitContainer.Panel2.Controls.Add(this.pluginsGroupBox);
+      this.splitContainer.Size = new System.Drawing.Size(533, 558);
+      this.splitContainer.SplitterDistance = 252;
+      this.splitContainer.TabIndex = 21;
       // 
       // RemotePluginInstallerView
@@ -130,9 +279,12 @@
       this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
       this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
-      this.Controls.Add(this.refreshButton);
-      this.Controls.Add(this.installButton);
-      this.Controls.Add(this.remotePluginsListView);
+      this.Controls.Add(this.splitContainer);
       this.Name = "RemotePluginInstallerView";
       this.Size = new System.Drawing.Size(533, 558);
+      this.productsGroupBox.ResumeLayout(false);
+      this.pluginsGroupBox.ResumeLayout(false);
+      this.splitContainer.Panel1.ResumeLayout(false);
+      this.splitContainer.Panel2.ResumeLayout(false);
+      this.splitContainer.ResumeLayout(false);
       this.ResumeLayout(false);
 
@@ -141,10 +293,23 @@
     #endregion
 
-    private MultiSelectListView remotePluginsListView;
+    private MultiSelectListView pluginsListView;
     private System.Windows.Forms.ColumnHeader nameHeader;
     private System.Windows.Forms.ColumnHeader versionHeader;
     private System.Windows.Forms.ColumnHeader descriptionHeader;
     private System.Windows.Forms.Button refreshButton;
-    private System.Windows.Forms.Button installButton;
+    private System.Windows.Forms.Button installPluginsButton;
+    private System.Windows.Forms.ListView productsListView;
+    private System.Windows.Forms.GroupBox productsGroupBox;
+    private System.Windows.Forms.GroupBox pluginsGroupBox;
+    private System.Windows.Forms.SplitContainer splitContainer;
+    private System.Windows.Forms.Button installProductsButton;
+    private System.Windows.Forms.ColumnHeader productNameHeader;
+    private System.Windows.Forms.ColumnHeader productVersionHeader;
+    private System.Windows.Forms.ImageList productImageList;
+    private System.Windows.Forms.ImageList pluginsImageList;
+    private System.Windows.Forms.RadioButton showDetailsButton;
+    private System.Windows.Forms.RadioButton showLargeIconsButton;
+    private System.Windows.Forms.ToolTip toolTip;
+    private System.Windows.Forms.ImageList productLargeImageList;
   }
 }
Index: /trunk/sources/HeuristicLab.PluginInfrastructure/Advanced/RemotePluginInstaller.cs
===================================================================
--- /trunk/sources/HeuristicLab.PluginInfrastructure/Advanced/RemotePluginInstaller.cs	(revision 3607)
+++ /trunk/sources/HeuristicLab.PluginInfrastructure/Advanced/RemotePluginInstaller.cs	(revision 3608)
@@ -43,55 +43,10 @@
     private BackgroundWorker updateOrInstallPluginsBackgroundWorker;
 
-    private ListViewGroup newPluginsGroup;
-    private ListViewGroup productsGroup;
-    private ListViewGroup allPluginsGroup;
-
-    private bool showAllPlugins;
-    public bool ShowAllPlugins {
-      get { return showAllPlugins; }
-      set {
-        if (value != showAllPlugins) {
-          showAllPlugins = value;
-          UpdateControl();
-        }
-      }
-    }
-
     private IEnumerable<DeploymentService.ProductDescription> products;
-    public IEnumerable<DeploymentService.ProductDescription> Products {
-      get { return products ?? Enumerable.Empty<DeploymentService.ProductDescription>(); }
-      set {
-        if (value != this.products) {
-          this.products = value;
-          UpdateControl();
-        }
-      }
-    }
-
     private IEnumerable<IPluginDescription> plugins;
-    public IEnumerable<IPluginDescription> AllPlugins {
-      get { return plugins ?? Enumerable.Empty<IPluginDescription>(); }
-      set {
-        if (value != this.plugins) {
-          this.plugins = value;
-          UpdateControl();
-        }
-      }
-    }
-
-    private IEnumerable<IPluginDescription> newPlugins;
-    public IEnumerable<IPluginDescription> NewPlugins {
-      get { return newPlugins ?? Enumerable.Empty<IPluginDescription>(); }
-      set {
-        if (value != this.newPlugins) {
-          this.newPlugins = value;
-          UpdateControl();
-        }
-      }
-    }
-
-    public IEnumerable<IPluginDescription> CheckedPlugins {
+
+    private IEnumerable<IPluginDescription> CheckedPlugins {
       get {
-        return (from item in remotePluginsListView.Items.OfType<ListViewItem>()
+        return (from item in pluginsListView.Items.OfType<ListViewItem>()
                 where item.Checked
                 let plugin = item.Tag as IPluginDescription
@@ -113,5 +68,7 @@
     public RemotePluginInstallerView() {
       InitializeComponent();
-
+      productImageList.Images.Add(HeuristicLab.PluginInfrastructure.Resources.Resources.Setup_Install);
+      productLargeImageList.Images.Add(HeuristicLab.PluginInfrastructure.Resources.Resources.Setup_Install);
+      pluginsImageList.Images.Add(HeuristicLab.PluginInfrastructure.Resources.Resources.plugin_16);
       refreshServerPluginsBackgroundWorker = new BackgroundWorker();
       refreshServerPluginsBackgroundWorker.DoWork += new DoWorkEventHandler(refreshServerPluginsBackgroundWorker_DoWork);
@@ -121,8 +78,4 @@
       updateOrInstallPluginsBackgroundWorker.DoWork += new DoWorkEventHandler(updateOrInstallPluginsBackgroundWorker_DoWork);
       updateOrInstallPluginsBackgroundWorker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(updateOrInstallPluginsBackgroundWorker_RunWorkerCompleted);
-
-      newPluginsGroup = remotePluginsListView.Groups["newPluginsGroup"];
-      productsGroup = remotePluginsListView.Groups["productsGroup"];
-      allPluginsGroup = remotePluginsListView.Groups["allPluginsGroup"];
     }
 
@@ -136,5 +89,7 @@
       } else {
         RefreshBackgroundWorkerResult refreshResult = (RefreshBackgroundWorkerResult)e.Result;
-        UpdateRemotePluginList(refreshResult.RemoteProducts, refreshResult.RemotePlugins);
+        products = refreshResult.RemoteProducts;
+        plugins = refreshResult.RemotePlugins;
+        UpdateControl();
       }
       StatusView.UnlockUI();
@@ -183,5 +138,5 @@
       refreshServerPluginsBackgroundWorker.RunWorkerAsync();
     }
-    private void installButton_Click(object sender, EventArgs e) {
+    private void installPluginsButton_Click(object sender, EventArgs e) {
       StatusView.LockUI();
       StatusView.ShowProgressIndicator();
@@ -205,44 +160,94 @@
       updateOrInstallPluginsBackgroundWorker.RunWorkerAsync(updateOrInstallInfo);
     }
+    private void installProductsButton_Click(object sender, EventArgs e) {
+      StatusView.LockUI();
+      StatusView.ShowProgressIndicator();
+      var updateOrInstallInfo = new UpdateOrInstallPluginsBackgroundWorkerArgument();
+      var selectedProduct = (DeploymentService.ProductDescription)productsListView.SelectedItems[0].Tag;
+      // if there is a local plugin with same name and same major and minor version then it's an update
+      var pluginsToUpdate = from plugin in selectedProduct.Plugins
+                            let matchingLocalPlugins = from localPlugin in pluginManager.Plugins
+                                                       where localPlugin.Name == plugin.Name
+                                                       where localPlugin.Version.Major == plugin.Version.Major
+                                                       where localPlugin.Version.Minor == plugin.Version.Minor
+                                                       where IsNewerThan(plugin, localPlugin)
+                                                       select localPlugin
+                            where matchingLocalPlugins.Count() > 0
+                            select plugin;
+
+      // otherwise install a new plugin
+      var pluginsToInstall = selectedProduct.Plugins.Except(pluginsToUpdate);
+
+      updateOrInstallInfo.PluginsToInstall = (IEnumerable<IPluginDescription>)pluginsToInstall.ToList();
+      updateOrInstallInfo.PluginsToUpdate = (IEnumerable<IPluginDescription>)pluginsToUpdate.ToList();
+      updateOrInstallPluginsBackgroundWorker.RunWorkerAsync(updateOrInstallInfo);
+    }
+
+    private void showLargeIconsButton_CheckedChanged(object sender, EventArgs e) {
+      productsListView.View = View.LargeIcon;
+    }
+
+    private void showDetailsButton_CheckedChanged(object sender, EventArgs e) {
+      productsListView.View = View.Details;
+    }
+
     #endregion
 
     private void UpdateControl() {
-      ClearListView();
-      remotePluginsListView.SuppressItemCheckedEvents = true;
-      foreach (var newPlugin in NewPlugins) {
-        var item = CreateListViewItem(newPlugin);
-        item.Group = newPluginsGroup;
-        remotePluginsListView.Items.Add(item);
-      }
-
-      foreach (var product in Products) {
+      // clear products view
+      List<ListViewItem> productItemsToDelete = new List<ListViewItem>(productsListView.Items.OfType<ListViewItem>());
+      productItemsToDelete.ForEach(item => productsListView.Items.Remove(item));
+
+      // populate products list view
+      foreach (var product in products) {
         var item = CreateListViewItem(product);
-        item.Group = productsGroup;
-        remotePluginsListView.Items.Add(item);
-      }
-
-      if (showAllPlugins) {
-        foreach (var plugin in AllPlugins) {
-          var item = CreateListViewItem(plugin);
-          item.Group = allPluginsGroup;
-          remotePluginsListView.Items.Add(item);
-        }
-      }
-      foreach (ColumnHeader column in remotePluginsListView.Columns)
-        if (remotePluginsListView.Items.Count > 0)
+        productsListView.Items.Add(item);
+      }
+      var allPluginsListViewItem = new ListViewItem();
+      allPluginsListViewItem.Text = "All Plugins";
+      allPluginsListViewItem.ImageIndex = 0;
+      productsListView.Items.Add(allPluginsListViewItem);
+      foreach (ColumnHeader column in productsListView.Columns)
+        if (productsListView.Items.Count > 0)
           column.AutoResize(ColumnHeaderAutoResizeStyle.ColumnContent);
         else column.AutoResize(ColumnHeaderAutoResizeStyle.HeaderSize);
-
-      remotePluginsListView.SuppressItemCheckedEvents = false;
-    }
-
-    private void ClearListView() {
-      List<ListViewItem> itemsToDelete = new List<ListViewItem>(remotePluginsListView.Items.OfType<ListViewItem>());
-      itemsToDelete.ForEach(item => remotePluginsListView.Items.Remove(item));
+    }
+
+    private void UpdatePluginsList() {
+      // clear plugins list view
+      List<ListViewItem> pluginItemsToDelete = new List<ListViewItem>(pluginsListView.Items.OfType<ListViewItem>());
+      pluginItemsToDelete.ForEach(item => pluginsListView.Items.Remove(item));
+
+      // populate plugins list
+      if (productsListView.SelectedItems.Count > 0) {
+        pluginsListView.SuppressItemCheckedEvents = true;
+
+        var selectedItem = productsListView.SelectedItems[0];
+        if (selectedItem.Text == "All Plugins") {
+          foreach (var plugin in plugins) {
+            var item = CreateListViewItem(plugin);
+            pluginsListView.Items.Add(item);
+          }
+        } else {
+          var selectedProduct = (DeploymentService.ProductDescription)productsListView.SelectedItems[0].Tag;
+          foreach (var plugin in selectedProduct.Plugins) {
+            var item = CreateListViewItem(plugin);
+            pluginsListView.Items.Add(item);
+          }
+        }
+
+        foreach (ColumnHeader column in pluginsListView.Columns)
+          if (pluginsListView.Items.Count > 0)
+            column.AutoResize(ColumnHeaderAutoResizeStyle.ColumnContent);
+          else column.AutoResize(ColumnHeaderAutoResizeStyle.HeaderSize);
+
+        pluginsListView.SuppressItemCheckedEvents = false;
+      }
     }
 
     private ListViewItem CreateListViewItem(DeploymentService.ProductDescription product) {
-      ListViewItem item = new ListViewItem(new string[] { product.Name, product.Version.ToString(), string.Empty });
+      ListViewItem item = new ListViewItem(new string[] { product.Name, product.Version.ToString() });
       item.Tag = product;
+      item.ImageIndex = 0;
       return item;
     }
@@ -251,10 +256,19 @@
       ListViewItem item = new ListViewItem(new string[] { plugin.Name, plugin.Version.ToString(), plugin.Description });
       item.Tag = plugin;
+      item.ImageIndex = 0;
       return item;
     }
+
+    #region products list view events
+    private void productsListView_SelectedIndexChanged(object sender, EventArgs e) {
+      UpdatePluginsList();
+      installProductsButton.Enabled = (productsListView.SelectedItems.Count > 0 &&
+        productsListView.SelectedItems[0].Text != "All Plugins");
+    }
+    #endregion
 
     #region item checked event handler
     private void remotePluginsListView_ItemChecked(object sender, ItemCheckedEventArgs e) {
-      foreach (ListViewItem item in remotePluginsListView.SelectedItems) {
+      foreach (ListViewItem item in pluginsListView.SelectedItems) {
         // dispatch by check state and type of item (product/plugin)
         IPluginDescription plugin = item.Tag as IPluginDescription;
@@ -273,5 +287,5 @@
         }
       }
-      installButton.Enabled = remotePluginsListView.CheckedItems.Count > 0;
+      installPluginsButton.Enabled = pluginsListView.CheckedItems.Count > 0;
     }
 
@@ -287,5 +301,5 @@
         }
       }
-      remotePluginsListView.UncheckItems(modifiedItems);
+      pluginsListView.UncheckItems(modifiedItems);
     }
 
@@ -303,5 +317,5 @@
         }
       }
-      remotePluginsListView.CheckItems(modifiedItems);
+      pluginsListView.CheckItems(modifiedItems);
     }
 
@@ -333,5 +347,5 @@
         }
       }
-      remotePluginsListView.UncheckItems(modifiedItems);
+      pluginsListView.UncheckItems(modifiedItems);
     }
 
@@ -349,5 +363,5 @@
         }
       }
-      remotePluginsListView.CheckItems(modifiedItems);
+      pluginsListView.CheckItems(modifiedItems);
     }
 
@@ -356,5 +370,5 @@
     #region helper methods
     private IEnumerable<ListViewItem> FindItemsForPlugin(IPluginDescription plugin) {
-      return (from item in remotePluginsListView.Items.OfType<ListViewItem>()
+      return (from item in pluginsListView.Items.OfType<ListViewItem>()
               let otherPlugin = item.Tag as IPluginDescription
               where otherPlugin != null && otherPlugin.Name == plugin.Name && otherPlugin.Version == plugin.Version
@@ -363,5 +377,5 @@
 
     private ListViewItem FindItemForProduct(DeploymentService.ProductDescription product) {
-      return (from item in remotePluginsListView.Items.OfType<ListViewItem>()
+      return (from item in pluginsListView.Items.OfType<ListViewItem>()
               let otherProduct = item.Tag as DeploymentService.ProductDescription
               where otherProduct != null && otherProduct.Name == product.Name && otherProduct.Version == product.Version
@@ -369,24 +383,4 @@
     }
 
-    private void UpdateRemotePluginList(
-      IEnumerable<DeploymentService.ProductDescription> remoteProducts,
-      IEnumerable<IPluginDescription> remotePlugins) {
-
-      var mostRecentRemotePlugins = from remote in remotePlugins
-                                    where !remotePlugins.Any(x => x.Name == remote.Name && x.Version > remote.Version) // same name and higher version
-                                    select remote;
-
-      var newPlugins = from remote in mostRecentRemotePlugins
-                       let matchingLocal = (from local in pluginManager.Plugins
-                                            where local.Name == remote.Name
-                                            where local.Version < remote.Version
-                                            select local).FirstOrDefault()
-                       where matchingLocal != null
-                       select remote;
-
-      NewPlugins = newPlugins;
-      Products = remoteProducts;
-      AllPlugins = remotePlugins;
-    }
     private bool IsNewerThan(IPluginDescription plugin1, IPluginDescription plugin2) {
       // newer: build version is higher, or if build version is the same revision is higher
@@ -397,5 +391,4 @@
     #endregion
 
-
   }
 }
Index: /trunk/sources/HeuristicLab.PluginInfrastructure/Advanced/RemotePluginInstaller.resx
===================================================================
--- /trunk/sources/HeuristicLab.PluginInfrastructure/Advanced/RemotePluginInstaller.resx	(revision 3607)
+++ /trunk/sources/HeuristicLab.PluginInfrastructure/Advanced/RemotePluginInstaller.resx	(revision 3608)
@@ -118,3 +118,18 @@
     <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </resheader>
+  <metadata name="pluginsImageList.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>365, 17</value>
+  </metadata>
+  <metadata name="toolTip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>508, 17</value>
+  </metadata>
+  <metadata name="productLargeImageList.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>29, 18</value>
+  </metadata>
+  <metadata name="productImageList.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>191, 17</value>
+  </metadata>
+  <metadata name="toolTip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>508, 17</value>
+  </metadata>
 </root>
Index: /trunk/sources/HeuristicLab.PluginInfrastructure/HeuristicLab.PluginInfrastructure.csproj
===================================================================
--- /trunk/sources/HeuristicLab.PluginInfrastructure/HeuristicLab.PluginInfrastructure.csproj	(revision 3607)
+++ /trunk/sources/HeuristicLab.PluginInfrastructure/HeuristicLab.PluginInfrastructure.csproj	(revision 3608)
@@ -335,4 +335,7 @@
     <None Include="Resources\show_icons.png" />
     <None Include="Resources\show_details.png" />
+    <None Include="Resources\plugin.png" />
+    <None Include="Resources\plugin_16.png" />
+    <None Include="Resources\Setup_Install.ico" />
     <Content Include="Resources\VS2008ImageLibrary_CommonElements_Objects_Arrow_Down.png" />
     <None Include="Resources\VS2008ImageLibrary_Objects_NetworkConnections.png" />
Index: /trunk/sources/HeuristicLab.PluginInfrastructure/Resources/Resources.Designer.cs
===================================================================
--- /trunk/sources/HeuristicLab.PluginInfrastructure/Resources/Resources.Designer.cs	(revision 3607)
+++ /trunk/sources/HeuristicLab.PluginInfrastructure/Resources/Resources.Designer.cs	(revision 3608)
@@ -110,4 +110,18 @@
         }
         
+        internal static System.Drawing.Bitmap plugin {
+            get {
+                object obj = ResourceManager.GetObject("plugin", resourceCulture);
+                return ((System.Drawing.Bitmap)(obj));
+            }
+        }
+        
+        internal static System.Drawing.Bitmap plugin_16 {
+            get {
+                object obj = ResourceManager.GetObject("plugin_16", resourceCulture);
+                return ((System.Drawing.Bitmap)(obj));
+            }
+        }
+        
         internal static System.Drawing.Bitmap Remove {
             get {
@@ -116,4 +130,11 @@
             }
         }
+        
+        internal static System.Drawing.Icon Setup_Install {
+            get {
+                object obj = ResourceManager.GetObject("Setup_Install", resourceCulture);
+                return ((System.Drawing.Icon)(obj));
+            }
+        }
     }
 }
Index: /trunk/sources/HeuristicLab.PluginInfrastructure/Resources/Resources.resx
===================================================================
--- /trunk/sources/HeuristicLab.PluginInfrastructure/Resources/Resources.resx	(revision 3607)
+++ /trunk/sources/HeuristicLab.PluginInfrastructure/Resources/Resources.resx	(revision 3608)
@@ -140,6 +140,15 @@
     <value>VS2008ImageLibrary_Objects_Internet.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
   </data>
+  <data name="plugin" type="System.Resources.ResXFileRef, System.Windows.Forms">
+    <value>plugin.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+  </data>
+  <data name="plugin_16" type="System.Resources.ResXFileRef, System.Windows.Forms">
+    <value>plugin_16.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+  </data>
   <data name="Remove" type="System.Resources.ResXFileRef, System.Windows.Forms">
     <value>VS2008ImageLibrary_CommonElements_Actions_Remove.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
   </data>
+  <data name="Setup_Install" type="System.Resources.ResXFileRef, System.Windows.Forms">
+    <value>Setup_Install.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+  </data>
 </root>
