Installshield .Net framework 先决条件不为没有.net 4.0 或更高版本的用户安装

Installshield .Net framework prerequisite not installing for users without .net 4.0 or above

当我查看安装 4.6.2 .NET Framework 的条件时,我看到了这个

  1. Registry has value HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full\Release < 394806
  2. Win 7/Win Server 2008 R2 (SP 1+)
  3. Win 8/Win Server 2012
  4. Win 8.1/Win Server 2012 R2
  5. Win 10

如果用户定期使用 windows 更新并且 he/she 安装了 4.0+ .NET 框架,这将非常有用。

但是如果 Windows 7 用户从不更新 his/her .NET 框架,那么默认的将是 .NET 3.5

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\将不存在。第一个条件失败,InstallShield 不会尝试在用户机器上安装 .NET 4.6.2。

似乎无法使用 Or 组作为先决条件。我怎样才能确保

  1. .NET 4.6.2 为4.6.2以下的用户自动安装
  2. .NET 4.6.2。 4.6.2 以上的用户将不会安装

根据 flexerasoftware 提供的答案,无法在基本 MSI 项目中执行此操作。

我能够通过使用 Advanced UI Suite 项目并添加 .NET Framework 4.6.2 作为依赖包来让它工作。

在“检测条件”部分使用自定义 Or 逻辑配置它以检查是否应安装 4.6.2