有没有办法检查 .NET Framework 4 是否已安装并仅在它不在系统中时才安装?
我知道,如何通过检查以下注册表项来确定是否安装了 .NET Framework 4?
hasDotnet4 :=
RegKeyExists(HKEY_LOCAL_MACHINE, 'SOFTWARE\Microsoft\.NETFramework\policy\v4.0');
如何根据上述检查有条件地运行 .NET Framework 4 安装?
有没有办法检查 .NET Framework 4 是否已安装并仅在它不在系统中时才安装?
我知道,如何通过检查以下注册表项来确定是否安装了 .NET Framework 4?
hasDotnet4 :=
RegKeyExists(HKEY_LOCAL_MACHINE, 'SOFTWARE\Microsoft\.NETFramework\policy\v4.0');
如何根据上述检查有条件地运行 .NET Framework 4 安装?
您可以做的最简单的事情是使用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;