Быстрая сборка установщика User guide

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

Для сборки установщика на Windows будем использовать программу Inno setup

Cсылка на скачивание Inno setup https://jrsoftware.org/isdl.php

Официальная документация https://jrsoftware.org/ishelp

После запуска Inno setup открывается начальное меню с возможностью создать новый файл или выбрать недавние

Быстрая сборка установщика User guide

При создании нового файла есть выбор

  • Create a new empty script file - наш выбор, если будете использовать код из данной статьи, который уже настроен
  • Create a new script file using the Script Wizard - использовать, если хотим с нуля создать установщик со своими настройками. Не буду описывать данный пункт подробно, так как там всё довольно легко.

После выбора Create a new empty script file - Нам отображается меню с возможностью ввода кода.

Сюда необходимо вставить код ниже.

Для удобства, ключевые строчки, которые необходимо исправить, выделены жирным шрифтом.

Код

#define MyAppName "Название приложения/игры в кавычках"

#define MyAppVersion "Версия, например: 1.6.0, в кавычках"

#define MyAppPublisher "Название компании/команды, в кавычках"

#define MyAppURL "Можно добавить сайт здесь, в кавычках"

#define MyAppExeName "Название приложения, например: Game.exe, в кавычках"

#define MyAppAssocName MyAppName + " Setup"

#define MyAppAssocExt ".myp"

#define MyAppAssocKey StringChange(MyAppAssocName, " ", "") + MyAppAssocExt

[Setup]

; NOTE: The value of AppId uniquely identifies this application. Do not use the same AppId value in installers for other applications.

; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)

AppId= {{Здесь вставляем сгенерированный код для приложения (см.далее)}

AppName={#MyAppName}

AppVersion={#MyAppVersion}

AppPublisher={#MyAppPublisher}

AppPublisherURL={#MyAppURL}

AppSupportURL={#MyAppURL}

AppUpdatesURL={#MyAppURL}

DefaultDirName={autopf}\{#MyAppName}

; autopf - при установке будет предлагать папку Program files, или переустановит в ту, где было до этого установлено приложение

ChangesAssociations=yes

DefaultGroupName={#MyAppName}

AllowNoIcons=yes

; Uncomment the following line to run in non administrative install mode (install for current user only.)

;PrivilegesRequired=lowest

OutputBaseFilename= Название файла установщика, например: Game_setup

SetupIconFile= Путь для иконка формата ico, например: D:\icons\Game_icon.ico

Compression=lzma

SolidCompression=yes

WizardStyle=modern

[Languages]

Name: "english"; MessagesFile: "compiler:Default.isl"

Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl"

; Выбор языков при начале установки

[Tasks]

Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked

; файлы, которые нужно упаковать, нам важен исполнительный файл и остальные в папке

[Files]

Source: "Путь к исполнительному файлу (который нужно запустить, чтобы запустилась игра формата .exe), например, D:\Build\{#MyAppExeName}"; DestDir: "{app}"; Flags: ignoreversion

Source: "Путь ко всем остальным файлам, которые нужно установить, например, D:\Build\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs

; NOTE: Don't use "Flags: ignoreversion" on any shared system files

[Registry]

Root: HKA; Subkey: "Software\Classes\{#MyAppAssocExt}\OpenWithProgids"; ValueType: string; ValueName: "{#MyAppAssocKey}"; ValueData: ""; Flags: uninsdeletevalue

Root: HKA; Subkey: "Software\Classes\{#MyAppAssocKey}"; ValueType: string; ValueName: ""; ValueData: "{#MyAppAssocName}"; Flags: uninsdeletekey

Root: HKA; Subkey: "Software\Classes\{#MyAppAssocKey}\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#MyAppExeName},0"

Root: HKA; Subkey: "Software\Classes\{#MyAppAssocKey}\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#MyAppExeName}"" ""%1"""

Root: HKA; Subkey: "Software\Classes\Applications\{#MyAppExeName}\SupportedTypes"; ValueType: string; ValueName: ".myp"; ValueData: ""

[Icons]

Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"

Name: "{autodesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon

[Run]

Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent

AppId

Id, по которому будет определяться приложение. Для разных приложений используем разный id, для одинаковых - одинаковый.

Чтобы, сгенерировать AppId, заходим во вкладку Tools, а затем нажимаем Generate GUID

Быстрая сборка установщика User guide

Сгенерированный ID появится там, где сейчас находится курсор мыши:

Быстрая сборка установщика User guide
Быстрая сборка установщика User guide

Сгенерированный id необходимо вставить в поле AppId, в формате:

AppId= {{сгенерированный id}

Быстрая сборка установщика User guide

Сборка

Сохраняем файл проекта

Файл установщика будет сохранен в папке Output в той же папке, что и сохранен файл проекта, так что сохраняйте проект в удобном месте)

Быстрая сборка установщика User guide

После сохранения можно собирать проект, нажав на синюю кнопку Run

Быстрая сборка установщика User guide

Ждём…

После завершения сборки установщик автоматически запуститься

Готовый файл будет ждать вас в папке Output в той же папке, что и сохранен файл проекта (это который с расширением .iss)

Мой тг канал:

11
3 комментария

????👀

1
Ответить

????

Ответить

👀

Ответить