Jump to content
Korean Random

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


Recommended Posts

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

Link to comment
Short link
Share on other sites

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

  • Upvote 1
Link to comment
Short link
Share on other sites

  • 4 weeks later...
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" , то как быть, а у других может ещё как то ...

Link to comment
Short link
Share on other sites

  • 4 weeks later...

 

; 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
Link to comment
Short link
Share on other sites

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

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

Edited by jon12345
нашел решение
Link to comment
Short link
Share on other sites

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

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

Edited by jon12345
Link to comment
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
Link to comment
Short link
Share on other sites

8 часов назад, jon12345 сказал:

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

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

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

Link to comment
Short link
Share on other sites

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

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

 

 

 

  • Downvote 1
Link to comment
Short link
Share on other sites

28.01.2024 в 11:12, AtotIK сказал:

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

 

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

  • Downvote 1
Link to comment
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. Поможет кто? ИИ без силен...

 

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

Link to comment
Short link
Share on other sites

12 минут назад, wasp200486 сказал:

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

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

  • Upvote 1
  • Downvote 1
Link to comment
Short link
Share on other sites

  • 2 weeks later...

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

Link to comment
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...