Подтвердить что ты не робот

Как установить .NET Framework только тогда, когда она еще не установлена?

Есть ли способ проверить, была ли установлена ​​.NET Framework 4 и установить ее только тогда, когда она не находится в системе?

Я знаю, как определить, если .NET Framework 4 установлена, проверив следующий раздел реестра?

hasDotnet4 :=
  RegKeyExists(HKEY_LOCAL_MACHINE, 'SOFTWARE\Microsoft\.NETFramework\policy\v4.0');

Как я могу условно запустить установку .NET Framework 4 на основе вышеуказанной проверки?

4b9b3361

Ответ 1

Самый простой способ - использовать параметр Check, который позволяет вам контролировать, если определенный файл из < раздел href= "http://jrsoftware.org/ishelp/topic_filessection.htm" rel= "nofollow noreferrer" > [Files], или если определенная программа из [Run] будет выполнен. Следующий код script показывает его использование для условной установки .NET Framework 4:

[Files]
Source: "dotNetFx40_Full_setup.exe"; DestDir: {tmp}; \
  Flags: deleteafterinstall; Check: FrameworkIsNotInstalled

[Run]
Filename: "{tmp}\dotNetFx40_Full_setup.exe"; Check: FrameworkIsNotInstalled

[Code]

function FrameworkIsNotInstalled: Boolean;
begin
  Result :=
    not RegKeyExists(
      HKEY_LOCAL_MACHINE, 'SOFTWARE\Microsoft\.NETFramework\policy\v4.0');
end;