Jump to content
Korean Random
EvilAlex

Создание инсталляторов для модпаков на базе Inno Setup

Recommended Posts

Если создаешь мод пак, почему выбор всех модов на одной странице, как разбить на поэтапные окошки типа: 1234пункты "далее" >,     12пункты "далее",  12345678пункты "далее". Чтоб небыло всё на одном листе! Нашёл на форумах TNewChecklistBox ЭТО ТО? И если то, то не пойму как и куда это правильно вписывать.

Share this post


Link to post

Short link
Share on other sites

Реализовать силами самого inno setup это невозможно, нужно прибегать к сторонним библиотекам по типу Ботва. Сам inno даёт на выбор очень мало страниц, но это тот самый минимум который нужен для обычных установщиков.

  • Upvote 1

Share this post


Link to post

Short link
Share on other sites
23.10.2016 в 15:30, Yusha сказал:

Писец там выше заморочки... все есть в самом инно.

Секция: [installDelete]


[InstallDelete]

; Очистка кеша и логов
Type: filesandordirs; Name: {userappdata}\wargaming.net\WorldOfTanks\account_caches
Type: filesandordirs; Name: {userappdata}\wargaming.net\WorldOfTanks\awesomium_cache
Type: filesandordirs; Name: {userappdata}\wargaming.net\WorldOfTanks\battle_results
Type: filesandordirs; Name: {userappdata}\wargaming.net\WorldOfTanks\clan_cache
Type: filesandordirs; Name: {userappdata}\wargaming.net\WorldOfTanks\custom_data
Type: filesandordirs; Name: {userappdata}\wargaming.net\WorldOfTanks\dossier_cache
Type: filesandordirs; Name: {userappdata}\wargaming.net\WorldOfTanks\messenger_cache

Type: files; Name: {userappdata}\wargaming.net\WorldOfTanks\xvm\tcarousel.filters.dat
Type: files; Name: {userappdata}\wargaming.net\WorldOfTanks\xvm\tcarousel.reserve.dat
Type: files; Name: {userappdata}\wargaming.net\WorldOfTanks\xvm\arenas_data.zip

Type: files; Name: {app}\python.log
Type: files; Name: {app}\xvm.log

Можно добавить любые Components: или Check:

Например:


Type: files; Name: {userappdata}\wargaming.net\WorldOfTanks\xvm\tcarousel.filters.dat; Components: xvm
Type: files; Name: {userappdata}\wargaming.net\WorldOfTanks\xvm\tcarousel.reserve.dat; Components: xvm
Type: files; Name: {userappdata}\wargaming.net\WorldOfTanks\xvm\arenas_data.zip; Components: xvm

А чекбоксы к этому делу , чтобы выбирать этот пункт? И заодно очистка папок mods resmods. Спасибо

Скажите ещё вот, что - чтобы прога сама нашла путь к папке с игрой, нужно прописать это? :

[Setup]

DefaultDirName={app}\World of tanks

так? И что если к примеру у меня папка называется "World_of_Tanks_RU" , то как быть, а у других может ещё как то ...

Share this post


Link to post

Short link
Share on other sites

 

; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!

;[ISSI]
#define ISSI_SplashScreen "C:\Users\jonat\Desktop\mods\images\SPLASH.bmp"
#define ISSI_SplashScreen_T 3
#define ISSI_SplashScreen_X 800
#define ISSI_SplashScreen_Y 540
#define ISSI_SplashScreen_Corner
#define ISSI_IncludePath "C:\ISSI"
;#include ISSI_IncludePath+"\_issi.isi"
#define MyAppPublisher "Loyz, Inc."
#define Patch "1.23.0.2"
#include "Components.iss"
#define MyAppName         "Loyz Lite Mods"                     ;Название инстоллятора

