Определение установленных обновлений и исправлений системы безопасности .net frameworkhow to determine which .net framework security updates and hotfixes are installed
Содержание:
Критика Править
Реализация платформы .NET Framework вызывала и вызывает множество нареканий.
Одним из главных объектов критики является менее рациональное использование ресурсов системы по сравнению с другими технологиями. Так, например, несколько приложений, выполняющихся в управляемой среде, стремятся захватить больше ресурсов, чем приложения того же типа, но обладающие более прямым доступом к ресурсам компьютера.
Недовольство разработчиков вызывает тот факт, что управляемый CIL-байткод, не подвергшийся обфускации, легко может быть декомпилирован в сравнении с естественным кодом, что может привести к потере коммерческой тайны или дать возможность обхода механизмов контроля соблюдения лицензионных соглашений.
С технической точки зрения платформа также подвергалась критике из-за отсутствия поддержки вызовов Streaming SIMD Extensions (SSE) в управляемом коде. В Mono решили эту проблему, добавив поддержку SIMD Extensions версии 2.2 в пространство имён Mono.Simd. В состав .NET Framework 4.6 входит новый JIT-компилятор RyuJIT, поддерживающий SIMD через пространство имён Microsoft.Bcl.Simd.
Ещё одним поводом для критики является поддержка стандартов, фактически ограничивающих кросс-платформенную реализацию .NET Framework, в результате чего полноценная реализация платформы присутствует лишь для Windows. Частично подобная труднопереносимость компенсируется разработкой нескольких версий платформы для мобильных устройств, а также урезанными версиями .NET Framework для других операционных систем. Однако, несмотря на близость стандартов, принятых при разработке этих версий, конечные реализации полной совместимостью не обладают.
Новые версии платформы (3.5 и далее) вызвали новую волну недовольства тем, что они не предустанавливаются в версии Windows, предшествовавшие выходу Windows 7, что вынуждает пользователей тратить значительное время на их установку.
Языки программирования в .NET Править
Одной из основных идей Microsoft .NET является совместимость программных частей, написанных на разных языках. Например, служба, написанная на C++ для Microsoft .NET, может обратиться к методу класса из библиотеки, написанной на Delphi; на C# можно написать класс, наследованный от класса, написанного на Visual Basic .NET, а исключение, созданное методом, написанным на C#, может быть перехвачено и обработано в Delphi. Каждая библиотека (сборка) в .NET имеет сведения о своей версии, что позволяет устранить возможные конфликты между разными версиями сборок.
Языки, поставляемые вместе с Microsoft Visual Studio:
- C#
- Visual Basic .NET
- JScript .NET
- C++/CLI — новая версия Managed C++
- F# — член семейства языков программирования ML, включён в VS2010/VS2012/VS2015
- J# — последний раз был включён в VS2005
Использование редактора реестраUse Registry Editor
Установленные обновления и исправления безопасности для каждой версии .NET Framework на компьютере перечислены в реестре Windows.The installed security updates and hotfixes for each version of the .NET Framework installed on a computer are listed in the Windows registry. Для просмотра этих сведений можно использовать редактор реестра (regedit.exe).You can use the Registry Editor (regedit.exe) program to view this information.
-
Откройте программу regedit.exe.Open the program regedit.exe. В Windows 8 и выше щелкните правой кнопкой мыши Пуск и выберите Выполнить.In Windows 8 and later versions, right-click Start , then select Run. В поле Открыть введите regedit, а затем нажмите кнопку ОК.In the Open box, enter regedit and select OK.
-
В редакторе реестра откройте следующий подраздел:In the Registry Editor, open the following subkey:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\UpdatesHKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Updates
Установленные обновления перечислены в подразделах, соответствующих версии .NET Framework, к которой они относятся.The installed updates are listed under subkeys that identify the .NET Framework version they apply to. Каждому обновлению присваивается номер базы знаний Microsoft (KB).Each update is identified by a Knowledge Base (KB) number.
В редакторе реестра версии .NET Framework и установленные обновления для каждой версии хранятся в разных подразделах.In the Registry Editor, the .NET Framework versions and installed updates for each version are stored in different subkeys. Сведения об обнаружении номеров установленных версий см. в статье Практическое руководство. Определение установленных версий .NET Framework.For information about detecting the installed version numbers, see How to: Determine which .NET Framework versions are installed.
Важные составляющие
Необходимо знать, что состоит microsoft .net framework из двух частей:
- среда исполнителя;
- подключаемая библиотека.
Главной составляющей можно назвать Common Language Runtime (CLR). Она может выполнять программную часть обычных приложений или серверных, являясь исполняющей средой.
Вторая половинка нужна не менее. Framework Class Library (FCL) – это библиотека классов, в которой содержится достаточно много элементов для обращения с:
- базами данных;
- сетями;
- интерфейсами;
- файлами;
- вводом и выводом данных.
Всё это дает возможность разработчику использовать готовые классы для создания программ, обходя низкоуровневую часть.
Использование дополнительных программ при работе с NET Framework
Даже скачанный с официального сайта дистрибутив Microsoft .NET Framework не всегда корректно работает или проходит процесс инсталляции. Это может зависеть от версии операционной системы или каких-то других системных факторов. В этом случае можно воспользоваться нетрадиционным способом инсталляции платформы с помощью сторонней программы Missed Features Installer 10, которая представляет собой сборку программного обеспечения из устаревших редакций Windows.
Для использования программной сборки Missed Features Installer 10 необходимо выполнить следующий ряд действий:
- Скачать ISO-образ пакета приложений и смонтировать его на DVD-привод с помощью программы Daemon Tools. Можно также записать пакет на DVD-диск или USB-носитель при помощи программы UltraISO или подобного программного обеспечения.
С сайта скачиваем сборку программ для Windows 10
- Запустить файл MFl10.exe и принять условия использования для запуска.
Запустите файл и примите условия использования для запуска
-
Щёлкнуть по пиктограмме Click me 1st! для отключения контроля учётных записей и корректной инсталляции приложений.
В окне программы щёлкаем по пиктограмме Click me 1st!
- Перезагрузить программу и выбрать вкладку Microsoft .NET Framework. В раскрывшемся справа окне выбрать версию 4.6.1 и произвести установку приложения.
В окне программы выбираем нужную версию
- До последней версии Microsoft .NET Framework программа обновится автоматически через интернет.
Как узнать установленную версию Microsoft NET Framework
Кроме способа определения установленной версии Microsoft .NET Framework существует ещё несколько вариантов, предусматривающих использование сторонних и встроенных утилит.
- Утилита ASoft.NET Version Detector — простая программа, не требующая инсталляции. Основные преимущества — это мгновенный вывод на дисплей информации о странице на официальном сайте корпорации Microsoft для скачивания инсталлятора, о странице скачивания SDK и местонахождении каталогов с инсталлированной редакцией. Недостатки — только английский интерфейс.
Просмотр инсталлированных версий Microsoft NET Framework
- Встроенная утилита Regedit — позволяет выяснить инсталлированную редакцию Microsoft .NET Framework средствами Windows 10:
- в сервисе клавиши «Пуск» жмём на строку «Выполнить» и в поле «Открыть» вводим командный интерпретатор regedit;
В поле «Открыть» вводим команду regedit
- включаем редактор и проходим к ветви HKEY_LOCAL_MACHINESOFTWAREMicrosoft NET.FrameworkNDPv.4Client;
В правой части окна отображается версия Microsoft NET Framework
- определяем инсталлированную редакцию Microsoft .NET Framework.
- в сервисе клавиши «Пуск» жмём на строку «Выполнить» и в поле «Открыть» вводим командный интерпретатор regedit;
Архитектура .NET Править
Программа для .NET Framework, написанная на любом поддерживаемом языке программирования, сначала переводится компилятором в единый для .NET промежуточный байт-код Common Intermediate Language (CIL) (ранее назывался Microsoft Intermediate Language, MSIL). В терминах .NET получаетсясборка, англ. assembly. Затем код либо исполняется виртуальной машиной Common Language Runtime (CLR), либо транслируется утилитой NGen.exe в исполняемый код для конкретного целевого процессора. Использование виртуальной машины предпочтительно, так как избавляет разработчиков от необходимости заботиться об особенностях аппаратной части. В случае использования виртуальной машины CLR встроенный в неё JIT-компилятор «на лету» (just in time) преобразует промежуточный байт-код в машинные коды нужного процессора. Современная технология динамической компиляции позволяет достигнуть высокого уровня быстродействия. Виртуальная машина CLR также сама заботится о базовой безопасности, управлении памятью исистеме исключений, избавляя разработчика от части работы.
Архитектура .NET Framework описана и опубликована в спецификации Common Language Infrastructure (CLI), разработанной Microsoft и утверждённой ISOи ECMA. В CLI описаны типы данных .NET, формат метаданных о структуре программы, система исполнения байт-кода и многое другое.
Объектные классы .NET, доступные для всех поддерживаемых языков программирования, содержатся в библиотеке Framework Class Library (FCL). В FCL входят классы Windows Forms, ADO.NET, ASP.NET, Language Integrated Query, Windows Presentation Foundation, Windows Communication Foundation и другие. Ядро FCL называется Base Class Library (BCL).
Как узнать, какая версия NET Framework установлена
Теперь переходим к следующему не менее важному вопросу. В требованиях к программному обеспечению нередко указывается, что программа нуждается в такой-то версии фреймворка
В связи с этим у пользователя может возникнуть необходимость узнать, какой NET Framework установлен в его Windows 7/10. Сделать это нетрудно – существует несколько способов выяснить, какая версия компонента имеется в системе.
С помощью Проводника и командной строки
Все пакеты NET Framework устанавливаются в каталоги C:/Windows/Microsoft.NET/Framework и /Framework64 (в 64-разрядных ОС). Каждой версии соответствует отдельная директория, название которой начинается на V (версия), например, v3.0, v3.5 и так далее. Соответственно, определить редакцию компонента не составит труда, если перейти в Проводнике по указанному адресу и посмотреть названия папок.
Как вариант, содержимое каталогов можно вывести в командной строке, выполнив команду dir %WINDIR%/Microsoft.Net/Framework/v* /O:-N /B. По итогам запроса в консоли будут показаны все установленные версии фреймворка за исключением версии 4.5, находящейся в папке v4.0.ХХХХ.
Через редактор реестра
Еще одна методика предполагает использование реестра. Запустив командой regedit редактор реестра, разверните в левой колонке ветку HKLM/SOFTWARE/Microsoft/NET Framework Setup/NDP. В последнем подразделе вы увидите папки, имена которых будут соответствовать имеющимся в Windows версиям NET Framework.
Чтобы определить, установлена ли в системе версия NET Framework 4.5 и выше, зайдите в расположение v4/Full и обратите внимание на параметры Install и Version. Значение 1 для первого параметра будет означать, что компонент установлен и активен, значение второго параметра содержит полный номер версии компонента
Это же касается и других редакций фреймворка. Отсутствие подкаталога Full укажет на то, что компонент NET Framework 4.5 или более поздней версии не установлен.
С помощью сторонних утилит
Тем, кто не желает утруждать себя копанием в реестре, рекомендуем воспользоваться сторонними инструментами. Скачайте с сайта разработчика www.asoft.be/prod_netver.html утилиту «ASoft .NET Version Detector» и запустите. Утилита выведет список установленных версий фреймворка в нижней части окна в поле с голубым фоном. Также тулза покажет обновления компонента.