|
Программирование >> Автоматически обновляемые приложения
.NET Framework 1.0 При установке .NET Framework 1.0 в реестре появляется строковый параметр 4322 в разделе: HKLM\Software\Microsoft\.NETFramework\Policy\vl.O\ Параметр 4322 определяет номер сборки и может различаться на разных компьютерах. .NET Framework версий 1.1, 2.0 3.0 и v3.5 (Orcas) Специалисты Microsoft сочли, что такая реализация метода кодирования версии не слишком удачна, и, начиная с .NET Framework 1.1, стали применять другой подход для кодирования версий. Теперь при установке новой версии .NET Framework вносятся записи в раздел реестра HKLM\Software\Microsoft\NET Framework SetupVNDP Записи в реестре, соответствующие различным версиям .NET Framework, делаются в разделах, перечисленных в табл. 9.2. Таблица 9.2. Записи в реестре
В этих разделах (за исключением .NET Framework 3.0) имеется параметр типа DWORD Install, который имеет значение 1, если соответствующая версия .NET Framework установлена. Также в этих разделах (кроме .NET Framework 3.0) имеется еще один параметр типа DWORD SP, который показывает нали- чие установленного сервис-пака. Для .NET Framework 2.0 и 3.5 в этом же разделе реестра имеются еще параметры типа DWORD Increment (для 2.0) и Version (3.5), которые содержат номер сборки (build). .NET Framework 3.0 Как вы обратили внимание, версия .NET Framework 3.0 стоит немного особняком. Данная версия использует несколько собственных записей в реестре, связанных с новыми библиотеками Foundation, которые вошли в состав платформы. Для определения версии платформы и установленных библиотек используются записи в реестре, перечисленные в табл. 9.3. Таблица 9.3. Настройки в реестре для .NET Framework 3.0
В указанных в таблице разделах имеется параметр типа DWORD InstallSucces, который свидетельствует об успешной установке соответствующей библиотеки. Здесь также может присутствовать параметр SP, который свидетельствует об установленном сервис-паке. А строковый параметр Version или File-Version (для Windows Workflow Foundation) указывает на точный номер версии .NET Framework. За более детальной информацией обратитесь к статье Using managed code to detect what .NET Framework versions and service packs are installed , которую можно найти по адресу http: www.codeproject.com/ useritems/frameworkversiondetection.asp. Автор статьи пошел гораздо дальше меня в изысканиях по этому вопросу и написал всеобъемлющий код, позволяющий извлечь подробную информацию обо всех версиях и сервис- f Листийг 9.18* Получение списка версий >NET Framework При написании программы использовался исходный код из примера Using managed code to detect what .NET Framework versions and service packs are installed который можно найти по адресу http: www.codeproj ect.com/useritems/frameworkversiondetect ion.asp using Microsoft.Win32; using System.Globalization; const string NetfxllRegKeyName = SoftwareWMicrosoftWNET Framework Setup\\NDP\\vl. 1. 4322 ; const string Netfx20RegKeyName = SoftwareWMicrosoftWNET Framework Setup\\NDP\\v2 . 0 . 50727 ; const string NetfxllPlusRegValueName = Install ; const string NetfxllPlusSPxRegValueName = SP ; const string Netfx20PlusBuildRegValueName = Increment ; / <summary> / Версии .NET Framework / </summary> public enum FrameworkVersion { .NET Framework 1.0 FxlO, .NET Framework 1.1 Fxll, .NET Framework 2.0 Fx20, .NET Framework 3.0 Fx30, .NET Framework 3.5 (Orcas) Fx35, паках .NET Framework, установленных на компьютере. Так как код оригинальной программы слишком велик, я написал свой укороченный вариант этой программы (листинг 9.18), который позволяет извлечь информацию только о двух версиях - 1.1 и 2.0.
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |