(NET) Включать Prerequisites в инсталлятор или отдельно?
От: Ignoramus  
Дата: 13.12.06 11:47
Оценка:
Делаю дистрибутив .NET программы (на VS 2005), требующей ряд prerequisutes — .NET Framework и еще 3-4 пакета, тоже от Microsoft.

Думаю над вопросом — какой сценарий установки Prerequisites выбрать? Пока придумал такие:

1) Включить все в инсталлятор и пусть пользователь качает. Достоинство — проше всего для юзера. Недостатки — много качать, причем это скорее недостаток для меня, чем для юзера, т.к. трафик сервера будет большой, что я пока не могу себе позволить.

2) Не включать prerequisutes в инсталлятор, а прибегнуть к опции setup project, которая скачивает их с сайта поставщика (Microsoft) автоматически.
Соблазнительный вариант, но интуиция мне подсказывает, что автоматика иногда не сработает (навскидку — проблемы с proxy) и часть юзеров ждет жестокий облом, что никак нельзя допустить. Если кто-то пользовался этой опцией, расскажите, насколько она надежна?

3) Не включать prerequisutes в инсталлятор, а указать список ссылок на все страницы Microsoft, где можно скачать prerequisutes вручную. Вариант надежный, но от пользователя требуется терпение и некоторая сообразительность чтобы найти где там кнопка download, и потом как установить и т.д. К тому же некоторые prerequisutes возможно уже установлены на машине юзера, что будет узнать затруднительно, придется качать все.

4) Комбинированный, например, 3), а если не получилось, то 4).

Интересно было бы узнать, какие сценарии использует all?
Re: (NET) Включать Prerequisites в инсталлятор или отдельно?
От: retalik www.airbandits.com/
Дата: 13.12.06 12:48
Оценка: 2 (1)
Здравствуйте, Ignoramus, Вы писали:

I>Думаю над вопросом — какой сценарий установки Prerequisites выбрать? Пока придумал такие:


Disclaimer 1: сейчас будет флейм. Приблизительный сценарий: ".NET — отстой, пиши на... whatsoever"
Disclaimer 2: я, в некотором роде, теоретик, т.к. продукт на .NET еще не выпускал, но "много думал".

I>1) Включить все в инсталлятор...

Самый простой вариант, должен быть основным.
50..100 мегабайт типичному западному юзеру вытянуть — дело 5 минут. Но — при этом предполагаю, что ты делаешь НЕ казуальную игрушку, НЕ скринсейвер и НЕ мелкую утилиту — в этих нишах размер ещё может на что-то повлиять.

I>2) Не включать prerequisutes в инсталлятор, а прибегнуть к опции setup project...

Возможны обломы с проксями, оффлайном и (очень вероятно) со злым файрволлом.

I>3) Не включать prerequisutes в инсталлятор, а указать список ссылок на все страницы Microsoft, где можно скачать prerequisutes вручную...

Это вариант для "умных, но бедных". Можно использовать чуть лучшую версию: AWinstall, например, умеет проверять версию дотнета и при отсутствии нужной открывать веб-страницу закачки с нужным адресом (твою или Microsoft). И то меня юзеры постоянно тюкают на предмет, как внедрить .NET Runtime прямо в инсталлер (25 мег довеска ИХ пользователей не волнуют совершенно).

I>4) Комбинированный, например, 3), а если не получилось, то 4).

Вот ещё комбинация: для всех выкладываешь сетап из п. 1). На сервере определяешь user-agent и при наличии строки .NET 2.0.xxxx показываешь ещё одну, "легкую" ссылку на setup из п. 3. Но учти, что качать могут одни, а ставить другие (или на других машинах). Так что проще купить дешевый файловый хостинг и не дрожать за трафик.
Успехов,
Виталий.
Re[2]: (NET) Включать Prerequisites в инсталлятор или отдель
От: Ignoramus  
Дата: 13.12.06 13:12
Оценка:
Здравствуйте, retalik, Вы писали:

Спасибо за толковые мысли. Давайте додумаем вместе.

R>Disclaimer 1: сейчас будет флейм. Приблизительный сценарий: ".NET — отстой, пиши на... whatsoever"

Фтопку флейм, надоело уже


R>Disclaimer 2: я, в некотором роде, теоретик, т.к. продукт на .NET еще не выпускал, но "много думал".


I>>1) Включить все в инсталлятор...

R>Самый простой вариант, должен быть основным.
R>50..100 мегабайт типичному западному юзеру вытянуть — дело 5 минут. Но — при этом предполагаю, что ты делаешь НЕ казуальную игрушку, НЕ скринсейвер и НЕ мелкую утилиту — в этих нишах размер ещё может на что-то повлиять.
Именно так, требования "НЕ" в моем случае удовлетворяются. Я согласен, что даже 50+ МБ юзерам скачать не проблема. Разве что по трафику моего сервера может быть проблема, но я еще не приценивался, может и нет никакой проблемы.


I>>2) Не включать prerequisutes в инсталлятор, а прибегнуть к опции setup project...

R>Возможны обломы с проксями, оффлайном и (очень вероятно) со злым файрволлом.
Очень существенное замечание, про файрвол я не подумал.

I>>3) Не включать prerequisutes в инсталлятор, а указать список ссылок на все страницы Microsoft, где можно скачать prerequisutes вручную...

R>Это вариант для "умных, но бедных". Можно использовать чуть лучшую версию: AWinstall, например, умеет проверять версию дотнета и при отсутствии нужной открывать веб-страницу закачки с нужным адресом (твою или Microsoft).
Это можно и без AWinstall сделать. Стандартный msi файл, made by Setup project, показывает сообщение что надо мол фреймворк установить и открывает ссылку в окне. Правда, там сначала редирект идет и потом еще надо найти где кликнуть пару раз чтобы таки его скачать.

