Прежде чем начать этот урок, советую ознакомиться с этим
Многие делают игру для ПК. Когда проект готов, то его экспортируют в NW.JS или Node Webkit(Смотря какая версия С2). После экспорта у нас выдаётся папка с игрой, которая весит достаточно много. Логично сделать установщик игры. Как это делается?
Вот так:
Создание установщика.
Тут нам понадобится бесплатная программа Inno Setup Compiler. Загружаем ее на официальном сайте разработчика
http://www.jrsoftware.org/isdl.php
, размер составляет всего 2 Мб. Устанавливаем программу и запускаем.
В приветственном окне выбираем пункт Create a new script file using the Script Wizard. То есть создадим новый установщик, используя специальный режим мастера.
Откроется мастер установщиков. На первом этапе просто нажимаем на кнопку Next.
Далее вводим имя приложения, версию приложения, имя и сайт разработчика.
После идет выбор папки (Application destination base folder), в которую по умолчанию будет устанавливаться игра. Тут нет особого смысла менять стандартное значение. При желании пользователь сам выберет нужную папку.
ФИНАЛЬНАЯ СБОРКА ПРОЕКТА C# (для публикации)/VisualStudio2019/InnoSetupCompiler
Ниже (Application folder name) вводится название папки, которая будет создана в меню пуска.
Далее в программу нужно добавить все файлы, используемые игрой. Сперва выбираем главный файл. Нажимаем на кнопку Browse под пунктом Application main executable file.
И открываем файл nw.exe из нашей папки win32.
Затем под пунктом Other application files (остальные файлы) нажимаем на кнопку Add folder.
И полностью добавляем папку win32.
Подтверждаем добавление всех подпапок и вложенных файлов.
На следующем этапе создаются ярлыки в меню пуска, на рабочем столе и панели задач. Отмечаем галочки напротив нужных параметров.
Далее добавляется информация о лицензиях и по установке игры на компьютер. Эти данные не обязательны, можно пропустить.
После идет выбор языков установщика. Логичным будет указать те же языки, что и в самой игре.
Остается выбрать папку (Custom compiler output folder) для сохранения готового установщика и имя этого файла (Compiler output base name). Дополнительно вы можете добавить свой значок и пароль на установку игры.
Затем закрываем мастер установщиков, нажав на кнопку Finish.
Проект готов. Программа тут же предложит запустить создание установщика. Соглашаемся.
А вот сам проект можно не сохранять.
Теперь дожидаемся завершения создания установщика.
Готово, установщик вашей игры создан. Он самый обычный и без лишних наворотов.
Если остались вопросы, то пишем в ЛС
Последний раз редактировалось WarThunder 24 сен 2017, 20:51, всего редактировалось 1 раз.
мои полезные уроки
Сообщений: 1468 Я тут с 24 авг 2017 Откуда: Краснодар, Россия, Земля, Солнечная система, Млечный путь Двиг: Construct2 Лицензия: Personal Репутация 121 [ ? ]
Уроки по Inno Setup #1 | Создание простейшего инсталятора
Круто, урок мне понадобится в дальнейшем,
Но это не совсем урок по С2.
Я даже не знаю куда это выложить, но все равно нужная вещь!
О великий Ctrl+S, спаси и сохрани
Сообщений: 937 Я тут с 07 май 2017 Двиг: CC,C2 Лицензия: full Репутация 377 [ ? ]
cliva писал(а): Но это не совсем урок по С2.
Знаю, просто более подходящей темы нет)))
мои полезные уроки
Сообщений: 1468 Я тут с 24 авг 2017 Откуда: Краснодар, Россия, Земля, Солнечная система, Млечный путь Двиг: Construct2 Лицензия: Personal Репутация 121 [ ? ]
При создании установщика спустя пару минут появляется данная ошибка (смотреть screenshot). Подскажите пожалуйста, как это исправить и, что это вообще значит.
http://c2community.ru/imagehosting/imag . /16/23.png
Сообщений: 1 Я тут с 16 фев 2020 Репутация 0 [ ? ]
SnupyS2 , извини, что пишу спустя столь долгое время. Попробуй от имени администратора запустить. Похоже программа не получает доступ к нужному фрагменту памяти на диске. Надеюсь моё сообщение дойдёт до тебя. И проверь правильно ли ты выполнил экспорт
мои полезные уроки
Сообщений: 1468 Я тут с 24 авг 2017 Откуда: Краснодар, Россия, Земля, Солнечная система, Млечный путь Двиг: Construct2 Лицензия: Personal Репутация 121 [ ? ]
Добрый день, уважаемые форумчане. Кто в курсе: как обойти ограничение в Inno Setup на размер создаваемого файла в 2.100.000.000 байт ? То есть, стоит задача перепаковать игру с дополнительным патчем. Игра в установленном виде весит 12,7 Гб. При компиляции Inno Setup v. 5.4.2 создаёт аж 6 файлов (не считая основного exe-шника): 5 файлов по 1,95 Гб каждый и один (видимо, остаточный) на 1,55 Гб.
Оригинальный установщик игры имеет 5 дополнительных bin файлов размерами 3,33 Гб, 2,19 Гб, 142 Мб, 26,7 Мб и 5,93 Мб. Как так получается, что в оригинале возможен размер файлов больше 1,95 Гб, а при компиляции в Inno Setup — нет? Может быть, есть какие-то скрытые настройки в Inno Setup, которые отвечают за снятие данного ограничения? Или же для создания больших bin файлов надо использовать какой-то другой компилятор? Если кто знает такой — подскажите, пожалуйста. Ведь такая возможность точно есть, поскольку имеются игры, в которых bin-арники весят по 20-40 Гб !
Сообщений: 4 Я тут с 08 апр 2021 Репутация 0 [ ? ]
Источник: c2community.ru
Скачать CreateInstall 8.5.1
CreateInstall — универсальный, гибкий и мощный инсталлятор как для профессиональных разработчиков, так и для начинающих. С помощью этой программы Вы можете создать полнофункциональные инсталляционные программы для Ваших приложений (полное описание. )
Рекомендуем популярное
Inno Setup — бесплатный инструмент для создания инсталляторов с большим количеством полезных.
CreateInstall — универсальный, гибкий и мощный инсталлятор как для профессиональных.
UPX — бесплатный, портируемый упаковщик исполняемых файлов. Поддерживает множество.
Cameyo — отличное приложение для создания портативных версий любых программ и утилит.
Это профессиональный инсталлятор программ который позволит Вам с легкостью создавать великолепные установочные программы для Ваших Windows приложений.
Smart Install Maker — мощная программа для создания инсталляторов. Обладает простым и понятным.
Источник: www.softportal.com
Пишем инсталлятор
Наиболее частый вопрос, который мне задают — как сделать свою программу инсталляции? А когда я расспрашиваю подробнее мне объясняют, что нужна просто красивая программка, которая скопирует файлы из одного места в другое. Поэтому я решил написать статью, где соберу многое из того, что писал ранее (и это есть на VBStreets). мы напишем программу, которая будет устанавливать файлы.
Сразу извиняюсь за некоторую сумбурность и непоследовательность повествования, просто у меня сейчас ОЧЕНЬ мало времени. поэтому здесь лежит пример.
Чем мне нравится идея написания собственного инсталлятора, так это тем. что вы не ограничены и можете засунуть сюда множество своих функций, и пишется инсталлятор как обычная программа.
Теперь объясняю идею — надо написать программу, которая может извлекать, копировать (добавлять запись в system.ini и в реестр и т.д.). Но все это мелочи . Основная идея — все файлы держать в ресурсах как бинарные, а потом извлекать их куда надо.
Количество форм программы может быть любым, но я не рекомендую делать их слишком много, чтобы не злить и без того злого юзверя. Для того, чтобы формы появлялись там, где надо, мы будем их настраивать так:
При нажатии кнопки Далее>> (или Next>>), можете назвать так, как хотите.
frmNext.Show frmNext.Height = Me.Height frmNext.Width = Me.Width frmNext.Move Me.Left, Me.Top Unload Me
Юзер может подвинуть форму, поэтому другую нужно отображать там же, где была предыдущая, т.к. это будет очень эффектно, как будто это одна форма :-).
В код первой формы мы вставим такую штуку (Form_Load):
If App.PrevInstance Then End MsgBox «Уже запущена одна версия программы установки!», 16, «Setup» End If
Это для того, что бы шибко умный пользователь не запустил два приложения одновременно.
Далее вы можете насовать сколь угодно много форм, но желательно сделать диалог выбора папки для установки. Тут пригодятся следующие вещи: размещаем Dir1, List1, Label1, Label2,Command1. Пишем код.
Private Declare Function GetDiskFreeSpace Lib «kernel32» Alias «GetDiskFreeSpaceA» ( ByVal lpRootPathName As String, lpSectorsPerCluster As Long, lpBytesPerSector As Long, lpNumberOfFreeClusters As Long, lpTtoalNumberOfClusters As Long) As Long
Private Sub Drive1_Change() Spaces = GetDiskFreeSpace(Mid$(Drive1.Drive, 1, 2), secpercl, bytespersec, numoffreecl, AllCl) Dim l As Long l = 1024 ^ 2 ss = bytespersec / l fs = secpercl * ss * numoffreecl fs = Format(fs, «0») label2.Caption = «Свободно на диске: » » MB» Dir1.Path = Drive1.Drive End Sub Private Sub Dir1_Change() mDir = Dir1.Path Label1.Caption = mDir ‘ Эту переменную загоняем в модуль как ‘ Public InsDir as String, она нам еще пригодится. End Sub Private Sub Command1_Click() On Error GoTo ree_ nd = InputBox(«Введите имя директории», «Новая папка. «) If nd = «» Then Exit Sub MkDir Dir1.Path » Ошибка, однако.», 16, «Setup» End Sub
Можете добавлять еще что-нибудь. Это же я так для примера.
Потом идет диалог, установка. Там делаем такую вещь:
Private Sub Form_Load() ‘Извлекаем из ресурсов файл, и создаем ярлык. ProgressBar1.Value = 20 Dim BinaryData() As Byte BinaryData = LoadResData(101, «Files») ProgressBar1.Value = 80 Open mDir wininfo.exe» For Binary Access Write As #1 Put #1, 1, BinaryData Close #1 ProgressBar1.Value = 98 ‘В английских форточках работает. lngresult = fCreateShellLink(«….Desktop», «WinInfo», mDir wininfo.exe», «») ProgressBar1.Value = 100 Unload Me frmFinish.Show End Sub
Все, после этого выводим последний диалог с поздравлениями.
Возникает проблема — самому инсталлятору нужны посторонние файлы, вроде msvbvm60.dll и ocx, которые вы использовали. Это решается так — эти файлы тащите вместе и инсталлятором в sfx архиве. При распаковке которого запускается ваш setup. что не раздражает пользователя. А в инсталляторе добавляете команды типа FileCopy — переносите файлы туда, куда надо.
Источник: codenet.ru