.NET 3.5 Распространяемый - 200 МБ? Другие варианты?
В последнее время я использовал множество новых функций .NET 3.5 в работе, которую я делал. Приложение, которое я создаю, предназначено для распространения среди потребителей, у которых, вероятно, не будет последней версии (или, возможно, любой версии) платформы .NET на своих машинах.
Я пошел, чтобы загрузить распространяемый пакет .NET 3.5, чтобы узнать, что он почти 200 МБ! Это неприемлемо для моего приложения, потому что оно должно быть быстрым и безболезненным потребительским приложением, которое быстро устанавливается и сохраняет низкий профиль на пользовательской машине. Для пользователей, у которых уже установлен .NET 3.5, наши бинарные загрузки были мгновенными. Эта горилла 200 МБ будет более чем в четыре раза больше размера загрузки. Есть ли другой вариант, чем этот распространяемый пакет, который я могу использовать, чтобы убедиться, что инфраструктура находится на машине, которая не выведет пользователя из нашего "быстрого и безболезненного" рабочего процесса? Наше целевое время от начала загрузки до завершения установки составляет менее двух минут. Возможно ли это для тех, у кого еще нет .NET?
Ответы
Ответ 1
Это одна из печальных причин, по которым я по-прежнему нацелен на .net 2.0:/
Но людям не обязательно нужен полный пакет 200 МБ. Существует 3 MB Bootstrapper, который загружает только необходимые компоненты:
.NET 3.5 SP1 Bootstrapper
Однако в худшем случае все еще довольно тяжелая загрузка. Кроме того, см. в этой статье для более подробного объяснения размера и альтернативного решения проблемы размера.
Дополнение: после ответа на этот вопрос Скотт Гензельман создал SmallestDotNet.com, который определит наименьшую требуемую загрузку. Не меняет сценарий наихудшего случая, но все же полезно знать.
Ответ 2
Как только .NET Framework 3.5 SP1 выйдет (должно быть довольно скоро), будет второй вариант фреймворков, а именно "Профиль клиента", который представляет собой сокращенную структуру, которая весит всего около 30 МБ из памяти. Он не включает все пространства имен и классы полной структуры, но должен быть достаточным для большинства обычных приложений в теории. При необходимости он может быть обновлен до полной рамки (например, если обновление вашего программного обеспечения вводит новую зависимость)
Дополнительная информация приведена здесь: Блог группы BCL
Ответ 3
Вы просмотрели профиль клиента .NET Framework? Он намного меньше, чем полный распространяемый пакет и оптимизирован для доставки только функциональных возможностей, необходимых для умных клиентов.
Вот хороший обзор.
Я не знаю, будет ли это поддерживать загрузку менее двух минут или нет, но это должно стать вам ближе.
Ответ 4
Профиль клиента стал лучше (и меньше) в .NET 4 см.
Ответ 5
Кроме того, стоит также (в некотором роде) загрузить пакет обновления. Фактически, в зависимости от того, как создаются ваши исполняемые файлы, вам может потребоваться установить Framework и пакеты обновления.
Ответ 6
Для записи .NET Framework 3.5 SP1 требуется для установки Microsoft SQL Server 2008 и RTM'd примерно в то же время, что и релиз на этой неделе. Тем не менее мощная установка, но вы можете извлечь из нее профиль клиента. Просто не уверен, как.