SASGIS

Веб-картография и навигация

Инсталлятор для SAS.Планеты

программа для загрузки и просмотра спутниковых снимков Земли, Луны, Марса предоставленных сервисами Google Maps и Космоснимки. Возможность работы с GPS приёмником.

Модератор: Tolik

Инсталлятор для SAS.Планеты

Сообщение svp » 21 апр 2009, 23:23

У некоторых моих знакомых, не очень опытных в обращении с компьютером, возникло желание попользовать САС.Планету. Окончательно замучившись всем объяснять как там что поставить я сделал к ней инсталлятор.
В качестве базы использовал известный открытый бесплатный компилятор Inno Setup.

Чтобы самостоятельно подготавливать инсталл-паки планеты нужно:
  1. Установить Inno Setup - скачать (1,385 KB).
  2. Поместить содержимое архива
    Installer.rar
    Скрипт инсталлятора Планеты
    (1.11 KiB) Скачиваний: 195
    в каталог с рабочей САС.Планетой.
  3. Запустить .\Installer\MakeInstaller.bat (инсталл-пак появится в этом же каталоге).
Чтобы расширять, модифицировать и адаптировать инсталл-пак правим скрипт .\Installer\SASPlanet_setup.iss, а при затруднениях читаем очень понятно и грамотно написанный хелп к проге.
Для разработчика Планеты полезно будет сразу в скрипте прописать правильные пути к dll'кам, exe-шнику и дополнительным каталогам с кешем, картами, иконками. Это упростит для него процедуру выпуска версий с инсталлятором.

Инсталл-паки, собранные таким образом, поддерживают кучу полезных ключей. Например, можно производить тихую и очень тихую установку программы. В случае, если программа уже стояла, то параметры установки (пути, опции, иконки), будут стоять как при прошлой установке программы.
Это даёт удобный способ горячего (налету) обновления программы. САС.Планета должна лишь скачать новый инсталл-пак с сайта, запустить его в тихом режиме (без отображения мастера установки) и самозакрыться. В тихом режиме никаких вопросов пользователю задано не будет, все параметры установки будут выбраны как при последней установке; будет отображаться лишь прогресс-бар процесса установки.

Чуть позже я планирую модифицировать скрипт инсталлятора добавив возможность выбора каталога, где будет храниться кеш. Ещё, скорее всего, сделаю опцию создания/подключения True Crypt контейнера с кешем. Благо Inno Setup очень гибкая и простая в использовании штука.

Кстати, инсталлпак по объёму получается лишь на 300 кб больше 7z архива. =)
Вот пример инсталлятора Планеты:
SASPlanet_setup.rar
Пример инсталл-пака
(2.89 MiB) Скачиваний: 320

Пришлось запаковать его ещё и в архив, так как на форум не аттачатся exe-шники.
Аватара пользователя
svp
Советчик
 
Сообщения: 447
ICQ: 204094886
Зарегистрирован: 26 авг 2008, 11:14
Откуда: Белгород
Благодарил (а): 2 раз.
Поблагодарили: 4 раз.

Re: Инсталлятор для SAS.Планеты

Сообщение Parasite » 22 апр 2009, 07:22

svp писал(а):Чтобы самостоятельно подготавливать инсталл-паки планеты нужно:

Надо бы начать с логического обоснования всех этих дополнительных телодвижений. Зачем САСу нужен инсталлятор (особенно если в финале - разницы никакой нет, всё прекрасно работает вот прямо так и прямо сейчас)?

Лично я - против поставки САСа в виде инсталлируемого пакета. Мало того что прямых выгод нет - так еще и систему захламляет. :twisted:
The only difference between me and a mad man is that I am not mad. /Salvador Dali/
Изображение
Аватара пользователя
Parasite
Администратор
 
Сообщения: 5646
Зарегистрирован: 23 окт 2008, 17:38
Благодарил (а): 124 раз.
Поблагодарили: 460 раз.

Re: Инсталлятор для SAS.Планеты

Сообщение feya » 22 апр 2009, 09:45

Что-то я тоже скептически отношусь к необходимости инсталлятора. По началу все думал что надо бы сделать, а сейчас наоборот думаю что делать его не стоит.
http://sasgis.org | SAS.Планета | SASPlanet
Аватара пользователя
feya
Гуру
 
Сообщения: 2034
Зарегистрирован: 13 июл 2008, 10:45
Благодарил (а): 5 раз.
Поблагодарили: 32 раз.

Re: Инсталлятор для SAS.Планеты

Сообщение garl » 22 апр 2009, 11:58

