/// <summary>Основной метод.</summary> /// <param name="args">Аргументы.</param> public static void Main(string[] args) { // удаление процесса var localProcs = Process.GetProcesses(); try { // Вычитывание параметров из XML // Инициализация модели настроек settingsXml = new SettingsXml <SettingsShell.RootElement>(SettingsPath); settings.SoftUpdate = new SettingsShell.SoftUpdate(); if (!File.Exists(SettingsPath)) { settings = SetDefaultValue(settings); // Значения по умолчанию settingsXml.WriteXml(settings); } else { settings = settingsXml.ReadXml(settings); } // Вычитывание параметров из удаленного xml // Инициализация модели настроек var remoteSettingsXml = new SettingsXml <RemoteSettingsShell.RootElementRemoteSettings>(settings.SoftUpdate.RemoteSettingsPath); remoteSettings.Phonebook = new RemoteSettingsShell.Phonebook(); remoteSettings.PhonebookUpd = new RemoteSettingsShell.PhonebookUpd(); if (!string.IsNullOrEmpty(settings.SoftUpdate.RemoteSettingsPath)) { remoteSettings = remoteSettingsXml.ReadXml(remoteSettings); } var targetProc = localProcs.First(p => p.ProcessName == TargetName); targetProc.Kill(); logger.Info("Программа P3.exe выключена"); if (!string.IsNullOrEmpty(settings.SoftUpdate.RemoteSettingsPath)) { UpdateSoft(); } else { Console.WriteLine($"Неверный путь к файлу конфигурации {settings.SoftUpdate.RemoteSettingsPath}"); } } catch (Exception ex) { logger.Error(ex.Message); } }
private static SettingsShell.RootElement SetDefaultValue(SettingsShell.RootElement set) { set.SoftUpdate.RemoteSettingsPath = @"d:\Temp\RemoteProp.xml"; set.SoftUpdate.VersionUpd = Assembly.GetCallingAssembly().GetName().Version.ToString(); return(set); }