Создаём 64-битный портативный установщик с выбором модов и встроенной Java на основе TL


Данная статья - идейное продолжение моей прошлой новости
Создаем установщик для своей сборки + портативный клиент на основе tLauncher



За основу клиента ( не установщика ) взят клиент с моей сборки
The Journey



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



Плюсы:


  • Выбор любой папки для установки
  • Выбор устанавливаемых модов
  • Принудительный запуск предустановленной 64-битной Java 8 u181 - у скачавших будет меньше проблем с запуском игры
Минусы:
  • Привязка к Windows - невозможность запуска на других ОС
  • Возможность запуска только на 64-битных системах


Подготовка рабочего места

Качаем данный архив с клиентом, примером скрипта, Inno Setup и русификатором к нему.


Распаковываем в любое место и запускаем.

innosetup-qsp-5.6.1-unicode.exe

Устанавливаем в любое место, далее -> далее -> далее и т.д., ничего не меняя.
В конце нам предложат запустить программу - любезно отказываемся.
В итоге мы установили 2 программы - Inno Setup и Inno Script Studio

Копируем файл Russian.lng, который был в архиве в

C:\Program Files (x86)\Inno Script Studio\Languages

Так мы установили русификатор, к которому мы еще вернёмся



Подготовка клиента игры

Подготавливаем наш клиент для упаковки в установщик. В комплекте идут пара модов на 1.12.2 для примера и 2 предустановленные версии с Forge

Minecraft 1.7.10 Minecraft 1.12.2
Forge 10.13.4.1614 Forge 14.23.4.2759

Удалите лишний по усмотрению.

В клиенте для примера находятся 11 модов для различных примеров, итоговый вид папки \Minecraft :

Создаём 64-битный портативный установщик с выбором модов и встроенной Java на основе TL

ЧЕМ МЕНЬШЕ ФАЙЛОВ - ТЕМ ВАМ БУДЕТ ЛЕГЧЕ
Поэтому познавайте дзен очищения сборок от лишних файлов

Настройки лаунчера ( configuration.cfg ) и профили хранятся в папке

\\Minecraft\libraries\bin

Предустановленная Java хранится в

\\Minecraft\libraries\bin\java

По умолчанию в лаунчере выставлено 2 Гб выделенной памяти без дополнительных аргументов, всё в ваших руках.



Создание установщика

Для начала русифицируем нашу программу. Берём файл Russian.lng и вставляем его в установленную папку ISS.

C:\Program Files (x86)\Inno Script Studio\Languages

Далее открываем файл примера скрипта из архива setup.iss.
Должна открыться программа Inno Script Studio. В меню View меняем язык на Русский

Создаём 64-битный портативный установщик с выбором модов и встроенной Java на основе TL


Теперь быстро пробежим по секциям:

Inno Setup Script

весь код установщика в чистом виде

Ставим курсор в конец 6 строки AppId= и нажимаем кнопки Shift+Ctrl+G
После чего в положение курсора должен вставиться уникальный GUID, генерируйте его так каждый раз при создании нового проекта установщика.

