我正在编写一个应用来发现电脑上存在哪些功能。用户将转到网页,下载应用程序并执行它(带有所有适当的警告,这不是间谍软件)。应用程序将使用标准MS api来确定连接速度,安装内存,防火墙健康等等。编写应用程序不是问题,我可以使用脚本主机,C#,C ++等。问题是,如果我选择C#有没有保证某种风格的Windows会安装.net?目标PC是XP SP2或更高版本和Vista。
感谢您的帮助。
答案 0 :(得分:12)
Vista确实安装了.NET 3.0。 XP SP2默认没有安装任何.NET框架。
答案 1 :(得分:4)
您可能需要阅读Scott Hanselman's博文SmallestDotNet: On the Size of the .NET Framework,特别是What's the "Client Profile?"
部分:
客户端配置文件更小 在XP上安装.NET 3.5 SP1的选项。 这是small 277k bootstrapper。什么时候 它运行在Windows XP SP2计算机上 没有安装.NET Framework,它 将下载28兆的有效载荷和 给你一个客户特定的子集 .NET 3.5。如果客户端配置文件 bootstrapper在一台机器上运行 任何版本的.NET,它都会行动起来 与3.5 SP1 Web安装程序相同 并检测需要下载的内容, 然后去拿它。有更多细节 在Client Profile Deployment Guide。
答案 2 :(得分:2)
Mehrdad没错,SP2默认没有安装.NET。但是,值得注意的是,您可以为缺少运行时的用户提供下载,提供您使用捆绑的任何版本。这是通过其中一个安装程序包的创建向导的选项。
答案 3 :(得分:0)
Pre-Vista:.NET很可能不安装。如果它是事件,它可能是1.0或1.1。
Vista在RTM中包含.NET 3.0,但它是Server 2008中的可选组件。
我也会考虑.NET的大小和启动时间。总的来说,这听起来像是用尽可能少的依赖性编写的东西。
编辑:修正后的Vista包括3.0而不是3.5。
答案 4 :(得分:0)
如上所述,默认情况下不安装.NET。但是,如果您使用带有C#的ASP .NET,只需查看网站(计算机名称,域,用户ID等)就可以获得许多东西。
答案 5 :(得分:0)
如果您害怕使用.Net但客户端尚未安装,您可以尝试一种产品,它可以获取所有.Net依赖项,并创建一个可在每台计算机上运行的独立安装程序,并承担所有风险可能会提升给您的用户(没有更新,没有错误修复等)
这是链接:
http://www.remotesoft.com/linker/index.html
希望这会有所帮助。
答案 6 :(得分:0)
我建议尽可能避免使用.NET,因为大多数版本的Windows都没有它,安装程序只会增加使用程序的痛苦。除非它已经是一个大型的应用程序...但从它的声音,你可以得到你想要的几个KB的C ++可执行文件(即几乎即时下载)。