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

Phi*_*ald 12 .net inno-setup

有没有办法检查是否已安装.NET Framework 4并仅在不在系统中时安装它?

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

hasDotnet4 :=
  RegKeyExists(HKEY_LOCAL_MACHINE, 'SOFTWARE\Microsoft\.NETFramework\policy\v4.0');
Run Code Online (Sandbox Code Playgroud)

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

TLa*_*ama 28

最简单的方法是使用Check参数,该参数允许您控制是否[Files]将提取该部分中的某个文件,或者是否[Run]将执行该部分中的某个程序.以下脚本代码显示了.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;
Run Code Online (Sandbox Code Playgroud)

  • 你甚至可以在`[Files]`部分直接使用`Check:`语句来跳过提取步骤. (4认同)