Пример: AppId={{22AF3634-7CEC-413C-9EC4-233DB9777B09}

Рассмотрим основные строки:

#define MyAppName "Minecraft Super Client"
Название установщика
#define MyAppVersion "1.5"
Версия установщика
DefaultDirName=C:\Games\Minecraft Client\{#MyAppName}
Путь по умолчанию, куда будет установлен клиент
SetupIconFile=C:\Games\SIP\Без-имени-1.ico
Путь к иконке установщика

Компоненты

категории и элементы для выборки устанавливаемых модов

Создаём 64-битный портативный установщик с выбором модов и встроенной Java на основе TL

Тут мы создаём всё, что хотим сделать опциональным.
Компоненты разделяются на категории/подкатегории обратной косой чертой ( \ ).
Имя - название компонента.
Описание - то, что будет показано в установщике.
Типы - к какому типу установки принадлежит категория. По умолчанию стоит тип "Full", т.е. полная установка.
Если выставить компоненту тип "Full", то он будет включен по умолчанию. Если ничего не выставлять - выключен по умолчанию.
Флаги - параметр компонента. По умолчанию никаких флагов не установлено.
"fixed" - запрет на изменение вкл./выкл. "exclusive" - сделать компонент уникальным в масштабе данной категории, т.е. будет возможен выбор только одного элемента
В итоге наш пример будет выглядеть так:

Создаём 64-битный портативный установщик с выбором модов и встроенной Java на основе TL


Файлы

все файлы, которые будут упакованы в установщик

Создаём 64-битный портативный установщик с выбором модов и встроенной Java на основе TL

Пихаем сюда весь наш клиент. Тут начинается самая тяжёлая и долгая часть.

Для начала нажмите ПКМ в любом месте правого окна ( где файлы ), в всплывшем окне нажмите "Настройка представления" и поставьте галочку у "Компоненты"
Рассмотрим основные свойства:

Исходная папка
Откуда будет взят данный файл
Папка назначения
Куда будет установлен файл. {app} - путь по умолчанию, который мы указали ранее
Компоненты
Выбранный компонент файлу. Если не выбрать - то файл не будет установлен!

В свойства файла можно двойным нажатием ЛКМ или через соответствующий пункт через ПКМ. Возможно изменение свойств нескольким выбранным файлам.

Для удобства я разделил "системные" файлы, которые будут установлены в любом случае, выдав им компонент "client"

Все остальные файлы модов и прочего - надо выставить вручную для каждого созданного компонента.

То есть для файла BetterFPS выбираем компонент "mods\cat1\betterfps", который мы создали специально для него.

И подобным образом компоненты выставляются всем файлам, включая файлы конфигов ( из папки config ).

Во время выдачи компонентов файлам - не спешите, если поставите другой компонент, то это сложно будет заметить.

Если вы создали компонент, но не назначили ему файлов, то в установщике не будет указан его размер.

После того, как отмучаетесь с этим - можно компилировать скрипт ( красная рамка ).

Создаём 64-битный портативный установщик с выбором модов и встроенной Java на основе TL

В случае успеха там же есть кнопка для запуска установщика ( фиолетовая рамка ).

Обязательно проверяйте установщик после успешной компиляции! Установите его несколько раз, посмотрите на список компонентов, всё ли верно выставлено Проверьте пути установки и правильность расположения файлов


В итоге у нас должно получиться уот такое уот чудо:

Создаём 64-битный портативный установщик с выбором модов и встроенной Java на основе TL


Реклама:




Голосуй за новость:
(+8.958,950.00)
  • Просмотров: 469
  • Комментариев: 4
Рекомендуемое для Вас:

  1. Журналисты
    Зарегистрирован: 29.01.2015
    Репутация
    (+149.0147,2-1.8)
    obscurus | Пользователь offline | (31 августа 2018 18:07) | Комментариев: 399 | Новостей: 51 |
    • +2

    Жду советов по оформлению новости, не знаю как её раскрасить NewspaperGuy
    -----------------------------------------------------------------------------
    Мысли вслух.


  2. Посетители
    Зарегистрирован: 23.06.2016
    Репутация
    (+19.518,8-0.7)
    Andry093 | Пользователь offline | (31 августа 2018 18:13) | Комментариев: 113 | Новостей: 0 |
    • +1

    5 мем,раскрашивать туторилы не обязательно
    -----------------------------------------------------------------------------
    *Тут будет картинка*


  3. Журналисты-олдфаги
    Зарегистрирован: 25.04.2015
    Репутация
    (+70.169,9-0.2)
    WooDOfficial | Пользователь offline | (31 августа 2018 22:45) | Комментариев: 346 | Новостей: 22 |
    • +2

    Огромное спасибо за новость, очень полезный туториал. Как раз планировал создать свою сборку, а тут такое...

    Естественно, пятый мем и плюсик в репу the-man
    -----------------------------------------------------------------------------



  4. Администраторы
    Зарегистрирован: 27.07.2011
    Репутация
    (+1030.6992,6-38.0)
    south_park | Пользователь offline | (1 сентября 2018 21:45) | Комментариев: 1 281 | Новостей: 1 331 |
    • 0

    Топ, большое спасибо за такой материал и оформление.
    Низкий поклон. nravitsa

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.

Последние сообщения с форума

Название темы Автор Статистика Последнее сообщение
Форумный чат

Тема в разделе: Чат флудилка

3JIou_Kpunep

Просмотров: 7708100

Ответов: 134895

Автор: Ruslanzh

Сегодня, 05:14

ECHO - Terra Incognita

Тема в разделе: Карта "в разработке"

MrDanklark

Просмотров: 3508

Ответов: 124

Автор: MrDanklark

Вчера, 22:42

Проблема с игрой по Hamachi.

Тема в разделе: Ваши вопросы по Minecraft

DanBear

Просмотров: 97

Ответов: 6

Автор: rubicus

Вчера, 20:21

Island-Craft - хардкорный майнкрафт сервер [BETA]

Тема в разделе: Проекты

daniorio

Просмотров: 386

Ответов: 14

Автор: NullException

Вчера, 11:24

Minecaves 2 — сумасшедший двухмерный Майнкрафт

Тема в разделе: Игры

minecrafter666

Просмотров: 40

Ответов: 0

Автор: minecrafter666

Вчера, 00:00