我可以依靠哪些版本的.NET Framework?

我正在编写一个应用程序来发现PC上存在哪些function。 用户将转到网页,下载应用程序并执行它(带有所有适当的警告,这不是间谍软件)。 该应用程序将使用标准的MS api来确定连接速度,安装内存,防火墙健康等等。编写应用程序不是问题,我可以使用脚本主机,C#,C ++等。问题是,如果我选择C#有没有保证某种风格的Windows会安装.net? 目标PC是XP SP2或更高版本和Vista。

谢谢您的帮助。

Vista确实安装了.NET 3.0。 默认情况下,XP SP2没有安装任何.NET框架。

您可能想阅读Scott Hanselman的博客文章SmallestDotNet:关于.NET Framework的大小 ,特别是What's the "Client Profile?" 部分:

客户端配置文件是XP上.NET 3.5 SP1的更小安装选项。 它是277k的小型自举程序 。 当它在没有安装.NET Framework的Windows XP SP2计算机上运行时,它将下载28兆的有效负载并为您提供特定于客户端的.NET 3.5子集。 如果客户端配置文件引导程序在具有任何.NET版本的计算机上运行,​​它将与3.5 SP1 Web安装程序相同,并检测它需要下载的内容,然后去获取它。 “ 客户端配置文件部署指南”中有更多详细信息。

Mehrdad没错,SP2默认没有安装.NET。 但是,值得注意的是,您可以为缺少运行时的用户提供下载,提供您使用捆绑的任何版本。这是通过其中一个安装程序包的创建向导的选项。

如上所述,默认情况下不安装.NET。 但是,如果您使用带有C#的ASP .NET,只需查看网站(计算机名称,域,用户ID等)就可以获得许多东西。

好吧,如果您害怕使用.Net但是客户端没有安装,您可以尝试一种产品,它可以获取所有.Net依赖项,并创建一个可以在每台计算机上运行的独立安装程序,具有所有可能带来的风险您的用户(没有更新,没有错误修复等)。
链接在这里:
http://www.remotesoft.com/linker/index.html
希望这可以帮助。

我建议尽可能避免使用.NET,因为大多数版本的Windows都没有它,安装程序只会增加使用程序的痛苦。 除非它已经是一个大型的应用程序…但从它的声音你可以得到你想要的几个KB的C ++可执行文件(即几乎即时下载)。

Vista之前:很有可能不会安装.NET。 如果它是事件,它可能是1.0或1.1。

Vista包含RTM中的.NET 3.0,但它是Server 2008中的可选组件。

我也会考虑.NET的大小和启动时间。 总的来说,这听起来像是用尽可能少的依赖关系编写的东西。

编辑:更正Vista包括3.0而不是3.5。