Разработка инсталляторов. Урок 1. Введение в установку программ и перепаковка.
Доброго вечера всем. Сегодня ровно три недели, как я на Голосе и я начинаю свою новую серию. Серия по локализации, кстати, ещё не закончена. Серийный блин...кто? Постер, блогер или как себя назвать - не знаю.
В данной серии речь у нас пойдёт о программах для создания инсталляционных пакетов. Думаю, каждый разработчик ПО или же так называемый "репакер" задумывался о способе установки своей/чужой программы. Выбор действительно большой. В серии мы рассмотрим различные варианты установщиков, начиная от более простых естественно, а также освоим перепаковку.
Сначала остановимся на выше упомянутых "репакерах". Это люди, которые занимаются перпаковкой установочных пакетов. Их можно поделить на два вида:
Репакеры игр - представители той или иной команды типа Механиков или индивидуальные типа Nemos и Other. Что делают с игрой:
1. Вырезают лишние языки или добавляют неофициальные русификаторы/украинизаторы.
2. Уменьшают размер установочного пакета, за счёт применения более сильного метода сжатия.
3. Добавляют в пакет дополнительное ПО, которое может потребоваться пользователю. Например DirectX или Microsoft Visual C.
4. Добавляют моды игр и пакеты патчей в установщик, то есть вшивают их в игру для удобства.
5. Меняют оформление установщика, добавлюют анимацию и музыку, порой неотключаемую.
6. Обычно в репаке игра уже готова к использованию, искать лекарство не требуется, но бывают исключения.
7. Добавляют в установщик ссылки на свои страницы, собственную рекламу, установку ненужного (на мой взгляд) ПО типа Яндекс браузера и всяких агентов.
Репакеры софта не так сильно обычно извращаются:
1. Добавляют автоматическое, так называемое лечение программы (патченые файлы, прописывание ключей, автозапуск кейгенав и патчей).
2. Вырезают лишние, на их взгляд, языки и добавляют русификаторы. (Да-да, и я так делаю).
3. Добавляют ссылки и рекламу на собственные ресурсы и установку дополнительного ПО.
Иногда последним занимаются и разработчики софта, взять тот же проигрыватель AIMP. По умолчанию там установлены галочки на установке Яндекс Браузера, если кто не знает. Также в сети многих достал браузер и стал именем нарицательным (как впрочем и сама компания-разработчик) Амиго от Mail.ru. Который также встраивают куда только можно. Но не будем о грустном.
- Для чего эти люди этим занимаются? Тратят огромное количество времени на разработку красивого установщика, следят за выпуском новых версий программ, игр, русификаторов? Осваивают новые алгоритмы сжатия ради экономии пары мегабайт? Ждут по несколько часов, пока файлы пакуются (особенно это касается современных игр, достигающих в установленном виде до сотни гигабайт)? Может хотят славы? Кто знает...
- За других не скажу, но для меня репаки программ (играми я не занимаюсь), а также русификаторы - просто хобби. Нравится мне это дело почему-то.
Итак, инсталляторы:
1. Inno Setup - самый наверное мощный из них. Система с открытым исходным кодом. Использует скрипты Pascal scripting. Поддерживает версии Windows до самых новейших, поддержка 64-разрядных систем. Возможна интеграция с различными архиваторами, создание томов для больших программ, практически неограниченная возможность изменения внешнего вида установщика, работа с реестром, ini файлами и многое, многое другое.
Существуют дополнительные инструменты для облегчения написания кода, которые мы рассмотрим в темах по этому инсталлятору. Репакеры игр очень любят эту программу. В основном все скачанные вами репаки игр созданы именно в Inno setup, используют также и для программ.
2. NSIS (Nullsoft Scriptable Install System) - также бесплатная система с открытым исходным кодом от создателей Winamp. Изначально и создавался для распространения плеера. Использует скриптовой язык, поддерживает плагины, различные архиваторы и также имеет очень большие возможности по кастомизации. Чуть менее известная система (по сравнению с Inno) для создания инсталляторов. Возможно, есть и репакеры, которые её используют для игр (я не видел), а для софта частенько. Например, известный многим SamLab использует именно её для распространения собственной сборки плеера POT, файлового менеджера Total Commander и прочее. Старый скриншот с установки винампа:
3. InstallShield - известен наверное всем. Раньше (да многие и сейчас) разработчики ПО используют его для распротсранения своих программа. Тот же Сyberlink. Громозкий и мощный пакет для создания инсталляторов. Требуется покупка или лечение. Русского интерфейса по умолчанию не имеет, русификаторов для последних версий я не видел, но возможность создания инсталлятора с диалогами на великом и могучем имеется по умолчанию. Мы его рассмотрим скорее всего в конце серии (я в неё много не работал, только изучал) и если я доживу до этого момента, конечно. -))) Популярен мало в среде репакеров. Перепаковок игр я на нём не видел совсем. Типичный интерфейс:
4. Advanced Installer - чем то подобен Install shield. Среди репакеров игр также мало популярен. Я лично в основном его использую для создания репаков программ типа перепаковок UltraEdit, Araxis Merge, Help and Manual и других. Чем он мне нравится, так это возможностью перепаковки MSI пакета. Русификатор (точнее русифицированную версию) собирает уважаемый loginvovchyk. Программа платная, доступен 30-дневный триал. Подробнее напишу в отдельных постах, посвящённых работе в этой программе. Скриншот на моем примере перепаковки:
5. Мелкие программы для создания установочных пакетов типа Smart Install Maker . Есть платные и бесплатные. Их достаточно много. Smart Install Maker мы завтра на простейшем примере разберём.
6. Также существует возможность создания инсталляторов на базе архиваторов WinRar и 7-zip, для последнего есть даже конструктор. Если хотите, разберу также и его. Но они всё равно не дотягивают по своим возможностям до того же Inno. Но внимание на них обратить стоит, я считаю.
Также я не буду рассматривать создание инсталляторов в Windows Setup и Wix. Не нравятся они мне, если честно. На этом на сегодня всё. До завтра!