Программирование >>  Автоматически обновляемые приложения 

1 ... 93 94 95 [ 96 ] 97 98 99 ... 170


private static Version GetNetfxllExactVersion() {

int regValue = 0;

return success;

/ <summary>

/ Возвращает точный номер версии для указанной версии .NET Framework. / </summary>

/ <param name= frameworkVersion >Oднo из значений / <see cref= FrameworkVersion />.</param>

/ <returns>3Ha4eHHe <see cref= Version >version</see>, представляющее

/ точный номер версии для указанной версии .NET Framework.

/ Если указанная версия .NET Framework не найдена, возвращается

/ значение <see cref= Version />, которое представляет

/ номер версии 0.0.0.0.

/ </returns>

public static Version GetExactVersion(FrameworkVersion frameworkVersion) {

Version fxVersion = new Version();

switch (frameworkVersion) {

case FrameworkVersion.Fxll:

fxVersion = GetNetfxllExactVersion(); break;

case FrameworkVersion.Fx20:

fxVersion = GetNetfx20ExactVersion(); break;

default: break;

return fxVersion;



if (regValue ==1) {

В строгом смысле мы здесь мухлюем, но имя ключа реестра

само содержит номер версии.

string[] tokens = NetfxlIRegKeyName.Split(

new string[] { NDP\\v }, StringSplitOptions.None); if (tokens.Length == 2) {

fxVersion = new Version(tokens[1]);

return fxVersion;

private static Version GetNetfx20ExactVersion() {

string regValue = String.Empty;

Мы можем получить -1 только, если .NET Framework

не установлена или произошла какая-то ошибка при извлечении

данных из реестра

Version fxVersion = new Version();

if (GetRegistryValue(RegistryHive.LocalMachine,

Netfx2ORegKeyName, Netfx20PlusBuiIdRegValueName, RegistryValueKind.String, out regValue))

if ([String.IsNullOrEmpty(regValue)) {

В строгом смысле мы здесь мухлюем, но имя ключа реестра само содержит номер версии.

Мы можем получить -1 только, если .NET Framework

не установлена или произошла какая-то ошибка при извлечении

данных из реестра

Version fxVersion = new Version();

if (GetRegistryValue(RegistryHive.LocalMachine, NetfxlIRegKeyName, Netfxl1PlusRegValueName, RegistryValueKind.DWord, out regValue))



string[] versionTokens = Netfx2ORegKeyName.Split(

new string[] { NDP\\v }, StringSplitOptions.None) versionTokens.Length == 2)

if {

string[] tokens = versionTokens[1].Split(.;

if (tokens.Length == 3)

fxVersion = new Version(

Convert.ToInt32(tokens[0],

NumberFormatInfo.Invariantlnfo), Convert.ToInt32(tokens[1],

NumberFormatInfo.Invariantlnfo), Convert.ToInt32(tokens[2],

NumberFormatInfo.Invariantlnfo), Convert.ToInt32(regValue,

NumberFormatlnfo.Invariantlnfo)) ,

return fxVersion;

/ <summary>

/ Возвращает сервис-пак для указанной версии .NET Framework. / </summary>

/ <param name= frameworkVersion >Oднo из значений / <see cref= FrameworkVersion />.</param>

/ <returns>3Ha4eHHe <see cref= Int32 >integer</see>, представляющее / собой сервис-пак для указанной версии .NET Framework. Если / указанная версия .NET Framework не найдена, возвращается -1. / </returns>

public static int GetServicePackLevel(FrameworkVersion frameworkVersion) {

int ServicePackLevel = -1;

switch (frameworkVersion) {

case FrameworkVersion.Fxll:

ServicePackLevel = GetNetfxllSPLevel(); break;



1 ... 93 94 95 [ 96 ] 97 98 99 ... 170

© 2006 - 2024 pmbk.ru. Генерация страницы: 0.001
При копировании материалов приветствуются ссылки.
Яндекс.Метрика