private void ParseComandline() { string version = ""; string[] args = Environment.GetCommandLineArgs(); string next = ""; List <string> allowedParams = new List <string> { //Команды замены текстов UI "/Title", "/WhatNew", "/RemindLater", "/UpdateNow", "/Available", "/Current", "/PleaseWait", "/DownloadingFile", "/ExtractingUpdate", //Методы обновления "/GitHub", "/XMLS", "/API", //Настройки "/JustDownload", "/LogLang", "/Version", "/RunApp", "/RunAppParams", "/DarkTheme" }; foreach (var arg in args) { if (allowedParams.Contains(arg)) { switch (arg) { //Методы обновления case "/GitHub": //GitHub Releases MyStatic.Type = UpdateType.GitHubReleases; break; case "/XMLS": //XMLServer (Не сделан) MyStatic.Type = UpdateType.XMLServer; break; case "/API": //wsxz.ru/api/ (Не сделан) MyStatic.Type = UpdateType.WSXZApi; break; //Настройки case "/JustDownload": //Только скачивание и распаковывание Button_Click(UpdateNow, new RoutedEventArgs()); return; case "/DarkTheme": var uri = new Uri("DarkTheme.xaml", UriKind.Relative); ResourceDictionary resourceDict = Application.LoadComponent(uri) as ResourceDictionary; Application.Current.Resources.MergedDictionaries.Clear(); Application.Current.Resources.MergedDictionaries.Add(resourceDict); break; } next = arg; } else if (!string.IsNullOrEmpty(next)) { switch (next) { //Команды замены текстов UI case "/Title": DownLoader.Title = Title = arg; break; case "/WhatNew": WN.Content = arg; break; case "/RemindLater": RemindMeLater.Content = arg; break; case "/UpdateNow": UpdateNow.Content = arg; break; case "/Available": AvailableVer.Content = arg; break; case "/Current": CurrentVer.Content = arg; break; case "/PleaseWait": DownLoader.PleaseWait.Content = arg; break; case "/DownloadingFile": Downloader.DownloadingUpdate = arg; break; case "/ExtractingUpdate": Downloader.ExtractUpdate = arg; break; //Методы обновления case "/GitHub": case "/XMLS": case "/API": MyStatic.LinkOrToken = arg; break; //Настройки case "/LogLang": //Язык логов MyStatic.LogLanguage = arg; break; case "/Version": //Версия version = arg; break; case "/RunApp": //Что запускать MyStatic.RunAfterUpdate = arg; break; case "/RunAppParams": //Параметры запуска MyStatic.RunAfterUpdateParams = arg; break; } next = ""; } } if (MyStatic.Type == UpdateType.None) { MyStatic.RunApp(); } //Если версия не указана берем ее сами if (string.IsNullOrEmpty(version)) { if (File.Exists(MyStatic.RunAfterUpdate)) { var versionInfo = FileVersionInfo.GetVersionInfo(MyStatic.RunAfterUpdate); version = versionInfo.ProductVersion; } } if (!MyStatic.CheckVersion(version, out string lV) && File.Exists(MyStatic.RunAfterUpdate)) { MyStatic.RunApp(); } else { AvailableVer.Content += " - " + lV; if (!string.IsNullOrEmpty(version)) { CurrentVer.Content += " - " + version; } else { CurrentVer.Content = ""; } UpdLog.Text = MyStatic.GetUpdateLog(version); } }