Делаю дистрибутив .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 в инсталлятор или отдельно?
Здравствуйте, 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 в инсталлятор или отдель
Спасибо за толковые мысли. Давайте додумаем вместе.
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 в инсталлятор или отдель
Здравствуйте, Ignoramus, Вы писали:
R>>И то меня юзеры постоянно тюкают на предмет, как внедрить .NET Runtime прямо в инсталлер (25 мег довеска ИХ пользователей не волнуют совершенно). I>Пожалуй, все больше склоняюсь к этому варианту.
Если я не ошибаюсь это будет нарушением EULA. Для распостранения фреймворка нужно или давать ссылку на фреймворк на сайте MS или ложить рядом с приложением при поставке на компакт диске например или в сетевой шаре. А вот внедрять в инсталятор или ложить на своем сайте нельзя.
Я бы изменил мир — но Бог не даёт исходников...
Re[4]: (NET) Включать Prerequisites в инсталлятор или отдель
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 в инсталлятор или отдельно?
Сделать два варианта инсталлера — один "all in one", ссылку на него поместить на самом верху, большим шрифтом и в рамочке, чтобы у неопытного юзера не было сомнений — что качать. Второй вариант — без .NET, ссылку на него пониже и шрифтом поменьше. Кому надо — найдут.
А инсталлеры, которые сами что-то качают, многие не любят. Да и злые фаерволы будут проблемы создавать.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re: (NET) Включать Prerequisites в инсталлятор или отдельно?
I>1) Включить все в инсталлятор и пусть пользователь качает. Достоинство — проше всего для юзера. Недостатки — много качать, причем это скорее недостаток для меня, чем для юзера, т.к. трафик сервера будет большой, что я пока не могу себе позволить.
по идее МС не разрешает включать дотНЕТ в инсталятор, можно только лоадер включать, который около 2Мб...
Re[2]: (NET) Включать Prerequisites в инсталлятор или отдель
I>>1) Включить все в инсталлятор и пусть пользователь качает. Достоинство — проше всего для юзера. Недостатки — много качать, причем это скорее недостаток для меня, чем для юзера, т.к. трафик сервера будет большой, что я пока не могу себе позволить.
В>по идее МС не разрешает включать дотНЕТ в инсталятор, можно только лоадер включать, который около 2Мб...
I>>>1) Включить все в инсталлятор и пусть пользователь качает. Достоинство — проше всего для юзера. Недостатки — много качать, причем это скорее недостаток для меня, чем для юзера, т.к. трафик сервера будет большой, что я пока не могу себе позволить.
В>>по идее МС не разрешает включать дотНЕТ в инсталятор, можно только лоадер включать, который около 2Мб...
I>Как насчет вот этого моего поста