1. Уважаемые гости и пользователи форума.
    Администрация настоятельно рекомендует не регистрировать несколько аккаунтов для одного пользователя. При выявлении наличия мультиаккаунтов будут заблокированы все учетные записи данного пользователя.
    Аккаунты, зарегистрированные на временную почту будут также заблокированы.

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

Тема в разделе "Inno Setup", создана пользователем Хамик, 22 июн 2014.

  1. Ветеран

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

    Регистрация:
    26 июн 2011
    Сообщения:
    896
    Симпатии:
    613
    Хамик, такой код уже имеется. на руборде нашел через поиск.
    Код (Text):
               if NetFrameWorkInstalled = false then
               begin
                   NetFrameWorkInstalled := RegKeyExists(HKLM,'SOFTWARE\Microsoft\.NETFramework\policy\v4.0');
                   if NetFrameWorkInstalled =true then
                   begin
                      Result := true;
                   end;
    так проще
    Код (Text):

    [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 с собой и тухо ставить его из папки. а в этот момент показать потождите и анимацию может или прогрессбар с ожиданием. это все не нужно. лучше как здесь. 8-)
     
    Хамик нравится это.
  3. Ветеран

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

Поделиться этой страницей