а может раз в месяц стоит делать такие аля-стабильные билды в инсталлере.... ?
Russian NDN Team
QIP NightlyTester
Аватара пользователя
garl
Гуру
 
Сообщения: 1625
Зарегистрирован: 16 июл 2008, 14:40
Откуда: Краснодар, Кубанская столица.
Благодарил (а): 97 раз.
Поблагодарили: 245 раз.

Re: Инсталлятор для SAS.Планеты

Сообщение feya » 22 апр 2009, 12:31

Были бы они стабильные)
http://sasgis.org | SAS.Планета | SASPlanet
Аватара пользователя
feya
Гуру
 
Сообщения: 2034
Зарегистрирован: 13 июл 2008, 10:45
Благодарил (а): 5 раз.
Поблагодарили: 32 раз.

Re: Инсталлятор для SAS.Планеты

Сообщение svp » 22 апр 2009, 13:16

Parasite писал(а):Мало того что прямых выгод нет

Для тебя нет, так и не пользуйся. Кто-то заставляет? Все более-менее серьёзные проекты предоставляют несколько вариантов загрузки дистрибутива: инсталл-пак, архив, архив с исходниками.
Parasite писал(а):так еще и систему захламляет.

Совершенно необоснованное заявление. Грамотно сделанный инсталлятор не захламляет систему, напротив, он позволит при деинсталляции правильно отвязать продукт от от занимаемых ресурсов, от зарезервированных типов файлов, от зарегистрированных схем обращения к ресурсу.
Например очень удобно было бы зарегистрировать за Планетой схему обращения вида:
Код: Выделить всё
sas://localhost:8081/sat/56.12123/73.54125

Такой урл открывался бы планетой как ссылка на конкретные географические координаты и указывал бы, что брать тайлы надо с localhost через порт 8081 из раздела кеша sat.
Речь сейчас не об этих "космических" технологиях, а об инсталляторе к Планете.
Я не настаивал на обязательной сборке инсталл-пака к каждой версии и вообще не настаивал на необходимости инсталлятора вообще. Просто счёл. что многим було бы проще устанавливать и обновлять Планету благодаря инсталлпаку.

Скрипт Inno Setup позволяет настроить инсталл-пак таким образом, чтобы (для особых религиозных ненавистников реестра=) не происходило никаких записей в сетемные каталоги и реестр, а просто по нужным путям раскидывались нужные файлы. Можно реализовать несколько вариантов установки на любой вкус. При этом не надо для каждого варианта выкладывать отдельный бинарь инсталл-пака. Явная экономия трафика=).

Чтобы сейчас поставить планету нужно:
  1. Скачать 7z с сайта и куда-то его сохранить (у многих пользователей чесотка начинается уже на этапе поиска куда же кинул этот архив менеджер закачек браузера).
  2. Знать чем открывается 7z.
  3. Если 7z стоит, то знать, что прямо из архива планету запускать нельзя.
  4. Понимать куда и как можно распаковать Планету, у которой нет каталога внутри архива, то есть она может рассыпаться и перемешаться файлами с содержимым рабочего стола=).
  5. Думать почему тупит система, когда системный диск переполняется огромным количеством тайлов кеша Планеты, распакованной прямо на рабочий стол=).
С этими несчастьями мне приходилось помогать справляться многим незадачливым "пользователям" ПК. Махнуть на них рукой я не могу, ибо ни мне не безразличны. Учиться тому, что им в помине не сдалось, эти творческие личности не хотят, а ковыряться с их самодеятельностью мне чертовски надоело. Вот я и сделал инсталлпак. А кому смотреть противно, тот пускай и не глядит. Сейчас у меня инсталл-пак собирается из новой закачанной версии скриптом автоматически. Отсутствие на сайте Планеты удобной ссылки для закачки свежей версии инсталл-пака --это конечно минус, но я и с ним справлюсь, например автоматически регулярно заливая этот инсталл-пак на сторонний ресурс.
Таким образом не пыльно для меня решается вопрос обновления Планеты у некоторых моих близких друзей.

Я лишь хотел поделиться наработками с теми, кому это тоже может пригодиться.
Скорок инсталл-пак научится делать TrueCrypt-контейнеры для кеша. Этот шаманский процесс объяснить пользователям ещё труднее, а решать проблемы, связанные с результатами неумелых действий ещё муторнее.

feya писал(а):Что-то я тоже скептически отношусь к необходимости инсталлятора. По началу все думал что надо бы сделать, а сейчас наоборот думаю что делать его не стоит.

