Example #1
0
        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();
            }
        }