Index: branches/PluginInfrastructure Refactoring/HeuristicLab.PluginInfrastructure/Service References/UpdateLocationReference/Reference.cs
===================================================================
--- branches/PluginInfrastructure Refactoring/HeuristicLab.PluginInfrastructure/Service References/UpdateLocationReference/Reference.cs	(revision 2517)
+++ branches/PluginInfrastructure Refactoring/HeuristicLab.PluginInfrastructure/Service References/UpdateLocationReference/Reference.cs	(revision 2527)
@@ -95,9 +95,9 @@
     internal interface IUpdateLocation {
         
-        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IUpdateLocation/GetAvailablePlugins", ReplyAction="http://tempuri.org/IUpdateLocation/GetAvailablePluginsResponse")]
-        HeuristicLab.PluginInfrastructure.UpdateLocationReference.PluginInformation[] GetAvailablePlugins();
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IUpdateLocation/GetAvailablePluginsByName", ReplyAction="http://tempuri.org/IUpdateLocation/GetAvailablePluginsByNameResponse")]
+        HeuristicLab.PluginInfrastructure.UpdateLocationReference.PluginInformation[] GetAvailablePluginsByName(string name);
         
-        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IUpdateLocation/GetPackedPlugin", ReplyAction="http://tempuri.org/IUpdateLocation/GetPackedPluginResponse")]
-        System.IO.Stream GetPackedPlugin(HeuristicLab.PluginInfrastructure.UpdateLocationReference.PluginInformation info);
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IUpdateLocation/GetPluginFiles", ReplyAction="http://tempuri.org/IUpdateLocation/GetPluginFilesResponse")]
+        byte[][] GetPluginFiles(HeuristicLab.PluginInfrastructure.UpdateLocationReference.PluginInformation info);
     }
     
@@ -129,10 +129,10 @@
         }
         
