Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Framework [D7, WinXP]


серега78 ©   (2005-12-15 16:19:00) 

народ, помогите.

как используя WinAPI определить какая версия Framework установлена и установленна ли вообще?


Дима   (2005-12-30 10:19:00) [1]

Люди!
У меня такая проблема:после установки NETFramework через двадцать дней система начинает требовать перерегистрации через 9-8-7-6-5-4-3-2-1 дней и далее go to резервная копия.Старые кряки не помогают,новые тоже.
Пробовал искать кряки для этого пакета в сети,но ничего похожего не нашел.То ли нужен какой-то специфический кряк,то ли это просто системный глюк,не знаю.Если кто-то сталкивался с подобной проблемой или знает,как её решать,напишите.
Система у меня WinXP+SP1+reset5.

P.S.Всех с наступающим Новым Годом!


clickmaker   (2005-12-15 17:27:00) [2]


> серега78   (15.12.05 16:43) [3]

отладчиком пройди


серега78   (2005-12-15 16:43:00) [3]

Я тут наше кое чего, но не работает почему-то


function TForm1.EnumInstalledRuntimes(Index: Integer; out VersionName: String):
Boolean;
var
 hkey: Windows.HKEY;
 hsubkey: Windows.HKEY;
 I: Cardinal;
 J: Cardinal;
 NameBuf: array[0..MAX_PATH] of Char;
 CNameBuf: Cardinal;
 lwt: TFileTime;
 vt: DWORD;
 AnyFound: Boolean;
begin
 Result := False;
 VersionName := '';
 if ERROR_SUCCESS = RegOpenKeyEx(HKEY_LOCAL_MACHINE,
 PChar('SOFTWARE\Microsoft\.NETFramework\policy'), 0,
 KEY_ENUMERATE_SUB_KEYS, hkey) then
 try
   I := 0;
   while True do
   begin
     AnyFound := False;
     CNameBuf := MAX_PATH + 1;
     if ERROR_SUCCESS <> RegEnumKeyEx(hkey, I, @NameBuf[0], CNameBuf,nil, nil, nil, @lwt) then
     begin
       Break;
     end;
     if (NameBuf[0] = 'v') and (NameBuf[1] in ['1'..'9']) then
     begin
       VersionName := String(NameBuf);
       if ERROR_SUCCESS = RegOpenKeyEx(hkey, @NameBuf[0], 0,KEY_QUERY_VALUE, hsubkey) then
       try
         J := 0;
         while true do
         begin
           CNameBuf := MAX_PATH + 1;
           if ERROR_SUCCESS <> RegEnumValue(hsubkey, J, @NameBuf[0],CNameBuf, nil, @vt, nil, nil) then
           begin
             Break;
           end;
           if (vt = REG_SZ) and (NameBuf[0] <> #0) then
           begin
             VersionName := VersionName + '.' + String(NameBuf);
             AnyFound := True;
             Break;
           end;
           Inc(J);
         end;
       finally
         RegCloseKey(hsubkey);
       end;
     end;
     Inc(I);
     if AnyFound then
     begin
       if Index = 0 then
       begin
         Result := True;
         Break;
       end;
       Dec(Index);
     end;
   end;
 finally
   RegCloseKey(hkey);
 end;
end;


Джо   (2005-12-15 16:39:00) [4]

Если имеется в виду .Net Framework, то см. ключ реестра:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\policy.

Кроме того, самая последняя версия установленного фреймворка будет прописана в VersionInfo файла windows\system32\MscorEE.dll (если установлена).


Lamer@fools.ua   (2005-12-15 16:30:00) [5]

> как используя WinAPI определить какая версия Framework установлена и установленна ли вообще?

Framework чего?


Наверх

Титульная страница Поиск, карта сайта Написать письмо