Вопрос Как провести проверку на наличие .Net Framework?

Хамик

Старожил
Имеется программа для работы которой нужен Framework не ниже 3.0 версии. Как сделать так чтобы при наличии требуемого framework установка продолжалась, а при отсутствии выскакивало сообщение о том что на компьютере не обнаружен framework и предлагалось два действия (две кнопки OK & Cancel) при нажатии на кнопку ок загружалась последняя версия framework и потом автоматом установилась и после этого продолжилась установка не посредственно самой программы, а при выборе Cancel прерывалась полностью установка программы? Спасибо! Надеюсь на вашу помощь...
 

sergey3695

Ветеран
Модератор
Хамик, такой код уже имеется. на руборде нашел через поиск.
Код:
           if NetFrameWorkInstalled = false then
           begin
               NetFrameWorkInstalled := RegKeyExists(HKLM,'SOFTWARE\Microsoft\.NETFramework\policy\v4.0');
               if NetFrameWorkInstalled =true then
               begin
                  Result := true;
               end;
так проще
Код:
[Setup]
AppName=.NETFramework
AppVerName=.NETFramework
CreateAppDir=false

[Code_]
function InitializeSetup(): Boolean;
var
  ErrorCode: Integer;
begin
if RegKeyExists(HKLM,'SOFTWARE\Microsoft\.NETFramework\policy\v3.0') or RegKeyExists(HKLM,'SOFTWARE\Microsoft\.NETFramework\policy\v3.5') or RegKeyExists(HKLM,'SOFTWARE\Microsoft\.NETFramework\policy\v4.0') then
begin
  Result := true;
end else begin
if MsgBox('This setup requires the .NET Framework. Please download and install the .NET Framework and run this setup again. Do you want to download the framwork now?',
  mbConfirmation, MB_YESNO) = idYes then
  ShellExec('open', 'http://download.microsoft.com/download/a/a/c/aac39226-8825-44ce-90e3-bf8203e74006/dotnetfx.exe','','',SW_SHOWNORMAL,ewNoWait,ErrorCode);
  Result:= false;
end;
end;
при нажатии на кнопку ок загружалась последняя версия framework и потом автоматом установилась и после этого продолжилась установка не посредственно самой программы
пусть пользователь сам ставит. или таскать framework с собой и тухо ставить его из папки. а в этот момент показать потождите и анимацию может или прогрессбар с ожиданием. это все не нужно. лучше как здесь. 8-)
 

Хамик

Старожил
sergey3695, Спасибо!
Код:
ShellExec('open', 'http://download.microsoft.com/download/a/a/c/aac39226-8825-44ce-90e3-bf8203e74006/dotnetfx.exe','','',SW_SHOWNORMAL,ewNoWait,ErrorCode);
Здесь используется ссылка на последнюю версию framework? Или именно на 3?
 
Сверху