选择什么.NET版本以避免安装另一个框架

本文关键字:安装 另一个 框架 什么 NET 版本 选择 | 更新日期: 2023-09-27 18:19:41

当我不想在Windows XP SP3/Vista/7/8/8.1/10上安装其他.NET框架版本时,我应该选择什么.NET目标框架构建?

所有这些都是以.NET版本提供的。

原因是:我的大多数目标受众几乎没有使用计算机的经验,因此该应用程序应该开箱即用,无需安装额外的.NET框架。

.NET版本对我来说并不重要,因为我只使用自1.1版以来一直在.NET中使用的基本内容

Windows XP的兼容性很好,但却是可选的。

我已经考虑过在C++中制作一个小存根,只检查已安装的.NET,提取并启动正确的构建。但如果没有其他方法,这只是我的备用解决方案(顺便说一句,这行得通吗?)

TL;DR:我不想让我的客户弹出"你需要安装.NET X.Y才能运行这个应用程序"。

选择什么.NET版本以避免安装另一个框架

正如已经链接的维基百科页面所表明的,这个问题没有通用的解决方案。当你不想将安装程序与你的应用程序一起提供时,它不会在所有版本的windows上开箱即用。

XP预装了1.0,但这已经很旧了,我会避免继续使用它,所以需要安装2、3或4。Vista预装了3.0,但Win 8和Win 10只预装了.NET 4.0或4.5。因此,如果你的目标是3.0框架,Win 8或Win 10的用户需要手动安装软件包(只需点击几下,但他们是需要的)。

XP只支持4.0,任何更新的框架都不会安装在那里。

有很多方法可以将.NET框架安装程序包含在部署的应用程序中。一般来说,除非您在Visual Studio中使用ClickOnce,否则您将需要一个外部包。两个这样的软件包是WIX工具集和InstallShield软件包。InstallShield的有限版本附带了某些版本的Visual Studio。在这两种情况下,您都可以选择创建一个安装程序,该安装程序将首先安装必备的.NET框架:

http://wixtoolset.org/

https://msdn.microsoft.com/en-us/library/dn531020.aspx

根据维基百科的信息:

如果Windows XP支持是可选的,您可以选择预装在Windows Vista及更高版本中的.NET Framework 3.0。

编辑:

在MSDN的这篇文章中,它说Windows XP中没有预装.NET Framework。

使用.Net Framework 4.0(XP支持)并在安装程序之前安装它。

Windows XP Home and Professional SP3包括基于MSI的.NET Framework 1.1+SP1.NET Framework包含在哪个版本的操作系统中

您的答案将来自您的人口统计。

如前所述:
XP是<4.0带1.0库存
Vista 3.0库存
赢得7+4.0股票

因此,在您列出的所有操作系统上都没有.NET可以作为目标。不要把目标对准最不常见的操作系统作为最低限度。

你需要做的是对你可能的客户群进行人口统计研究。他们使用最多的操作系统是什么?如果他们中的大多数都在Vista上,那么就以3.0为目标,让其他人安装一个框架。如果大多数人都在Win7上,那么就以4.0为目标,让其他人安装一个框架。等等。通过针对大多数客户群正在使用的框架,您可以降低有人需要安装框架的可能性。你不能消除它。只需关注大多数人,并为少数人提供明确的指示。

.NET v3.0包含在Windows Vista中。我不建议再支持WINXP。

如果你想支持XP,你仍然可以选择vor 3.0,因为它也适用于XP SP2以上版本。但在这种情况下,用户可能不得不自己更新/安装,因为我不确定它是否预装了任何XP版本。

请参阅https://en.wikipedia.org/wiki/.NET_Framework#Versions了解更多信息。

根据您交付应用程序的方式,构建一个简单的WIX引导程序可能是一种选择。此外,据我所知,如果目标睫毛膏上没有所需的.NET版本,Click Once Installers也可以安装它。