private void downloadConfig() {
			//Updatekonfiguration herunterladen
			byte[] rawUpdateConfiguration =
				webclient.DownloadData(internalHelper.prepareUpdateLocation(_controllerInstance.updateLocation) + "update.xml");
			var sContainer = new SecureContainer();
			sContainer.Load(rawUpdateConfiguration);
			currentConfiguration = Serializer.Deserialize(sContainer.Content);

			//Signatur der Updatekonfiguration überprüfen
			/*string publicKey = (string.IsNullOrEmpty(_controllerInstance.publicKey) ? currentConfiguration.PublicKey : _controllerInstance.publicKey);
			if (!Core.RSA.validateSign(sContainer.Content, sContainer.Signature, publicKey))
				throw new Exception(Language.GetString("searchProvider_invalidSignatureException"));*/

			//Sende Statistiken über die Updateanfrage
			var log = new updateLogRequest(_controllerInstance, currentConfiguration);
			lock (log)
				log.sendRequest(0);
		}
		/// <summary>Erstellt eine neue Updatekonfiguration mit den aktuellen Daten aus dem Projekt.</summary>
		protected byte[] buildConfiguration() {
			var configuration = new updateConfiguration {
			                                            	projectId = Session.currentProject.projectId,
			                                            	PublicKey = Session.currentProject.keyPair.publicKey,
			                                            	applicationName = Session.currentProject.projectName
			                                            };

			if (Session.currentProject.updateLogEnabled && Session.currentProject.updateLogUser.Verified)
				configuration.linkedUpdateLogAccount = new updateLogLinkedAccount
				                                       {serverUrl = Session.currentProject.updateLogUser.serverUrl};
			else
				configuration.linkedUpdateLogAccount = null;

			configuration.generateNativeImages = Session.currentProject.generateNativeImages;
			configuration.startParameterSuccess = Session.currentProject.updateParameterSuccess;
			configuration.startParameterFailed = Session.currentProject.updateParameterFailed;
			configuration.setupId = Session.currentProject.updateSetupId;

			//Updatepakete hinzufügen
			foreach (var package in updatePackages)
				configuration.updatePackages.Add(package);

			//Konfiguration signieren und speichern
			var configurationContainer = new SecureContainer {Content = Serializer.Serialize(configuration)};
			configurationContainer.Signature = RSA.Sign(configurationContainer.Content, Session.currentProject.keyPair.privateKey);
			return configurationContainer.Save();
		}
		private updateConfiguration downloadConfiguration(string updateUrl) {

			string completeUrl = updateUrl;

			//Fix missing Url parts
			if (!completeUrl.EndsWith("/"))
				completeUrl = completeUrl + "/";
			completeUrl = completeUrl + "update.xml";

			//Download Configuration
			var client = Session.createWebClient();
			byte[] configurationData = client.DownloadData(completeUrl);

			var container = new SecureContainer();
			container.Load(configurationData);

			//Deserialize and Load Configuration
			return updateSystemDotNet.Core.Serializer.Deserialize(container.Content);
		}