如何仅在尚未安装.NET Framework时安装它?

时间:2012-04-11 17:30:50

标签: .net inno-setup

有没有办法检查.NET Framework 4是否已经安装,只有当它不在系统中时才安装它?

我知道,如果通过检查以下注册表项来安装.NET Framework 4,我如何确定?

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

如何根据上述检查有条件地运行.NET Framework 4安装?

1 个答案:

答案 0 :(得分:28)

最简单的方法是使用Check参数,该参数允许您控制是否提取[Files]部分中的某个文件,或者来自{{{ 3}}部分将被执行。以下脚本代码显示了.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;