Ну а в чем проблема? Давайте обсудим все плюсы и минусы.
Исходить следует из того, что:
  1. Наличие инсталлятора не запрещает выкладывать также простой архив с программой.
  2. Сборка инсталлятора и архива релизом может происходить автоматически по запуску единственного скрипта.
  3. Наверняка аплоадинг версии на сайт тоже можно засунуть в скрипт и более-менее автоматизировать.
  4. Инсталлятор позволит легко автоматически или ручным запуском обновлять Планету.
  5. Он же позволит привязать при установке и отвязать при деинсталляции типы файлов с метками, треками, полигонами и выделениями, спец-схемы URL и много всего прочего.
  6. При правильном пользовании Планетой инсталляция новой версии поверх старой не затрёт никаких пользовательских настроек и карт, зато добавит новые карты, dll, иконки и т.д. И не надо будет делать никакого построчного и поразмерного сравнения директорий на предмет "чего же там поменялось".
  7. Даже я и, уверен, ещё многие будут пользоваться инсталлятором при орбновлении, потому что это удобно=).
  8. Тексты скрипта инсталляции можно приложить к исходникам и каждый поборник "замусоривания системы" сможет убедиться, что инсталлятор не ставит левых троянов и не пишет ненужное в реестр.
Аватара пользователя
svp
Советчик
 
Сообщения: 447
ICQ: 204094886
Зарегистрирован: 26 авг 2008, 11:14
Откуда: Белгород
Благодарил (а): 2 раз.
Поблагодарили: 4 раз.

Re: Инсталлятор для SAS.Планеты

Сообщение svp » 22 апр 2009, 13:19

feya писал(а):Были бы они стабильные)

Ну инсталлятор явно не дестабилизирует систему. Если нужно откатиться, просто ставим более старую версию, а в режиме /silent мастер установки даже ничего не спросит у пользователя.
Аватара пользователя
svp
Советчик
 
Сообщения: 447
ICQ: 204094886
Зарегистрирован: 26 авг 2008, 11:14
Откуда: Белгород
Благодарил (а): 2 раз.
Поблагодарили: 4 раз.

Re: Инсталлятор для SAS.Планеты

Сообщение temp » 22 апр 2009, 13:23

Я тоже против инсталятора.

Единственная сложность которая может возникнуть у
не очень опытных в обращении с компьютером
это отсутствие архиватора 7z, чтобы распаковать программу.
Желательно все-таки программу выставлять в zip - он встроен в винду (unix-ы) и ни у кого проблем не будет.

В качестве базы использовал известный открытый бесплатный компилятор Inno Setup.


Зачем что-то выдумывать - то же самое делается в обычном WinRar, WinZip или 7Z.
Гугл для своих GoogleEarth и GoogleHrome использует именно бесплатный 7Z.
temp
Советчик
 
Сообщения: 279
Зарегистрирован: 26 мар 2009, 18:26
Откуда: UA
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Инсталлятор для SAS.Планеты

Сообщение zed » 22 апр 2009, 14:29

А я не против, и очень даже за! Обновлять SAS из инстала гораздо проще, и если всё будет правильно сделано и настройки/карты/пути слетать не будут - то обновление пройдёт одним нажатием кнопки. Удобно.
Я за вариант, чтоб была возможность выбора варианта загрузки: инсталл-пак, архив, архив с исходниками.
zed
Гуру
 
Сообщения: 2888
Зарегистрирован: 16 авг 2008, 20:21
Благодарил (а): 89 раз.
Поблагодарили: 525 раз.

Re: Инсталлятор для SAS.Планеты

Сообщение svp » 22 апр 2009, 14:35

temp писал(а):Я тоже против инсталятора.

Не спорю, просто интереса ради приведите аргументы. Для статистики. Про "засирает ОС" уже говорилось. Ещё что-нибудь?

temp писал(а):Зачем что-то выдумывать

Никто ничего не выдумывал, просто это один из вариантов. Уварианта есть свои плюсы и свой минус=). Минус, ИМХО, лишь в том, что InnoSetup'овский инсталлятор нельзя выпаковать внешним архиватором.
Кстати, специализированный инсталлмейкер удобнее и гибче, автоматом делает анинсталлер, понимает скрипты, позволяет нагородить в мастере своих окон и форм с любым интерфейсом, более кошерно выглядит.
Аватара пользователя
svp
Советчик
 
Сообщения: 447
ICQ: 204094886
Зарегистрирован: 26 авг 2008, 11:14
Откуда: Белгород
Благодарил (а): 2 раз.
Поблагодарили: 4 раз.

След.

Вернуться в SAS.Планета

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 6