Microsoft Visual Studio 2017安装程序项目启动条件检查对.NET 4.7.1不起作用

4

我正在使用版本为Visual Studio Professional的软件,这个版本被宣布支持 .NET Framework 4.7.1。

我从市场上安装了Microsoft Visual Studio 2017 Installer Projects扩展。

生成一个Visual Studio安装程序项目来生成.NET Framework Windows服务控制台应用程序的MSI,在“Launch Condition”标签内,将 .NET Framework 版本设置为目标4.7.1。

在任何低于4.7的系统中(如4.6.1 / 4.6 / 4.5.2等),msi启动检查都能正常工作,启动检查将阻止安装程序启动。但在安装有Windows 2012 R2和.NET 4.7的操作系统中,启动检查也应该失败。但是,.NET 4.7通过了启动检查并继续启动安装程序。

是否有人遇到了同样的问题,并且有解决方法?我需要在我的Microsoft Visual Studio 2017安装程序项目中支持 .NET 4.7.1 的启动检查。


为什么您认为未安装4.7.1?Windows 10会不断升级自己。旧版本受支持,这意味着除非管理员采取了明确的措施防止升级,否则所有Windows 10机器都将拥有4.7.2。4.7.2是在Windows 10 2018年4月更新中添加的 - Panagiotis Kanavos
我检查了注册表键路径HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full。 键Release的值为“460805”。 这意味着它是.Net框架4.7.0版本。操作系统版本为Windows server 2012 R2。 - Krishna Prasad
你询问的是 Windows 10,不是 Windows 2012 R2。 - Panagiotis Kanavos
抱歉,操作系统版本已更正。 - Krishna Prasad
1个回答

3
这是因为Microsoft Visual Studio安装程序只考虑版本的前两位数字。为了解决这个问题,您可以创建启动条件来防止安装程序在机器上安装了4.7,但未安装所需版本为4.7.1的.Net框架时启动。
请参见定义启动条件部分。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接