[Setup]
AppId={{CA87A65E-9305-4849-9706-B47852EAF90F}
AppName={#MyAppName}
AppVersion=1.0
AppPublisher={#MyAppPublisher} 
DefaultDirName={code:GetWOTPath}
OutputDir=.
OutputBaseFilename=Beta1
Compression=lzma
SolidCompression=yes
WizardStyle=modern
; не более 164на314.bmp Чтобы добавить изображение в левую часть окна инсталлятора
WizardImageFile=C:\Users\jonat\Desktop\mods\images\164x314red.bmp
WizardSmallImageFile=C:\Users\jonat\Desktop\mods\images\smalllogo.bmp
AlwaysShowDirOnReadyPage=yes

[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"
Name: "french"; MessagesFile: "compiler:Languages\French.isl"
Name: "german"; MessagesFile: "compiler:Languages\German.isl"
Name: "polish"; MessagesFile: "compiler:Languages\Polish.isl"
Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl"
Name: "spanish"; MessagesFile: "compiler:Languages\Spanish.isl"

[Files]
Source: logo.bmp; Flags: dontcopy nocompression
Source: SPLASH.bmp; Flags: dontcopy nocompression

[Code]
var
  WOTPath: String;

function GetWOTPath(Param: String): String;
var
  RegPath: String;
begin
  // Путь к реестру с информацией об установке World of Tanks
  RegPath := 'Software\Wargaming.net\GameInstall\World of Tanks';

  // Попытка получить путь из реестра
  if RegQueryStringValue(HKEY_LOCAL_MACHINE, RegPath, 'InstallFolder', Result) then
  begin
    Result := AddBackslash(Result);
  end
  else
  begin
    // Если не удалось получить путь из реестра, используем путь по умолчанию
    Result := 'C:\Games\World_of_Tanks\';
  end;
end;

function InitializeSetup: Boolean;
begin
  // Присваиваем глобальной переменной WOTPath значение, чтобы использовать в DefaultDirName
  WOTPath := GetWOTPath('');
  Result := True;
end;

 

Вот мой код. Не могу добиться чтоб автоматически находило куда устанавливать т.е. папку с игрой World of Tanks. Поможет кто? ИИ без силен...

 

Edited by jon12345

Share this post


Link to post

Short link
Share on other sites

    Привет это снова я. Надеюсь хоть на какой то из моих вопросов мне ответят. Поставил в "Свой" мод пак в Компоненты - XVM. Вроди бы все работает, но не выводится в правом нижнем (В игре) сообщение с микро подсказкой на ссылку ХВМ. Что делать?  

     Решено - прошу прощения, некоректно распаковал все файлы ХVM. Все исправил.

Edited by jon12345
нашел решение

Share this post


Link to post

Short link
Share on other sites

дайте ссылку на botva2

p.s. это место вообще живое? Такое ощущение что люди покинули его давным давно...   

Edited by jon12345

Share this post


Link to post

Short link
Share on other sites
26 минут назад, jon12345 сказал:

дайте ссылку на botva2

p.s. это место вообще живое? Такое ощущение что люди покинули его давным давно...   

если что, поиском тут дохера чего нужного можно найти :blinky:  к примеру вот https://kr.cm/f/t/9050/c/510751/

5ZJmL3F.png

Edited by Lom

Share this post


Link to post

Short link
Share on other sites
5 часов назад, jon12345 сказал:

дайте ссылку на botva2

p.s. это место вообще живое? Такое ощущение что люди покинули его давным давно...   

Держи botva2.dll

Share this post


Link to post

Short link
Share on other sites
8 часов назад, jon12345 сказал:

@P.S.Enot спасибо

Lom - и тебе тоже, я уж думал я здесь один

Ну бывает да что молчат. Просто подобные вопросы уже тут заезженны. Хотя лишний раз помочь человеку не так уж и трудно. Удачи с Модпаком

Share this post


Link to post

Short link
Share on other sites

знаю что данная тема, уже давно осиротела)) но всё таки... такой момент. знаю что есть подобный вариант https://koreanrandom.com/forum/topic/44984-wip-xvm-installerv2/ когда в в одном установщике есть возможность ставить моды как для РУ так и для ЕУ клиента. но, возможно ли сделать так чтобы установщик делал тоже самое, но без дублирования модов внутри самого установщика? вот что именно я имею ввиду (и для чего вообще это делать) например есть мод и он весит 1 гиг. и если делать по аналогии как из темы выше, то модпак по итогу будет весить 2 гиг. так ведь?
вот и хочу понять можно ли как то сделать так, чтобы прописал какую то, хрен его знает "переменную" типа сюда https://i.imgur.com/XHtZ2J8.png и какой бы там не был патч, чтобы установщик установил моды игнорируя версию патча (чтобы подходило сразу и для РУ и для ЕУ)
 

крч.как то так. сорян за простыню, но чёткое изложение мысли не мой конёк))

 

 

 

Share this post


Link to post

Short link
Share on other sites
3 часа назад, AtotIK сказал:

Всё уже придумано для вас, осталось только начать пользоваться.

ну да установщик огонь

Share this post


Link to post

Short link
Share on other sites
28.01.2024 в 11:12, AtotIK сказал:

Всё уже придумано для вас, осталось только начать пользоваться.

 

