public void CheckActualVersion() { if (bNewVersionWarningShowing) { return; } using (PriemEntities context = new PriemEntities()) { string currPath = Application.StartupPath; bool bIsDev = false; if (currPath.IndexOf(@"\bin\", StringComparison.OrdinalIgnoreCase) >= 0) { bIsDev = true; } string actualPath = context.C_AppSettings.Where(x => x.ParamKey == "CurrentDir_Foreigners") .Select(x => x.ParamValue).FirstOrDefault(); string sForceAutoOpenCurrentVer = context.C_AppSettings.Where(x => x.ParamKey == "ForceAutoOpenCurrentVer_Foreigners") .Select(x => x.ParamValue).FirstOrDefault(); bool bForceAutoOpenCurrentVer = "1".Equals(sForceAutoOpenCurrentVer, StringComparison.OrdinalIgnoreCase); DateTime dtInfo = new FileInfo(Application.ExecutablePath).LastWriteTime; string versionInfo = string.Format(" (версия от {0})", dtInfo.ToShortDateString() + " " + dtInfo.ToShortTimeString()); if (!bIsDev && !string.IsNullOrEmpty(actualPath) && !currPath.Equals(actualPath, StringComparison.OrdinalIgnoreCase)) { if (bForceAutoOpenCurrentVer) { OpenActualVersion(actualPath); } else { string Message = "Вышла новая версия приложения. Запустить актуальную версию?"; bNewVersionWarningShowing = true; var dr = MessageBox.Show(Message, "Контроль версий", MessageBoxButtons.YesNo); bNewVersionWarningShowing = false; if (dr == System.Windows.Forms.DialogResult.Yes) { OpenActualVersion(actualPath); } else if (bFirstRun) { OpenHelp(string.Format("{0}; Пользователь: {1}", _titleString + versionInfo, MainClass.GetUserName())); } } } else { if (bFirstRun) { OpenHelp(string.Format("{0}; Пользователь: {1}", _titleString + versionInfo, MainClass.GetUserName())); } } } }