有没有办法检查.NET Framework 4是否已经安装,只有当它不在系统中时才安装它?
我知道,如果通过检查以下注册表项来安装.NET Framework 4,我如何确定?
hasDotnet4 :=
RegKeyExists(HKEY_LOCAL_MACHINE, 'SOFTWARE\Microsoft\.NETFramework\policy\v4.0');
如何根据上述检查有条件地运行.NET Framework 4安装?
答案 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;