Неее, это не наш уровень. Наш уровень это скопировать/вставить  :smile:

Share this post


Link to post

Short link
Share on other sites
09.01.2024 в 16:04, jon12345 сказал:

 


; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!

;[ISSI]
#define ISSI_SplashScreen "C:\Users\jonat\Desktop\mods\images\SPLASH.bmp"
#define ISSI_SplashScreen_T 3
#define ISSI_SplashScreen_X 800
#define ISSI_SplashScreen_Y 540
#define ISSI_SplashScreen_Corner
#define ISSI_IncludePath "C:\ISSI"
;#include ISSI_IncludePath+"\_issi.isi"
#define MyAppPublisher "Loyz, Inc."
#define Patch "1.23.0.2"
#include "Components.iss"
#define MyAppName         "Loyz Lite Mods"                     ;Название инстоллятора

[Setup]
AppId={{CA87A65E-9305-4849-9706-B47852EAF90F}
AppName={#MyAppName}
AppVersion=1.0
AppPublisher={#MyAppPublisher} 
DefaultDirName={code:GetWOTPath}
OutputDir=.
OutputBaseFilename=Beta1
Compression=lzma
SolidCompression=yes
WizardStyle=modern
; не более 164на314.bmp Чтобы добавить изображение в левую часть окна инсталлятора
WizardImageFile=C:\Users\jonat\Desktop\mods\images\164x314red.bmp
WizardSmallImageFile=C:\Users\jonat\Desktop\mods\images\smalllogo.bmp
AlwaysShowDirOnReadyPage=yes

[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"
Name: "french"; MessagesFile: "compiler:Languages\French.isl"
Name: "german"; MessagesFile: "compiler:Languages\German.isl"
Name: "polish"; MessagesFile: "compiler:Languages\Polish.isl"
Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl"
Name: "spanish"; MessagesFile: "compiler:Languages\Spanish.isl"

[Files]
Source: logo.bmp; Flags: dontcopy nocompression
Source: SPLASH.bmp; Flags: dontcopy nocompression

[Code]
var
  WOTPath: String;

function GetWOTPath(Param: String): String;
var
  RegPath: String;
begin
  // Путь к реестру с информацией об установке World of Tanks
  RegPath := 'Software\Wargaming.net\GameInstall\World of Tanks';

  // Попытка получить путь из реестра
  if RegQueryStringValue(HKEY_LOCAL_MACHINE, RegPath, 'InstallFolder', Result) then
  begin
    Result := AddBackslash(Result);
  end
  else
  begin
    // Если не удалось получить путь из реестра, используем путь по умолчанию
    Result := 'C:\Games\World_of_Tanks\';
  end;
end;

function InitializeSetup: Boolean;
begin
  // Присваиваем глобальной переменной WOTPath значение, чтобы использовать в DefaultDirName
  WOTPath := GetWOTPath('');
  Result := True;
end;

 

Вот мой код. Не могу добиться чтоб автоматически находило куда устанавливать т.е. папку с игрой World of Tanks. Поможет кто? ИИ без силен...

 

ты снг пользователь

Share this post


Link to post

Short link
Share on other sites
8 часов назад, wasp200486 сказал:

Привет всем. Подскажите, как сделать вот такой вариант компонентов

1.jpg

Вопрос закрыт. Разобрался

Share this post


Link to post

Short link
Share on other sites

как добавить звук к кнопкам и чекбоксам при наведении и нажатии мыши?

Edited by wasp200486

Share this post


Link to post

Short link
Share on other sites
12 минут назад, wasp200486 сказал:

как добавить звук к кнопкам и чекбоксам?

вот нужная тема. https://krinkels.org/threads/ozuchivanie-komponentov.2429/  единственно если на компе у человека нет русского языка, выдаёт ошибку. я хз как это решить. но в остальном всё работает.

  • Upvote 1
  • Downvote 1

Share this post


Link to post

Short link
Share on other sites

Доброго времени суток. Парни подскажите пожалуйста а можно так сделать, что бы установщик только Лесту определял, ну или что бы первым делом находил с начало Лесту и выставлял ее в приоритете а через обзор уже кому нужно WG клиент выбирал человек. А то он когда два клиента первым он подставляет WG клиент .а мне нужно что бы подставлял Именно Лесту. Ну а по хорошему меня интересует что бы находил только Лесту так как моды идут в установщики только на нее.  Установщик собран на основе того что предлагал Атотик выше и Mixaill. ВОТ . Если кто знает подскажите пожалуйста.

Share this post


Link to post

Short link
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...