check for .NET update

This commit is contained in:
Бондарев Иван 2018-02-01 20:33:13 +01:00
parent beb81704a8
commit b90045de2f
5 changed files with 40 additions and 3 deletions

View file

@ -127,7 +127,7 @@ namespace VisualPascalABC
string expressionResult = FindFullExpression(textContent, textArea, out ccp.keyword, out full_expr);
if (expressionResult != null)
expressionResult = expressionResult.Trim();
if (ccp.keyword == KeywordKind.CommonKeyword && !expressionResult.Contains(" "))
if (expressionResult != full_expr && full_expr.StartsWith("("))
return new List<Position>();
List<Position> poses = ccp.GetDefinition(full_expr, textArea.MotherTextEditorControl.FileName, textArea.Caret.Line, textArea.Caret.Column, only_check);
if (poses == null)

View file

@ -8,6 +8,7 @@ using System.Windows.Forms;
using VisualPascalABCPlugins;
using System.Net;
using System.Reflection;
using Microsoft.Win32;
namespace VisualPascalABC
{
@ -18,11 +19,37 @@ namespace VisualPascalABC
}
public bool IsDotnet71Installed()
{
if (Environment.OSVersion.Version.Major < 6)
return true;
try
{
using (var key = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full\1033"))
{
return key != null && (key.GetValue("Version") as string).StartsWith("4.7");
}
}
catch (Exception ex)
{
return true;
}
}
public void CheckForUpdates()
{
int status = 1;//1 - up to date, 0 - not up to date, -1 error
string newVersion = null;
string curVersion = null;
if (!IsDotnet71Installed())
{
if (MessageBox.Show(PascalABCCompiler.StringResources.Get("VP_MF_DOTNET_AVAILABLE"),
PascalABCCompiler.StringResources.Get("VP_MF_DOTNET_UPDATE_CHECK"),
MessageBoxButtons.YesNo) == DialogResult.Yes)
{
WorkbenchServiceFactory.OperationsService.AddTabWithUrl(".NET Framework", PascalABCCompiler.StringResources.Get("VP_MF_FRAMEWORK_DOWNLOAD_PAGE"));
}
}
try
{
WebClient client = new WebClient();

View file

@ -346,6 +346,9 @@ UPDATE_CHECK_ERROR=An error occurred while checking for updates
UPDATE_CHECK=Checking for updates
PABC_DOWNLOAD_PAGE=http://pascalabc.net/en/download
M_CHECKUPDATES=Check for updates
FRAMEWORK_DOWNLOAD_PAGE=https://www.microsoft.com/en-US/download/details.aspx?id=56116
DOTNET_UPDATE_CHECK=Checking for updates of .NET Framework
DOTNET_AVAILABLE=New version of .NET Framework is available(.NET Framework 4.7.1). Do you want to visit the download page?
//Options
%PREFIX%=VP_OC_VIEWOPTIONS_
NAME=General

View file

@ -337,14 +337,18 @@ PRJ_NAMESPACE=Пространство имен
NUGET_PACKAGE=Идентификатор пакета
NUGET_INSTALL=Установить пакет
NUGET_LOG=Лог
VERSION_IS_UP_TO_DATE=Вы используете актуальную версию
VERSION_IS_UP_TO_DATE=Вы используете актуальную версию PascalABC.NET
UPDATE_AVAILABLE=Доступна новая версия PascalABC.NET. Перейти на страницу скачивания?
UPDATE_AVAILABLE_CURRENT_VESION{0}=Установленная версия: {0}
UPDATE_AVAILABLE_NEW_VESION{0}=Доступная версия: {0}
UPDATE_CHECK_ERROR=Ошибка при проверке обновлений
UPDATE_CHECK=Проверка обновлений
UPDATE_CHECK=Проверка обновлений PascalABC.NET
PABC_DOWNLOAD_PAGE=http://pascalabc.net/ssyilki-dlya-skachivaniya
M_CHECKUPDATES=Проверить обновления
FRAMEWORK_DOWNLOAD_PAGE=https://www.microsoft.com/ru-RU/download/details.aspx?id=56116
DOTNET_UPDATE_CHECK=Проверка обновлений .NET Framework
DOTNET_AVAILABLE=Доступна новая версия .NET Framework (.NET Framework 4.7.1). Перейти на страницу скачивания?
//Options
%PREFIX%=VP_OC_VIEWOPTIONS_
NAME=Общие

View file

@ -344,6 +344,9 @@ UPDATE_CHECK_ERROR=Не вдалося перевірити оновлення
UPDATE_CHECK=Перевірка оновлення
PABC_DOWNLOAD_PAGE=http://pascalabc.net/ssyilki-dlya-skachivaniya
M_CHECKUPDATES=Перевірити оновлення
FRAMEWORK_DOWNLOAD_PAGE=https://www.microsoft.com/ru-RU/download/details.aspx?id=56116
DOTNET_UPDATE_CHECK=Перевірка оновлення .NET Framework
DOTNET_AVAILABLE=Доступна нова версія .NET Framework (.NET Framework 4.7.1). Перейти на сторінку завантаження?
//Options
%PREFIX%=VP_OC_VIEWOPTIONS_
NAME=Загальні