static void RegisterUpdate(IConfigurator configurator, IAspInfo asp) { LogFile.WriteFormatted("Copying update to {0} installation directory...", IbnConst.ProductName); IUpdateInfo[] updates = configurator.GetUpdateInfo(Settings.UpdateDir); int maxVersion = 0; foreach (IUpdateInfo update in updates) { if (update.Version > maxVersion) maxVersion = update.Version; } string updatesDir = Path.Combine(Settings.InstallDir, "Updates"); string updateDir = Path.Combine(updatesDir, maxVersion.ToString(CultureInfo.InvariantCulture)); if (Directory.Exists(updateDir)) { LogWriteFailed(); string message = string.Format(CultureInfo.InvariantCulture, "Update {0} already exists.", maxVersion); LogFile.WriteLine(message); if (asp != null) throw new UpdateException(message); } else { CopyDirectory(Settings.UpdateDir, updateDir); LogWriteOk(); } }