Как сделать репак с помощью Inno Setup

Ответить на тему

Статистика раздачи [Обновить пиров]
Размер:  2 MB   |    Зарегистрирован:  1 год 7 месяцев   |    Скачан:  2 раза
Сидов:  10  [  0 KB/s  ]   Подробная статистика пиров
   
 
Автор Сообщение

Admin ®

Стаж: 7 месяцев 10 дней

Сообщений: 4447

Откуда: trackeroc.ru


Пост 23-Апр-2015 16:29

[Цитировать]

Как сделать репак(перепаковку) с помощью Inno Setup инструкция
Качаем программу Inno Setup Ссылка ниже
запускаем в 1 окне нажимаем создать скрин ниже

Потом 2-е окно название сайт

Дальше в Картинках


3-е окно указываем путь до ехе файла и папки игры

4-е окно на ваше усмотрение

5-е пропускаем

6-е ставим галочки для языка инсталятора

7-е указывем путь сохранения и иконки

8-е получаем код который будем редактировать потом

код

Код:
#define MyAppName "Пишем назв игры"
#define MyAppVersion "Версию"
#define MyAppPublisher "назв компании"
#define MyAppURL "Тут пишем любой сайт"
#define MyAppExeName "Указываем название exe файла игры"
[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={{48C60268-1E1F-4FA0-8097-1163B0D7FC2B}
WizardImageFile=C:\inst\2.bmp  - тут пишем путь до картинки кот будет в инстале(картинка слева размер 400х150)
AppName={#MyAppName}
AppVersion={#MyAppVersion}
;AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName={pf}\{#MyAppName}
DefaultGroupName={#MyAppName}
OutputDir=Указываем путь куда репак будет сохранен
OutputBaseFilename=setup название
Compression=lzma2/ultra64   добавил от себя для сжатия
SolidCompression=true  добавил от себя для сжатия
InternalCompressLevel=ultra64          добавил от себя для сжатия
UninstallFilesDir={pf}             добавил от себя для удаления
[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
Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked; OnlyBelowVersion: 0,6.1
[Files]
Source: "Указываем путь до exe файла игры и папки"; DestDir: "{app}"; Flags: ignoreversion [b]Пример ниже[/b]
Source: D:\Games\Age of Conan\ConanPatcher.exe; DestDir: {app}; Flags: ignoreversion
Source: D:\Games\Age of Conan\*; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs
[Icons]
Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}"
Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon
Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: quicklaunchicon
Редактируем код потом просто не нужно будет делать по пунктам а просто указать в коде данные и в проге нажать компилировать
Ниже я распишу какие команды за что отвечают чтобы было проще при редактировании
Код:
#define MyAppName "Пишем назв игры"
#define MyAppVersion "Версию"
#define MyAppPublisher "назв компании"
#define MyAppURL "Тут пишем любой сайт"
#define MyAppExeName "Указываем назв-е exe файла игры"
[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={{48C60268-1E1F-4FA0-8097-1163B0D7FC2B}
WizardImageFile=C:\inst\2.bmp  тут мы ставим картинку в инсталятор(главное указать путь и картинка в bmp формате)
AppName={#MyAppName}
DiskSpanning=true  для разделения файлов чтобы инсталл был не одним файлом(действует более 2гб)
AppVersion={#MyAppVersion}
;AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName={pf}\{#MyAppName}
DefaultGroupName={#MyAppName}
OutputDir=Указываем путь куда репак будет сохранен
OutputBaseFilename=Название setup
Compression=lzma2/ultra64 это я добавил для сжатия
SolidCompression=true  это я добавил для сжатия
InternalCompressLevel=ultra64 это я добавил для сжатия
UninstallFilesDir={pf}  это для удаления
[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
Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked; OnlyBelowVersion: 0,6.1
[Files]
Source: "Указываем путь до exe файла и папки с игрой "; DestDir: "{app}"; Flags: ignoreversion
Source: D:\Games\Age of Conan\ConanPatcher.exe; DestDir: {app}; Flags: ignoreversion
Source: D:\Games\Age of Conan\*; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs  до папки с игрой
вывод иконок в меню и на раб стол
[Icons]
Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}"
Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon
Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: quicklaunchicon
Вывод надписи ссылки внизу инсталятора
[Messages]
BeveledLabel= SETUP by IGOR


Вложение
[trackeroc.ru].5955.torrent 
Торрент: Зарегистрирован   [ 2015-04-23 16:34 ]

Скачать торрент

1 KB

Статус: проверено
Скачан: 61 раз
Размер: 2 MB
 

BiOS (23-апр-15), shon86 (25-апр-15)

_________________


Последний раз редактировалось: Admin (2016-11-28 22:03), всего редактировалось 34 раз(а)
[Профиль] [ЛС]

BiOS

Стаж: 2 года 7 месяцев

Сообщений: 1733

Откуда: Raccoon City


Пост 23-Апр-2015 19:01 (спустя 2 часа 31 минута)

[Цитировать]

Вот этого мне и не хватала) Вот сейчас и займусь репаками) 

_________________
[Профиль] [ЛС]

Admin ®

Стаж: 7 месяцев 10 дней

Сообщений: 4447

Откуда: trackeroc.ru


Пост 23-Апр-2015 19:04 (спустя 3 минуты)

[Цитировать]

Вот этого мне и не хватала) Вот сейчас и займусь репаками)
это простой способ без использования сторонних прог чисто инно сетап жмет 7zip


_________________
[Профиль] [ЛС]

Admin ®

Стаж: 7 месяцев 10 дней

Сообщений: 4447

Откуда: trackeroc.ru


Пост 23-Апр-2015 23:36 (спустя 4 часа)

[Цитировать]

И главное
Если файл запуска т.е ехе находится в другой под папке тут нужно редактировать пример(если файл в папке bin) ниже
Код:
Name: "{group}\{#MyAppName}"; Filename: "{app}\bin\{#MyAppExeName}"
Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\bin\{#MyAppExeName}"; Tasks: desktopicon


_________________
[Профиль] [ЛС]

DarthNihilus

Стаж: 2 года

Сообщений: 310


Пост 27-Апр-2015 19:18 (спустя 3 дня)

[Цитировать]

не забудьте включать в свои репаки визуалЦе и прочая 
[Профиль] [ЛС]

_DD_

Стаж: 1 год 3 месяца

Сообщений: 468

Откуда: Одесса


Пост 19-Июн-2016 13:42 (спустя 1 год 1 месяц)

[Цитировать]

Пример кода для упаковки Mad Games Tycoon.
Код:
; Script generated by the Inno Script Studio Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
#define MyAppName "Mad Games Tycoon"
#define MyAppVersion "0.160618A"
#define MyAppExeName "MadGamesTycoon.exe"
#define MyAppVerName StringChange(MyAppName+" v"+MyAppVersion, " ", "_")
#define MyAppPublisher "Trackeroc.Ru"
#define MyAppURL "http://trackeroc.ru/viewtopic.php?t=2413"
[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={{DB2B37CF-C8F4-4218-89F9-6730435F4795}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
;AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName={pf}\{#MyAppName}
DefaultGroupName={#MyAppName}
AllowNoIcons=yes
OutputDir=D:\Downloads\Mad Games Tycoon
OutputBaseFilename={#MyAppVerName}_setup
SetupIconFile=D:\Downloads\Mad Games Tycoon\Mad Games Tycoon.ico
SolidCompression=yes
ShowTasksTreeLines=True
EnableDirDoesntExistWarning=True
UninstallDisplayIcon={uninstallexe}
InternalCompressLevel=ultra
AlwaysShowGroupOnReadyPage=True
AlwaysShowDirOnReadyPage=True
Compression=lzma2/ultra
AppCopyright=DDayver
VersionInfoCopyright=DDayver
VersionInfoVersion=0.16.06.18
VersionInfoCompany={#MyAppPublisher}
VersionInfoDescription={#MyAppName} v{#MyAppVersion}
VersionInfoTextVersion={#MyAppVersion}
VersionInfoProductName={#MyAppName}
VersionInfoProductVersion=0.16.06.18
VersionInfoProductTextVersion={#MyAppName} v{#MyAppVersion}
[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"
Name: "brazilianportuguese"; MessagesFile: "compiler:Languages\BrazilianPortuguese.isl"
Name: "catalan"; MessagesFile: "compiler:Languages\Catalan.isl"
Name: "corsican"; MessagesFile: "compiler:Languages\Corsican.isl"
Name: "czech"; MessagesFile: "compiler:Languages\Czech.isl"
Name: "danish"; MessagesFile: "compiler:Languages\Danish.isl"
Name: "dutch"; MessagesFile: "compiler:Languages\Dutch.isl"
Name: "finnish"; MessagesFile: "compiler:Languages\Finnish.isl"
Name: "french"; MessagesFile: "compiler:Languages\French.isl"
Name: "german"; MessagesFile: "compiler:Languages\German.isl"
Name: "greek"; MessagesFile: "compiler:Languages\Greek.isl"
Name: "hebrew"; MessagesFile: "compiler:Languages\Hebrew.isl"
Name: "hungarian"; MessagesFile: "compiler:Languages\Hungarian.isl"
Name: "italian"; MessagesFile: "compiler:Languages\Italian.isl"
Name: "japanese"; MessagesFile: "compiler:Languages\Japanese.isl"
Name: "norwegian"; MessagesFile: "compiler:Languages\Norwegian.isl"
Name: "polish"; MessagesFile: "compiler:Languages\Polish.isl"
Name: "portuguese"; MessagesFile: "compiler:Languages\Portuguese.isl"
Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl"
Name: "scottishgaelic"; MessagesFile: "compiler:Languages\ScottishGaelic.isl"
Name: "serbiancyrillic"; MessagesFile: "compiler:Languages\SerbianCyrillic.isl"
Name: "serbianlatin"; MessagesFile: "compiler:Languages\SerbianLatin.isl"
Name: "slovenian"; MessagesFile: "compiler:Languages\Slovenian.isl"
Name: "spanish"; MessagesFile: "compiler:Languages\Spanish.isl"
Name: "turkish"; MessagesFile: "compiler:Languages\Turkish.isl"
Name: "ukrainian"; MessagesFile: "compiler:Languages\Ukrainian.isl"
[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"
Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked; OnlyBelowVersion: 0,6.1
[Files]
Source: "D:\Downloads\ic.ico"; DestDir: "{app}"
Source: "E:\Games\{#MyAppVerName}\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension sortfilesbyname
; NOTE: Don't use "Flags: ignoreversion" on any shared system files
[Icons]
Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; WorkingDir: "{app}"; IconFilename: "{app}\{#MyAppExeName}"; Comment: "{#MyAppName} v{#MyAppVersion}"
Name: "{group}\{cm:ProgramOnTheWeb,{#MyAppName}}"; Filename: "{#MyAppURL}"; IconFilename: "{app}\ic.ico"; Comment: "{#MyAppPublisher}"
Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}"; IconFilename: "{uninstallexe}"
Name: "{commondesktop}\{cm:ProgramOnTheWeb,{#MyAppName}}"; Filename: "{#MyAppURL}"; IconFilename: "{app}\ic.ico"; Comment: "{#MyAppPublisher}"; Tasks: desktopicon
Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; WorkingDir: "{app}"; IconFilename: "{app}\{#MyAppExeName}"; Comment: "{#MyAppName} v{#MyAppVersion}"; Tasks: desktopicon
Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; WorkingDir: "{app}"; IconFilename: "{app}\{#MyAppExeName}"; Comment: "{#MyAppName} v{#MyAppVersion}"; Tasks: quicklaunchicon
[Run]
Filename: "{app}\{#MyAppExeName}"; WorkingDir: "{app}"; Flags: nowait postinstall skipifsilent; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"
Ключевые моменты:-
Код:
#define MyAppVerName StringChange(MyAppName+" v"+MyAppVersion, " ", "_")
готовим себе сразу переменную для имени файла и папки-источника (так проще когда часто приходится версии упаковывать)
Код:
OutputBaseFilename={#MyAppVerName}_setup
вот собственно так и используем эту новую переменную-Описание некоторых параметров (даны комментариями к коду)
Код:
; используем непрерывное сжатие
SolidCompression=yes
; отобразить перед установкой все выбранные параметры
ShowTasksTreeLines=True
; подтверждать о создании новой папки куда ставим или что она не пустая
EnableDirDoesntExistWarning=True
; прикрутить иконку к деинсталятору (для красивости)
UninstallDisplayIcon={uninstallexe}
; внутреннее сжатие в инсталяторе, если игра НЕ для 64-хбитных систем - НЕ используйте ultra64 - установщик может дать сбой
InternalCompressLevel=ultra
; показывать перед установкой также в какой папке меню Пуск будут иконки
AlwaysShowGroupOnReadyPage=True
; показывать перед установкой также в какую директорию установится игра
AlwaysShowDirOnReadyPage=True
; сжатие файлов в инсталяторе, если игра НЕ для 64-хбитных систем - НЕ используйте lzma2/ultra64 - установщик может дать сбой
Compression=lzma2/ultra
; смело вписывайте себя - эта информация будет сохранена после установки в информации про игру
AppCopyright=DDayver
; а здесь будет сохранено в исполняемом файле инсталятора автора
VersionInfoCopyright=DDayver
; версия игры в виде хх.yyy.zzz.nnnnn (если версия, указанная в MyAppVersion подходит под эти параметры - смело указывается {#MyAppVersion}
VersionInfoVersion=0.16.06.18
; здесь мы показываем кто опубликовал этот репак
VersionInfoCompany={#MyAppPublisher}
; описание репака
VersionInfoDescription={#MyAppName} v{#MyAppVersion}
; версия в текстовом виде
VersionInfoTextVersion={#MyAppVersion}
; название репака
VersionInfoProductName={#MyAppName}
; версия игры в виде хх.yyy.zzz.nnnnn (если версия, указанная в MyAppVersion подходит под эти параметры - смело указывается {#MyAppVersion}
VersionInfoProductVersion=0.16.06.18
; название продукта в текстовом виде
VersionInfoProductTextVersion={#MyAppName} v{#MyAppVersion}
Собственно описательная часть это "рюшечки", но иногда полезно дать подробную информацию о репака в самом репаке. Изблыточность (повторение информации) связана с тем, что разные форточки по разному читают информацию.-
Код:
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"
По-умолчанию предлагается, чтоб иконки на рабочем столе не создавались. Я все же рекомендую убрать "; Flags: unchecked"-
Код:
[Files]
Source: "D:\Downloads\ic.ico"; DestDir: "{app}"
Source: "E:\Games\{#MyAppVerName}\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension sortfilesbyname
Добавляем иконку для ярлыка-ссылки и папку с файлами игры. Очень рекомендую при добавлении папки использовать вот эти флаги: "sortfilesbyextension sortfilesbyname" - перед упаковкой файлы будут отсортированы по расширениям, а затем по имени - иногда позволяет при упаковке выиграть до 10-15%.-
Код:
[Icons]
Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; WorkingDir: "{app}"; IconFilename: "{app}\{#MyAppExeName}"; Comment: "{#MyAppName} v{#MyAppVersion}"
Name: "{group}\{cm:ProgramOnTheWeb,{#MyAppName}}"; Filename: "{#MyAppURL}"; IconFilename: "{app}\ic.ico"; Comment: "{#MyAppPublisher}"
Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}"; IconFilename: "{uninstallexe}"
Name: "{commondesktop}\{cm:ProgramOnTheWeb,{#MyAppName}}"; Filename: "{#MyAppURL}"; IconFilename: "{app}\ic.ico"; Comment: "{#MyAppPublisher}"; Tasks: desktopicon
Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; WorkingDir: "{app}"; IconFilename: "{app}\{#MyAppExeName}"; Comment: "{#MyAppName} v{#MyAppVersion}"; Tasks: desktopicon
Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; WorkingDir: "{app}"; IconFilename: "{app}\{#MyAppExeName}"; Comment: "{#MyAppName} v{#MyAppVersion}"; Tasks: quicklaunchicon
Тут чуть поподробней на примере {group}:
Name: "{group}\{#MyAppName}" - имя иконки
Filename: "{app}\{#MyAppExeName}" - путь к запускаемому файлу игры
WorkingDir: "{app}" - раболчая директория для запуска игры, старайтесь не пренебрегать этим параметром.
IconFilename: "{app}\{#MyAppExeName}" - путь к файлу с иконкой (может отличаться от пути к запускаемому файлу, например при таблетке SSE
Comment: "{#MyAppName} v{#MyAppVersion}" - описательная часть ярлыка (видно при наведении курсора на ярлык)
Для ярлыков на рабочем столе обязательно добавляем "; Tasks: desktopicon"
Для ярлыков в панели быстрого запуска обязательно добавляем "; Tasks: quicklaunchicon"-
Код:
[Run]
Filename: "{app}\{#MyAppExeName}"; WorkingDir: "{app}"; Flags: nowait postinstall skipifsilent; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"
Здесь мы предлагаем вариант запуска игры после установки. И опять же не забываем о "WorkingDir: "{app}";"
-
Вот пока такой пример кода :) По мере свободного времени буду дополнять вариациями для 64-хбитных ОС, на случай если ярлыков надо сделать несколько (для разных запускаемых файлов) и т.д. и т.п.


_________________
[Профиль] [ЛС]

_DD_

Стаж: 1 год 3 месяца

Сообщений: 468

Откуда: Одесса


Пост 13-Июл-2016 16:12 (спустя 24 дня)

[Цитировать]

Создание репака под два запускаемых файла (32 + 64бит) со сторонними иконками на примере Maia
Код:
; Script generated by the Inno Script Studio Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
#define MyAppName "Maia"
#define MyAppVersion "0.57"
#define MyAppPublisher "Trackeroc.Ru"
#define MyAppURL "http://trackeroc.ru/viewtopic.php?p=263"
[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={{A8F7C3D2-FF90-44CD-936C-B82E94AD52B0}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
;AppVerName={#MyAppName} v{#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName={pf}\{#MyAppName}
DefaultGroupName={#MyAppName}
AllowNoIcons=yes
OutputDir=D:\Downloads\Maia
OutputBaseFilename=Maia_v{#MyAppVersion}_setup
SetupIconFile=D:\Downloads\Maia\Maia.ico
Compression=lzma2/ultra
SolidCompression=yes
AppCopyright=DDayver
VersionInfoVersion={#MyAppVersion}
VersionInfoCompany={#MyAppPublisher}
VersionInfoDescription={#MyAppName} v{#MyAppVersion}
VersionInfoTextVersion={#MyAppVersion}
VersionInfoCopyright=DDayver
VersionInfoProductName={#MyAppName}
VersionInfoProductVersion={#MyAppVersion}
VersionInfoProductTextVersion={#MyAppName} v{#MyAppVersion}
ShowTasksTreeLines=True
AlwaysShowGroupOnReadyPage=True
AlwaysShowDirOnReadyPage=True
EnableDirDoesntExistWarning=True
InternalCompressLevel=ultra
UninstallDisplayIcon={uninstallexe}
[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"
Name: "brazilianportuguese"; MessagesFile: "compiler:Languages\BrazilianPortuguese.isl"
Name: "catalan"; MessagesFile: "compiler:Languages\Catalan.isl"
Name: "corsican"; MessagesFile: "compiler:Languages\Corsican.isl"
Name: "czech"; MessagesFile: "compiler:Languages\Czech.isl"
Name: "danish"; MessagesFile: "compiler:Languages\Danish.isl"
Name: "dutch"; MessagesFile: "compiler:Languages\Dutch.isl"
Name: "finnish"; MessagesFile: "compiler:Languages\Finnish.isl"
Name: "french"; MessagesFile: "compiler:Languages\French.isl"
Name: "german"; MessagesFile: "compiler:Languages\German.isl"
Name: "greek"; MessagesFile: "compiler:Languages\Greek.isl"
Name: "hebrew"; MessagesFile: "compiler:Languages\Hebrew.isl"
Name: "hungarian"; MessagesFile: "compiler:Languages\Hungarian.isl"
Name: "italian"; MessagesFile: "compiler:Languages\Italian.isl"
Name: "japanese"; MessagesFile: "compiler:Languages\Japanese.isl"
Name: "norwegian"; MessagesFile: "compiler:Languages\Norwegian.isl"
Name: "polish"; MessagesFile: "compiler:Languages\Polish.isl"
Name: "portuguese"; MessagesFile: "compiler:Languages\Portuguese.isl"
Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl"
Name: "scottishgaelic"; MessagesFile: "compiler:Languages\ScottishGaelic.isl"
Name: "serbiancyrillic"; MessagesFile: "compiler:Languages\SerbianCyrillic.isl"
Name: "serbianlatin"; MessagesFile: "compiler:Languages\SerbianLatin.isl"
Name: "slovenian"; MessagesFile: "compiler:Languages\Slovenian.isl"
Name: "spanish"; MessagesFile: "compiler:Languages\Spanish.isl"
Name: "turkish"; MessagesFile: "compiler:Languages\Turkish.isl"
Name: "ukrainian"; MessagesFile: "compiler:Languages\Ukrainian.isl"
[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"
Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked; OnlyBelowVersion: 0,6.1
[Files]
Source: "D:\Downloads\ic.ico"; DestDir: "{app}"
Source: "D:\Downloads\Maia\Maia32.ico"; DestDir: "{app}"
Source: "D:\Downloads\Maia\Maia64.ico"; DestDir: "{app}"
Source: "E:\Games\Maia_v{#MyAppVersion}\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension sortfilesbyname
; NOTE: Don't use "Flags: ignoreversion" on any shared system files
[Icons]
Name: "{group}\{#MyAppName} 32bit"; Filename: "{app}\32bit\Maia32.exe"; WorkingDir: "{app}\32bit\"; IconFilename: "{app}\Maia32.ico"; IconIndex: 0; Comment: "{#MyAppName} v{#MyAppVersion} 32bit"
Name: "{group}\{#MyAppName} 64bit"; Filename: "{app}\Maia.exe"; WorkingDir: "{app}"; IconFilename: "{app}\Maia64.ico"; IconIndex: 0; Comment: "{#MyAppName} v{#MyAppVersion} 64bit"; Check: IsWin64
Name: "{group}\{cm:ProgramOnTheWeb,{#MyAppName}}"; Filename: "{#MyAppURL}"; IconFilename: "{app}\ic.ico"; IconIndex: 0; Comment: "{#MyAppPublisher}"
Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}"; IconFilename: "{uninstallexe}"
Name: "{commondesktop}\{#MyAppName} 32bit"; Filename: "{app}\32bit\Maia32.exe"; WorkingDir: "{app}\32bit\"; IconFilename: "{app}\Maia32.ico"; IconIndex: 0; Comment: "{#MyAppName} v{#MyAppVersion} 32bit"; Tasks: desktopicon
Name: "{commondesktop}\{#MyAppName} 64bit"; Filename: "{app}\Maia.exe"; WorkingDir: "{app}"; IconFilename: "{app}\Maia64.ico"; IconIndex: 0; Comment: "{#MyAppName} v{#MyAppVersion} 64bit"; Tasks: desktopicon; Check: IsWin64
Name: "{commondesktop}\{cm:ProgramOnTheWeb,{#MyAppName}}"; Filename: "{#MyAppURL}"; IconFilename: "{app}\ic.ico"; IconIndex: 0; Comment: "{#MyAppPublisher}"; Tasks: desktopicon
Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\{#MyAppName} 32bit"; Filename: "{app}\32bit\Maia32.exe"; WorkingDir: "{app}\32bit\"; IconFilename: "{app}\Maia32.ico"; IconIndex: 0; Comment: "{#MyAppName} v{#MyAppVersion} 32bit"; Tasks: quicklaunchicon
Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\{#MyAppName} 64bit"; Filename: "{app}\Maia.exe"; WorkingDir: "{app}"; IconFilename: "{app}\Maia64.ico"; IconIndex: 0; Comment: "{#MyAppName} v{#MyAppVersion} 64bit"; Tasks: quicklaunchicon; Check: IsWin64
Ключевые моменты-
Код:
#define MyAppExeName "ххх.exe"
отсутствует (чтоб не засорять прекомпилятор)-
Код:
[Files]
Source: "D:\Downloads\Maia\Maia32.ico"; DestDir: "{app}"
Source: "D:\Downloads\Maia\Maia64.ico"; DestDir: "{app}"
Добавляем иконки для наших ярлыков-
Код:
[Icons]
Name: "{group}\{#MyAppName} 32bit"; Filename: "{app}\32bit\Maia32.exe"; WorkingDir: "{app}\32bit\"; IconFilename: "{app}\Maia32.ico"; IconIndex: 0; Comment: "{#MyAppName} v{#MyAppVersion} 32bit"
Name: "{group}\{#MyAppName} 64bit"; Filename: "{app}\Maia.exe"; WorkingDir: "{app}"; IconFilename: "{app}\Maia64.ico"; IconIndex: 0; Comment: "{#MyAppName} v{#MyAppVersion} 64bit"; Check: IsWin64
Name: "{group}\{cm:ProgramOnTheWeb,{#MyAppName}}"; Filename: "{#MyAppURL}"
Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}"
Name: "{commondesktop}\{#MyAppName} 32bit"; Filename: "{app}\32bit\Maia32.exe"; WorkingDir: "{app}\32bit\"; IconFilename: "{app}\Maia32.ico"; IconIndex: 0; Comment: "{#MyAppName} v{#MyAppVersion} 32bit"; Tasks: desktopicon
Name: "{commondesktop}\{#MyAppName} 64bit"; Filename: "{app}\Maia.exe"; WorkingDir: "{app}"; IconFilename: "{app}\Maia64.ico"; IconIndex: 0; Comment: "{#MyAppName} v{#MyAppVersion} 64bit"; Tasks: desktopicon; Check: IsWin64
Name: "{commondesktop}\{cm:ProgramOnTheWeb,{#MyAppName}}"; Filename: "{#MyAppURL}"; Tasks: desktopicon
Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\{#MyAppName} 32bit"; Filename: "{app}\32bit\Maia32.exe"; WorkingDir: "{app}\32bit\"; IconFilename: "{app}\Maia32.ico"; IconIndex: 0; Comment: "{#MyAppName} v{#MyAppVersion} 32bit"; Tasks: quicklaunchicon
Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\{#MyAppName} 64bit"; Filename: "{app}\Maia.exe"; WorkingDir: "{app}"; IconFilename: "{app}\Maia64.ico"; IconIndex: 0; Comment: "{#MyAppName} v{#MyAppVersion} 64bit"; Tasks: quicklaunchicon; Check: IsWin64
Дублируем ярлыки на исполняемые файлы с соответствующими изменениями:
Name: "{group}\{#MyAppName} 32bit"; Filename: "{app}\32bit\Maia32.exe"; WorkingDir: "{app}\32bit\"; IconFilename: "{app}\Maia32.ico"; IconIndex: 0; Comment: "{#MyAppName} v{#MyAppVersion} 32bit"
Name: "{group}\{#MyAppName} 64bit"; Filename: "{app}\Maia.exe"; WorkingDir: "{app}"; IconFilename: "{app}\Maia64.ico"; IconIndex: 0; Comment: "{#MyAppName} v{#MyAppVersion} 64bit"; Check: IsWin64-
Код:
[Run]
...
Секцию запуска после установки также рекомендую удалить.-UPD: Обновил полный код (исправил некоторые ошибки)


_________________
[Профиль] [ЛС]
Показать сообщения:    
Ответить на тему

Текущее время: Сегодня 12:18

Часовой пояс: GMT + 4



Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы можете скачивать файлы