Ejemplo n.º 1
0
        /// <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);
            }
        }
Ejemplo n.º 2
0
 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);
 }