R>И то меня юзеры постоянно тюкают на предмет, как внедрить .NET Runtime прямо в инсталлер (25 мег довеска ИХ пользователей не волнуют совершенно).

Пожалуй, все больше склоняюсь к этому варианту.


I>>4) Комбинированный, например, 3), а если не получилось, то 4).

R>Вот ещё комбинация: для всех выкладываешь сетап из п. 1). На сервере определяешь user-agent и при наличии строки .NET 2.0.xxxx показываешь ещё одну, "легкую" ссылку на setup из п. 3. Но учти, что качать могут одни, а ставить другие (или на других машинах). Так что проще купить дешевый файловый хостинг и не дрожать за трафик.
Как вариант, можно будет (Потом. Может быть. ) сделать страничку продвинутых опций инсталляции где галочками указывать что включать а что нет, можно и автоматическую детекцию чего уже установлено добавить.
Re[3]: (NET) Включать Prerequisites в инсталлятор или отдель
От: Andre Украина  
Дата: 13.12.06 21:19
Оценка:
Здравствуйте, Ignoramus, Вы писали:

R>>И то меня юзеры постоянно тюкают на предмет, как внедрить .NET Runtime прямо в инсталлер (25 мег довеска ИХ пользователей не волнуют совершенно).

I>Пожалуй, все больше склоняюсь к этому варианту.

Если я не ошибаюсь это будет нарушением EULA. Для распостранения фреймворка нужно или давать ссылку на фреймворк на сайте MS или ложить рядом с приложением при поставке на компакт диске например или в сетевой шаре. А вот внедрять в инсталятор или ложить на своем сайте нельзя.
Я бы изменил мир — но Бог не даёт исходников...
Re[4]: (NET) Включать Prerequisites в инсталлятор или отдель
От: Ignoramus  
Дата: 14.12.06 05:12
Оценка:
Здравствуйте, Andre, Вы писали:



A>Здравствуйте, Ignoramus, Вы писали:


R>>>И то меня юзеры постоянно тюкают на предмет, как внедрить .NET Runtime прямо в инсталлер (25 мег довеска ИХ пользователей не волнуют совершенно).

I>>Пожалуй, все больше склоняюсь к этому варианту.

A>Если я не ошибаюсь это будет нарушением EULA. Для распостранения фреймворка нужно или давать ссылку на фреймворк на сайте MS или ложить рядом с приложением при поставке на компакт диске например или в сетевой шаре. А вот внедрять в инсталятор или ложить на своем сайте нельзя.


Вот здесь написано, что dotnetfx.exe можно редистрибутировать (сам файл называется ,NET Framework 2.0 Redistributable) при условии, что у меня есть валидная копия Visual Studio или .NET Framework SDK. Последний можно бесплатно скачать здесь, да и студия у меня тоже явно есть, не скрою . Так что не понимаю в чем проблема?

Если бы было так, как Вы говорите, интересно, как это куча народу до сих пор включала дистрибутив фреймворка в свои инсталляторы и никто не парился?
Re: (NET) Включать Prerequisites в инсталлятор или отдельно?
От: AndreiF  
Дата: 14.12.06 07:00
Оценка: +2
Здравствуйте, Ignoramus, Вы писали:

Сделать два варианта инсталлера — один "all in one", ссылку на него поместить на самом верху, большим шрифтом и в рамочке, чтобы у неопытного юзера не было сомнений — что качать. Второй вариант — без .NET, ссылку на него пониже и шрифтом поменьше. Кому надо — найдут.
А инсталлеры, которые сами что-то качают, многие не любят. Да и злые фаерволы будут проблемы создавать.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re: (NET) Включать Prerequisites в инсталлятор или отдельно?
От: Вертер  
Дата: 14.12.06 22:55
Оценка:
I>1) Включить все в инсталлятор и пусть пользователь качает. Достоинство — проше всего для юзера. Недостатки — много качать, причем это скорее недостаток для меня, чем для юзера, т.к. трафик сервера будет большой, что я пока не могу себе позволить.

по идее МС не разрешает включать дотНЕТ в инсталятор, можно только лоадер включать, который около 2Мб...
Re[2]: (NET) Включать Prerequisites в инсталлятор или отдель
От: Ignoramus  
Дата: 15.12.06 13:53
Оценка:
Здравствуйте, Вертер, Вы писали:


I>>1) Включить все в инсталлятор и пусть пользователь качает. Достоинство — проше всего для юзера. Недостатки — много качать, причем это скорее недостаток для меня, чем для юзера, т.к. трафик сервера будет большой, что я пока не могу себе позволить.


В>по идее МС не разрешает включать дотНЕТ в инсталятор, можно только лоадер включать, который около 2Мб...


Как насчет вот этого моего поста
Автор: Вертер
Дата: 15.12.06
?
Re[3]: (NET) Включать Prerequisites в инсталлятор или отдель
От: Вертер  
Дата: 15.12.06 19:54
Оценка:
I>>>1) Включить все в инсталлятор и пусть пользователь качает. Достоинство — проше всего для юзера. Недостатки — много качать, причем это скорее недостаток для меня, чем для юзера, т.к. трафик сервера будет большой, что я пока не могу себе позволить.

В>>по идее МС не разрешает включать дотНЕТ в инсталятор, можно только лоадер включать, который около 2Мб...


I>Как насчет вот этого моего поста
Автор: Вертер
Дата: 15.12.06
?


Вы имели ввиду вот это
Автор: Ignoramus
Дата: 14.12.06
наверное? Интересно...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.