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 的条件时,我看到了这个
- Registry has value HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full\Release < 394806
- Win 7/Win Server 2008 R2 (SP 1+)
- Win 8/Win Server 2012
- Win 8.1/Win Server 2012 R2
- 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
组作为先决条件。我怎样才能确保
- .NET 4.6.2 为4.6.2以下的用户自动安装
- .NET 4.6.2。 4.6.2 以上的用户将不会安装
根据 flexerasoftware 提供的答案,无法在基本 MSI 项目中执行此操作。
我能够通过使用 Advanced UI Suite 项目并添加 .NET Framework 4.6.2 作为依赖包来让它工作。
在“检测条件”部分使用自定义 Or 逻辑配置它以检查是否应安装 4.6.2
当我查看安装 4.6.2 .NET Framework 的条件时,我看到了这个
- Registry has value HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full\Release < 394806
- Win 7/Win Server 2008 R2 (SP 1+)
- Win 8/Win Server 2012
- Win 8.1/Win Server 2012 R2
- 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
组作为先决条件。我怎样才能确保
- .NET 4.6.2 为4.6.2以下的用户自动安装
- .NET 4.6.2。 4.6.2 以上的用户将不会安装
根据 flexerasoftware 提供的答案,无法在基本 MSI 项目中执行此操作。
我能够通过使用 Advanced UI Suite 项目并添加 .NET Framework 4.6.2 作为依赖包来让它工作。
在“检测条件”部分使用自定义 Or 逻辑配置它以检查是否应安装 4.6.2