There's been some confusion about the size of the .NET Framework. The .NET Framework is not really a 200+ meg download.
.NET Framework的大小有些混乱。 .NET Framework实际上并不是200兆以上的下载。
我使用哪个安装程序? (Which installer do I use?)
Here's the whole thing in a nutshell for Developers, ISVs, and Administrators.
简而言之,这就是开发人员,ISV和管理员的全部内容。
Offline Installer - One single file that can be run offline and can install the .NET Framework any system it's run on. It's complete, all platforms, installable offline.
脱机安装程序-一个可以脱机运行并且可以在其运行的任何系统上安装.NET Framework的文件。 它是完整的,所有平台均可离线安装。
Online Installer - A 2.7 meg setup program that will detect what just the files you need, then go download between 10 and 60 megs.
Online Installer-一个2.7兆的安装程序,它将检测您所需的文件,然后在10到60兆之间进行下载。
NOTE: If you're IT and inside an office, you'll want to decide if you want everyone in the office downloading .NET separately, or if you just want download it once, and have them to run it off a network share. Check out the Deployment Guide for Administrators for ways to push it out via AD or SMS.
注意:如果您是IT人员并且在办公室内部,则需要确定是让办公室中的每个人都单独下载.NET,还是只希望下载一次并让他们从网络共享中运行它。 请查看《管理员部署指南》,以了解如何通过AD或SMS将其推出。
Online Installer - A 2.7 meg setup program that will detect what just the files you need, then go download between 10 and 60 megs.
Online Installer-一个2.7兆的安装程序,它将检测您所需的文件,然后在10到60兆之间进行下载。
那么,.NET Framework下载的大小真的有多少? (So how big is it the .NET Framework download, really?)
It depends on what you've already got installed. Here's some examples of my results using an XP SP2 machine.
这取决于您已经安装了什么。 这是使用XP SP2机器获得的结果的一些示例。
Version of Framework installed | Download size to get to 3.5SP1 | Time to Download (512 kbps) |
None | ~56 MB | 15 min |
2.0 | ~50 MB | 15 min |
2.0SP1 | ~33 MB | 9 min |
3.0SP1 | ~10 MB | 3 min |
版本框架安装 | 下载大小达到3.5 SP1 | 下载时间(512 kbps) |
没有 | 约56 MB | 15分钟 |
2.0 | 约50 MB | 15分钟 |
2.0SP1 | 约33 MB | 9分钟 |
3.0SP1 | 约10 MB | 3分钟 |
From a download perspective, those numbers aren't too bad. It's not nearly as bad as its been made out to be. I'm not saying this as a Microsoft apologist or paid Microsoft shill, I'm showing the numbers that I have seen in my testing. This is my opinion based on my testing.
从下载的角度来看,这些数字还不错。 它并没有想象中那么糟糕。 我并不是说这是微软的辩护律师,也不是说要付微软先令,而是要显示我在测试中看到的数字。 这是我根据测试得出的意见。
However, as a free-micro-ISV myself, and the distributor of a .NET Client Application, namely BabySmash!, I'd like the download size to me as SMALL as possible. I've personally received the same emails many of you have - "I'd love to download your software but I don't want to download a 200 meg .NET Framework." I'd like to help change that perception to get more people to run BabySmash! and the best way to change negative perceptions is to improve reality. ;)
但是,作为我自己的免费微型ISV和.NET客户端应用程序的发行商,即BabySmash! ,我希望下载的尺寸尽可能小。 我本人也收到许多人的相同电子邮件- “我很想下载您的软件,但我不想下载200兆的.NET Framework。” 我想帮助改变这种观念,以吸引更多人来运行BabySmash! 改变负面看法的最好方法是改善现实。 ;)
在线/下载体验 (Online/Download Experience)
The best way to get a user with reasonable Internet connectivity up on the 3.5 SP1 .NET Framework is with the 2.7 Meg "bootstrapper." This will detect what they need and only download what they need. The worst-case scenario for a x86 machine is around 60 megs, as seen in the table above.
在3.5 SP1 .NET Framework上建立具有合理Internet连接的用户的最佳方法是使用2.7 Meg“引导程序”。 这将检测到他们需要什么,并且仅下载他们需要的东西。 如上表所示,x86机器的最坏情况约为60兆。
什么是“客户资料”? (What's the "Client Profile?")
The Client Profile is an even smaller install option for .NET 3.5 SP1 on XP. It's small 277k bootstrapper. When it's run on a Windows XP SP2 machines with no .NET Framework installed, it will download a 28 meg payload and give you a client-specific subset of .NET 3.5. If the Client Profile bootstrapper is run on a machine with any version of .NET on it, it'll act the same as the 3.5 SP1 web installer and detect what it needs to download, then go get it. There's more details in the Client Profile Deployment Guide.
对于XP上的.NET 3.5 SP1,客户端配置文件是一个更小的安装选项。 这是一个277k的小型引导程序。 在未安装.NET Framework的Windows XP SP2计算机上运行时,它将下载28兆的有效负载,并为您提供.NET 3.5的特定于客户端的子集。 如果Client Profile bootstrapper在装有任何.NET版本的计算机上运行,则其作用与3.5 SP1 Web安装程序相同,并检测需要下载的内容,然后继续进行下载。 《客户端配置文件部署指南》中有更多详细信息。
Ultimately, this will be the best and fastest possible way to get the .NET Framework, as it's smart on each platform. I'm going to move BabySmash to the Client Profile to get new XP customers up on .NET more than twice as fast with less than half the total download size.
最终,这将是获得.NET Framework的最佳最快方法,因为它在每个平台上都很智能。 我将把BabySmash移到“客户端配置文件”,以使新的XP客户在.NET上的运行速度提高一倍以上,下载量不到总下载量的一半。
The Client Profile Offline Installer (Preview) that Chris noticed was big was such because it is another example of an offline installer. It is the Client Profile Setup + the Full Installer mentioned before. Again, this particular download is totally for offline only scenarios. Unless you need a completely offline scenario, neither you nor your users need download it. The Client Profile Bootstrapper and its associated customization tools will be released soon.
克里斯注意到,客户端配置文件脱机安装程序(预览版)之所以大,是因为它是脱机安装程序的另一个示例。 它是前面提到的“客户端配置文件安装程序+完整安装程序”。 同样,此特定下载完全适用于仅脱机情况。 除非您需要完全脱机的方案,否则您和您的用户都不需要下载它。 客户端配置文件引导程序及其关联的自定义工具即将发布。
离线体验 (Offline Experience)
Now, from an offline perspective, if you're on a CD/DVD if you want to make sure that any machine you come upon will be able to get up to .NET Framework 3.5, you'll want the super offline installer. However, you can and should modify that offline installer to make it as smaller as you need. If you only support x86, then only ship those bits. Aaron Stebner points out that you can :
现在,从脱机的角度来看,如果您要使用CD / DVD,并且要确保所用的任何计算机都能够安装.NET Framework 3.5,则需要超级脱机安装程序。 但是,您可以并且应该修改该脱机安装程序以使其更小。 如果仅支持x86,则仅附带这些位。 Aaron Stebner指出您可以:
Extract the contents of the full install package and selectively remove payload that is not needed or supported by the scenarios that the setup that requires it supports. I describe this option in a bit more detail in this blog post. At a high level, this option involves identifying supported OS's and processor architectures and then selectively removing prerequisite payload from the .NET Framework 3.5 install location for platforms that the setup carrying the .NET Framework 3.5 does not plan to support.
提取完整安装程序包的内容,并有选择地删除需要安装程序支持的方案不需要或不支持的有效负载。 我将在此博客文章中更详细地描述此选项。 在较高级别,此选项涉及确定受支持的OS和处理器体系结构,然后有选择地从.NET Framework 3.5安装位置中删除那些承载.NET Framework 3.5的安装程序不计划支持的平台的必备负载。
He's basically saying for administrators and IT folks should customize the .NET Framework installer to yank stuff you don't need. This kind of customization and more is going to be easier later in September when the .NET Client Profile Configurator is released, so watch for that.
他基本上是在说管理员和IT人员应该自定义.NET Framework安装程序,以提取不需要的内容。 这种自定义功能和更多自定义功能将在9月下旬.NET客户端配置文件发布时变得更加容易,因此请注意。
为什么那个安装程序这么大? (Why is that one installer so big?)
That giant .NET download is for one thing - It's meant for developers or administrators who might want to redistribute a a setup that contains not just the whole of the .NET Framework, but for all possible platforms. It has installers for x86, x64 and ia64. As mentioned above, you can customize it and make it smaller, shipping just what you need, based on your product's needs.
庞大的.NET下载是一回事-这是针对可能要重新分发不仅包含整个.NET Framework而是包含所有可能平台的安装程序的开发人员或管理员的。 它具有适用于x86,x64和ia64的安装程序。 如上所述,您可以对其进行自定义并使其更小,根据您的产品需求运输所需的东西。
I've brought the total size up to bosses who care, as have many other smarter people and it's and making the installers even smaller, via separation, compression and other ideas are being actively looked at.
我已经将总人数增加到了关心的老板那里,就像其他许多聪明的人一样,并且正在积极考虑分离,压缩和其他想法,从而使安装程序变得更小。
Windows更新 (Windows Update)
Over the next several months, machines with .NET 2.0 and up will start updating to the latest .NET 3.5SP1 using Windows Update. For ISVS (like me) this'll start to level versioning out so I'll know more about what's on the average user's machine. For example: If a machine already has .NET 3.5 on it, BabySmash is a small 1 meg download, which makes BabySmash, and me, look good.
在接下来的几个月中,具有.NET 2.0及更高版本的计算机将开始使用Windows Update更新到最新的.NET 3.5SP1。 对于ISVS(像我一样),这将开始进行版本控制,因此,我将了解更多有关普通用户计算机上的内容。 例如:如果一台机器上已经装有.NET 3.5,BabySmash的下载量仅为1兆,这使BabySmash和我看起来都很不错。
介绍SmallestDotNet.Com (Introducing SmallestDotNet.Com)
Last night I made this website, SmallestDotNet.com to help out. It'll sniff your browser's UserAgent and tell you want version of .NET you have, how big the download would be to get you to .NET 3.5 and what .NET redistributable is best for you in order to minimize your download. As some newer online deployment options are released I'll update the site's sniffing to make sure that sizes and choices are is optimal.
昨晚我做了这个网站SmallestDotNet.com来提供帮助。 它会嗅探您浏览器的UserAgent,并告诉您您想要的.NET版本,将使您升级到.NET 3.5的下载量以及为减少下载量而最适合的.NET可再发行组件。 随着一些较新的在线部署选项的发布,我将更新站点的嗅探,以确保大小和选择是最佳的。
SmallestDotNet.com also has some Javascript that you can add to your product's sites as an include, that can help let users know how big the download for .NET will be ahead of time, an lead users to the right downloads, like this:
SmallestDotNet.com还具有一些Javascript,您可以将这些Javascript作为include添加到产品的站点,这些Javascript可以帮助用户提前知道.NET的下载量,从而引导用户进行正确的下载,例如:
<script src="http://www.smallestdotnet.com/smallestdotnet/javascript.ashx" type="text/javascript"></script>
<script src =“ http://www.smallestdotnet.com/smallestdotnet/javascript.ashx” type =“ text / javascript”> </ script>
It's not perfect, as it has only the UserAgent to base it's guess on. However, I've found it useful on BabySmash! and I hope you find it useful too.
它不是完美的,因为它仅基于UserAgent进行猜测。 但是,我发现它对BabySmash有用! 我希望您也觉得它有用。
翻译自: https://www.hanselman.com/blog/smallestdotnet-on-the-size-of-the-net-framework