-        public HeuristicLab.PluginInfrastructure.UpdateLocationReference.PluginInformation[] GetAvailablePlugins() {
-            return base.Channel.GetAvailablePlugins();
+        public HeuristicLab.PluginInfrastructure.UpdateLocationReference.PluginInformation[] GetAvailablePluginsByName(string name) {
+            return base.Channel.GetAvailablePluginsByName(name);
         }
         
-        public System.IO.Stream GetPackedPlugin(HeuristicLab.PluginInfrastructure.UpdateLocationReference.PluginInformation info) {
-            return base.Channel.GetPackedPlugin(info);
+        public byte[][] GetPluginFiles(HeuristicLab.PluginInfrastructure.UpdateLocationReference.PluginInformation info) {
+            return base.Channel.GetPluginFiles(info);
         }
     }
Index: branches/PluginInfrastructure Refactoring/HeuristicLab.PluginInfrastructure/Service References/UpdateLocationReference/UpdateLocation.wsdl
===================================================================
--- branches/PluginInfrastructure Refactoring/HeuristicLab.PluginInfrastructure/Service References/UpdateLocationReference/UpdateLocation.wsdl	(revision 2517)
+++ branches/PluginInfrastructure Refactoring/HeuristicLab.PluginInfrastructure/Service References/UpdateLocationReference/UpdateLocation.wsdl	(revision 2527)
@@ -107,62 +107,62 @@
     </wsp:ExactlyOne>
   </wsp:Policy>
-  <wsp:Policy wsu:Id="WSHttpBinding_IUpdateLocation_GetAvailablePlugins_Input_policy">
-    <wsp:ExactlyOne>
-      <wsp:All>
-        <sp:SignedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
-          <sp:Body />
-          <sp:Header Name="To" Namespace="http://www.w3.org/2005/08/addressing" />
-          <sp:Header Name="From" Namespace="http://www.w3.org/2005/08/addressing" />
-          <sp:Header Name="FaultTo" Namespace="http://www.w3.org/2005/08/addressing" />
-          <sp:Header Name="ReplyTo" Namespace="http://www.w3.org/2005/08/addressing" />
-          <sp:Header Name="MessageID" Namespace="http://www.w3.org/2005/08/addressing" />
-          <sp:Header Name="RelatesTo" Namespace="http://www.w3.org/2005/08/addressing" />
-          <sp:Header Name="Action" Namespace="http://www.w3.org/2005/08/addressing" />
-        </sp:SignedParts>
-        <sp:EncryptedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
-          <sp:Body />
-        </sp:EncryptedParts>
-      </wsp:All>
-    </wsp:ExactlyOne>
-  </wsp:Policy>
-  <wsp:Policy wsu:Id="WSHttpBinding_IUpdateLocation_GetAvailablePlugins_output_policy">
-    <wsp:ExactlyOne>
-      <wsp:All>
-        <sp:SignedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
-          <sp:Body />
-          <sp:Header Name="To" Namespace="http://www.w3.org/2005/08/addressing" />
-          <sp:Header Name="From" Namespace="http://www.w3.org/2005/08/addressing" />
-          <sp:Header Name="FaultTo" Namespace="http://www.w3.org/2005/08/addressing" />
-          <sp:Header Name="ReplyTo" Namespace="http://www.w3.org/2005/08/addressing" />
-          <sp:Header Name="MessageID" Namespace="http://www.w3.org/2005/08/addressing" />
-          <sp:Header Name="RelatesTo" Namespace="http://www.w3.org/2005/08/addressing" />
-          <sp:Header Name="Action" Namespace="http://www.w3.org/2005/08/addressing" />
-        </sp:SignedParts>
-        <sp:EncryptedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
-          <sp:Body />
-        </sp:EncryptedParts>
-      </wsp:All>
-    </wsp:ExactlyOne>
-  </wsp:Policy>
-  <wsp:Policy wsu:Id="WSHttpBinding_IUpdateLocation_GetPackedPlugin_Input_policy">
-    <wsp:ExactlyOne>
-      <wsp:All>
-        <sp:SignedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
-          <sp:Body />
-          <sp:Header Name="To" Namespace="http://www.w3.org/2005/08/addressing" />
-          <sp:Header Name="From" Namespace="http://www.w3.org/2005/08/addressing" />
-          <sp:Header Name="FaultTo" Namespace="http://www.w3.org/2005/08/addressing" />
-          <sp:Header Name="ReplyTo" Namespace="http://www.w3.org/2005/08/addressing" />
-          <sp:Header Name="MessageID" Namespace="http://www.w3.org/2005/08/addressing" />
-          <sp:Header Name="RelatesTo" Namespace="http://www.w3.org/2005/08/addressing" />
-          <sp:Header Name="Action" Namespace="http://www.w3.org/2005/08/addressing" />
-        </sp:SignedParts>
-        <sp:EncryptedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
-          <sp:Body />
-        </sp:EncryptedParts>
-      </wsp:All>
-    </wsp:ExactlyOne>
-  </wsp:Policy>
-  <wsp:Policy wsu:Id="WSHttpBinding_IUpdateLocation_GetPackedPlugin_output_policy">
+  <wsp:Policy wsu:Id="WSHttpBinding_IUpdateLocation_GetAvailablePluginsByName_Input_policy">
+    <wsp:ExactlyOne>
+      <wsp:All>
+        <sp:SignedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+          <sp:Body />
+          <sp:Header Name="To" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="From" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="FaultTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="ReplyTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="MessageID" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="RelatesTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="Action" Namespace="http://www.w3.org/2005/08/addressing" />
+        </sp:SignedParts>
+        <sp:EncryptedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+          <sp:Body />
+        </sp:EncryptedParts>
+      </wsp:All>
+    </wsp:ExactlyOne>
+  </wsp:Policy>
+  <wsp:Policy wsu:Id="WSHttpBinding_IUpdateLocation_GetAvailablePluginsByName_output_policy">
+    <wsp:ExactlyOne>
+      <wsp:All>
+        <sp:SignedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+          <sp:Body />
+          <sp:Header Name="To" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="From" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="FaultTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="ReplyTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="MessageID" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="RelatesTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="Action" Namespace="http://www.w3.org/2005/08/addressing" />
+        </sp:SignedParts>
+        <sp:EncryptedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+          <sp:Body />
+        </sp:EncryptedParts>
+      </wsp:All>
+    </wsp:ExactlyOne>
+  </wsp:Policy>
+  <wsp:Policy wsu:Id="WSHttpBinding_IUpdateLocation_GetPluginFiles_Input_policy">
+    <wsp:ExactlyOne>
+      <wsp:All>
+        <sp:SignedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+          <sp:Body />
+          <sp:Header Name="To" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="From" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="FaultTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="ReplyTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="MessageID" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="RelatesTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="Action" Namespace="http://www.w3.org/2005/08/addressing" />
+        </sp:SignedParts>
+        <sp:EncryptedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+          <sp:Body />
+        </sp:EncryptedParts>
+      </wsp:All>
+    </wsp:ExactlyOne>
+  </wsp:Policy>
+  <wsp:Policy wsu:Id="WSHttpBinding_IUpdateLocation_GetPluginFiles_output_policy">
     <wsp:ExactlyOne>
       <wsp:All>
@@ -189,27 +189,27 @@
       <xsd:import schemaLocation="http://localhost:59253/UpdateLocation.svc?xsd=xsd2" namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Update.Service" />
       <xsd:import schemaLocation="http://localhost:59253/UpdateLocation.svc?xsd=xsd3" namespace="http://schemas.datacontract.org/2004/07/System" />
-      <xsd:import schemaLocation="http://localhost:59253/UpdateLocation.svc?xsd=xsd4" namespace="http://schemas.microsoft.com/Message" />
+      <xsd:import schemaLocation="http://localhost:59253/UpdateLocation.svc?xsd=xsd4" namespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays" />
     </xsd:schema>
   </wsdl:types>
-  <wsdl:message name="IUpdateLocation_GetAvailablePlugins_InputMessage">
-    <wsdl:part name="parameters" element="tns:GetAvailablePlugins" />
-  </wsdl:message>
-  <wsdl:message name="IUpdateLocation_GetAvailablePlugins_OutputMessage">
-    <wsdl:part name="parameters" element="tns:GetAvailablePluginsResponse" />
-  </wsdl:message>
-  <wsdl:message name="IUpdateLocation_GetPackedPlugin_InputMessage">
-    <wsdl:part name="parameters" element="tns:GetPackedPlugin" />
-  </wsdl:message>
-  <wsdl:message name="IUpdateLocation_GetPackedPlugin_OutputMessage">
-    <wsdl:part name="parameters" element="tns:GetPackedPluginResponse" />
+  <wsdl:message name="IUpdateLocation_GetAvailablePluginsByName_InputMessage">
+    <wsdl:part name="parameters" element="tns:GetAvailablePluginsByName" />
+  </wsdl:message>
+  <wsdl:message name="IUpdateLocation_GetAvailablePluginsByName_OutputMessage">
+    <wsdl:part name="parameters" element="tns:GetAvailablePluginsByNameResponse" />
+  </wsdl:message>
+  <wsdl:message name="IUpdateLocation_GetPluginFiles_InputMessage">
+    <wsdl:part name="parameters" element="tns:GetPluginFiles" />
+  </wsdl:message>
+  <wsdl:message name="IUpdateLocation_GetPluginFiles_OutputMessage">
+    <wsdl:part name="parameters" element="tns:GetPluginFilesResponse" />
   </wsdl:message>
   <wsdl:portType name="IUpdateLocation">
-    <wsdl:operation name="GetAvailablePlugins">
-      <wsdl:input wsaw:Action="http://tempuri.org/IUpdateLocation/GetAvailablePlugins" message="tns:IUpdateLocation_GetAvailablePlugins_InputMessage" />
-      <wsdl:output wsaw:Action="http://tempuri.org/IUpdateLocation/GetAvailablePluginsResponse" message="tns:IUpdateLocation_GetAvailablePlugins_OutputMessage" />
-    </wsdl:operation>
-    <wsdl:operation name="GetPackedPlugin">
-      <wsdl:input wsaw:Action="http://tempuri.org/IUpdateLocation/GetPackedPlugin" message="tns:IUpdateLocation_GetPackedPlugin_InputMessage" />
-      <wsdl:output wsaw:Action="http://tempuri.org/IUpdateLocation/GetPackedPluginResponse" message="tns:IUpdateLocation_GetPackedPlugin_OutputMessage" />
+    <wsdl:operation name="GetAvailablePluginsByName">
+      <wsdl:input wsaw:Action="http://tempuri.org/IUpdateLocation/GetAvailablePluginsByName" message="tns:IUpdateLocation_GetAvailablePluginsByName_InputMessage" />
+      <wsdl:output wsaw:Action="http://tempuri.org/IUpdateLocation/GetAvailablePluginsByNameResponse" message="tns:IUpdateLocation_GetAvailablePluginsByName_OutputMessage" />
+    </wsdl:operation>
+    <wsdl:operation name="GetPluginFiles">
+      <wsdl:input wsaw:Action="http://tempuri.org/IUpdateLocation/GetPluginFiles" message="tns:IUpdateLocation_GetPluginFiles_InputMessage" />
+      <wsdl:output wsaw:Action="http://tempuri.org/IUpdateLocation/GetPluginFilesResponse" message="tns:IUpdateLocation_GetPluginFiles_OutputMessage" />
     </wsdl:operation>
   </wsdl:portType>
@@ -217,23 +217,23 @@
     <wsp:PolicyReference URI="#WSHttpBinding_IUpdateLocation_policy" />
     <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
-    <wsdl:operation name="GetAvailablePlugins">
-      <soap12:operation soapAction="http://tempuri.org/IUpdateLocation/GetAvailablePlugins" style="document" />
+    <wsdl:operation name="GetAvailablePluginsByName">
+      <soap12:operation soapAction="http://tempuri.org/IUpdateLocation/GetAvailablePluginsByName" style="document" />
       <wsdl:input>
-        <wsp:PolicyReference URI="#WSHttpBinding_IUpdateLocation_GetAvailablePlugins_Input_policy" />
+        <wsp:PolicyReference URI="#WSHttpBinding_IUpdateLocation_GetAvailablePluginsByName_Input_policy" />
         <soap12:body use="literal" />
       </wsdl:input>
       <wsdl:output>
-        <wsp:PolicyReference URI="#WSHttpBinding_IUpdateLocation_GetAvailablePlugins_output_policy" />
+        <wsp:PolicyReference URI="#WSHttpBinding_IUpdateLocation_GetAvailablePluginsByName_output_policy" />
         <soap12:body use="literal" />
       </wsdl:output>
     </wsdl:operation>
-    <wsdl:operation name="GetPackedPlugin">
-      <soap12:operation soapAction="http://tempuri.org/IUpdateLocation/GetPackedPlugin" style="document" />
+    <wsdl:operation name="GetPluginFiles">
+      <soap12:operation soapAction="http://tempuri.org/IUpdateLocation/GetPluginFiles" style="document" />
       <wsdl:input>
-        <wsp:PolicyReference URI="#WSHttpBinding_IUpdateLocation_GetPackedPlugin_Input_policy" />
+        <wsp:PolicyReference URI="#WSHttpBinding_IUpdateLocation_GetPluginFiles_Input_policy" />
         <soap12:body use="literal" />
       </wsdl:input>
       <wsdl:output>
-        <wsp:PolicyReference URI="#WSHttpBinding_IUpdateLocation_GetPackedPlugin_output_policy" />
+        <wsp:PolicyReference URI="#WSHttpBinding_IUpdateLocation_GetPluginFiles_output_policy" />
         <soap12:body use="literal" />
       </wsdl:output>
Index: branches/PluginInfrastructure Refactoring/HeuristicLab.PluginInfrastructure/Service References/UpdateLocationReference/UpdateLocation.xsd
===================================================================
--- branches/PluginInfrastructure Refactoring/HeuristicLab.PluginInfrastructure/Service References/UpdateLocationReference/UpdateLocation.xsd	(revision 2517)
+++ branches/PluginInfrastructure Refactoring/HeuristicLab.PluginInfrastructure/Service References/UpdateLocationReference/UpdateLocation.xsd	(revision 2527)
@@ -2,18 +2,20 @@
 <xs:schema xmlns:tns="http://tempuri.org/" elementFormDefault="qualified" targetNamespace="http://tempuri.org/" xmlns:xs="http://www.w3.org/2001/XMLSchema">
   <xs:import schemaLocation="http://localhost:59253/UpdateLocation.svc?xsd=xsd2" namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Update.Service" />
-  <xs:import schemaLocation="http://localhost:59253/UpdateLocation.svc?xsd=xsd4" namespace="http://schemas.microsoft.com/Message" />
-  <xs:element name="GetAvailablePlugins">
-    <xs:complexType>
-      <xs:sequence />
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="GetAvailablePluginsResponse">
+  <xs:import schemaLocation="http://localhost:59253/UpdateLocation.svc?xsd=xsd4" namespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays" />
+  <xs:element name="GetAvailablePluginsByName">
     <xs:complexType>
       <xs:sequence>
-        <xs:element xmlns:q1="http://schemas.datacontract.org/2004/07/HeuristicLab.Update.Service" minOccurs="0" name="GetAvailablePluginsResult" nillable="true" type="q1:ArrayOfPluginInformation" />
+        <xs:element minOccurs="0" name="name" nillable="true" type="xs:string" />
       </xs:sequence>
     </xs:complexType>
   </xs:element>
-  <xs:element name="GetPackedPlugin">
+  <xs:element name="GetAvailablePluginsByNameResponse">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element xmlns:q1="http://schemas.datacontract.org/2004/07/HeuristicLab.Update.Service" minOccurs="0" name="GetAvailablePluginsByNameResult" nillable="true" type="q1:ArrayOfPluginInformation" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="GetPluginFiles">
     <xs:complexType>
       <xs:sequence>
@@ -22,8 +24,8 @@
     </xs:complexType>
   </xs:element>
-  <xs:element name="GetPackedPluginResponse">
+  <xs:element name="GetPluginFilesResponse">
     <xs:complexType>
       <xs:sequence>
-        <xs:element xmlns:q3="http://schemas.microsoft.com/Message" name="GetPackedPluginResult" type="q3:StreamBody" />
+        <xs:element xmlns:q3="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="GetPluginFilesResult" nillable="true" type="q3:ArrayOfbase64Binary" />
       </xs:sequence>
     </xs:complexType>
Index: branches/PluginInfrastructure Refactoring/HeuristicLab.PluginInfrastructure/Service References/UpdateLocationReference/UpdateLocation4.xsd
===================================================================
--- branches/PluginInfrastructure Refactoring/HeuristicLab.PluginInfrastructure/Service References/UpdateLocationReference/UpdateLocation4.xsd	(revision 2517)
+++ branches/PluginInfrastructure Refactoring/HeuristicLab.PluginInfrastructure/Service References/UpdateLocationReference/UpdateLocation4.xsd	(revision 2527)
@@ -1,6 +1,9 @@
 <?xml version="1.0" encoding="utf-8"?>
-<xs:schema xmlns:tns="http://schemas.microsoft.com/Message" elementFormDefault="qualified" targetNamespace="http://schemas.microsoft.com/Message" xmlns:xs="http://www.w3.org/2001/XMLSchema">
-  <xs:simpleType name="StreamBody">
-    <xs:restriction base="xs:base64Binary" />
-  </xs:simpleType>
+<xs:schema xmlns:tns="http://schemas.microsoft.com/2003/10/Serialization/Arrays" elementFormDefault="qualified" targetNamespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+  <xs:complexType name="ArrayOfbase64Binary">
+    <xs:sequence>
+      <xs:element minOccurs="0" maxOccurs="unbounded" name="base64Binary" nillable="true" type="xs:base64Binary" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:element name="ArrayOfbase64Binary" nillable="true" type="tns:ArrayOfbase64Binary" />
 </xs:schema>
