Как сделать репак(перепаковку) с помощью Inno Setup инструкция Качаем программу Inno Setup Ссылка нижеhttp://jrsoftware.org/ запускаем в 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
готовим себе сразу переменную для имени файла и папки-источника (так проще когда часто приходится версии упаковывать)
Код:
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}
Собственно описательная часть это "рюшечки", но иногда полезно дать подробную информацию о репака в самом репаке. Изблыточность (повторение информации) связана с тем, что разные форточки по разному читают информацию.-
Добавляем иконку для ярлыка-ссылки и папку с файлами игры. Очень рекомендую при добавлении папки использовать вот эти флаги: "sortfilesbyextension sortfilesbyname" - перед упаковкой файлы будут отсортированы по расширениям, а затем по имени - иногда позволяет при упаковке выиграть до 10-15%.-
Тут чуть поподробней на примере {group}: Name: "{group}\{#MyAppName}" - имя иконки Filename: "{app}\{#MyAppExeName}" - путь к запускаемому файлу игры WorkingDir: "{app}" - раболчая директория для запуска игры, старайтесь не пренебрегать этим параметром. IconFilename: "{app}\{#MyAppExeName}" - путь к файлу с иконкой (может отличаться от пути к запускаемому файлу, например при таблетке SSE Comment: "{#MyAppName} v{#MyAppVersion}" - описательная часть ярлыка (видно при наведении курсора на ярлык) Для ярлыков на рабочем столе обязательно добавляем "; Tasks: desktopicon" Для ярлыков в панели быстрого запуска обязательно добавляем "; Tasks: quicklaunchicon"-
Здесь мы предлагаем вариант запуска игры после установки. И опять же не забываем о "WorkingDir: "{app}";" - Вот пока такой пример кода :) По мере свободного времени буду дополнять вариациями для 64-хбитных ОС, на случай если ярлыков надо сделать несколько (для разных запускаемых файлов) и т.д. и т.п.
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You can download files in this forum
!ATTENTION!
The site does not give electronic versions of products, and is engaged only in a collecting and cataloguing of the references sent and published at a forum by our readers. If you are the legal owner of any submitted material and do not wish that the reference to him{it} was in our catalogue, contact us and we shall immediately remove her. Files for an exchange on tracker are given by users of a site, and the administration does not bear the responsibility for their maintenance. The request to not fill in the files protected by copyrights, and also files of the illegal maintenance!