.net - 仅当尚未安装 .NET Framework 时,如何安装它?

标签 .net inno-setup

有没有办法检查是否已安装 .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;

关于.net - 仅当尚未安装 .NET Framework 时,如何安装它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10110978/

相关文章:

.net - ObservableCollection-无法实现,因为它没有匹配的返回类型

inno-setup - Inno 设置脚本 : Identifier expected error

audio - Inno Setup-如何在特定页面中使BASS音频库(音乐)静音?

inno-setup - 如何为 Inno Setup 收集文件

c# - 获取应用程序内实现接口(interface)的所有对象

asp.net - Microsoft .NET Framework 4.6.2 开发包 Windows 10 Build 1607

c# - 调用 Imaging.CreateBitmapSourceFromHIcon 后可以安全地处理图标吗?

c# - 如何使用 XmlWriter 将 System.Xml.Linq.XElement 写入流

installation - Inno Setup 默认安装文件夹更改

inno-setup - 在 Inno Setup 中,我必须在哪里指定 SignTool 的参数和特殊序列?