Jump to content
Korean Random
EvilAlex

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

Recommended Posts

Ещё вопрос:

'код'

[Setup]
DefaultDirName={code:GetInstallDir}

[Code]
Function GetInstallDir(Path: String ): String;
begin
RegQueryStringValue(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{1EAC1D02-C6AC-4FA6-9A44-96258C37C812CT}_is1', 'InstallLocation', Path);
Result =:Path;
end;

procedure CurPageChanged(CurPageID: Integer);
begin
 if CurPageID=wpSelectDir then
 if not RegKeyExists(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{1EAC1D02-C6AC-4FA6-9A44-96258C37C812CT}_is1') then
 begin
  if not RegKeyExists(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{1EAC1D02-C6AC-4FA6-9A44-96258C37C812CT}_is1') then
  begin
   MsgBox('Программа установки не смогла обнаружить "World_of_Tanks"!' #13#13
   'Укажите путь к игре самостоятельно.', mbInformation, mb_ok);
  end
 end
end;

 В итоге, какой бы путь я не указывал, в конце создаётся Новая_папка:

'вот так'

post-16412-0-10114000-1392232308_thumb.png

 

Что не так?

Edited by Kotyarko_O

Share this post


Link to post

Short link
Share on other sites

Привет народ. Как сделать так, чтобы инсталлятор очищал папку res_mods? Но при этом был выбор, очищать её или нет.

Share this post


Link to post

Short link
Share on other sites

Всем привет!На 8-ке кто-нибудь тестил?Создаю инсталятор,на 8 не устанавливает(окно программы закрывается, при выборе модов).Тот же самый фаил-установщика на 7-ке работает.Код не менял практически.

Edited by Tash_KenT

Share this post


Link to post

Short link
Share on other sites

Всем привет!На 8-ке кто-нибудь тестил?Создаю инсталятор,на 8 не устанавливает(окно программы закрывается, при выборе модов).Тот же самый фаил-установщика на 7-ке работает.Код не менял практически.

 У меня недавно 8-ка стояла.. и всё в порядке было, инсталлятор прекрасно работал, сбоев не было.

Share this post


Link to post

Short link
Share on other sites

Решил тоже повозиться с setup... как то давно работал через данную программу... через несколько часов работы всё вспомнилось...

 

но... до меня так и не дошло

 

пример...

 

[Files]
Source: "MODS\XVM\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: KMP\XVM;
Source: "MODS\PING\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: KMP\XVM\PG;

Source: "MODS\CLANZ\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: KMP\XVM\CZ;

 

откуда и куда упаковываются файлы... как указать свой путь... разжуйте пожалуйста =)

Share this post


Link to post

Short link
Share on other sites
MODS\XVM\* ,MODS\PING\*, MODS\CLANZ\*

  Вот сюда.

А упаковываются они в зависимости от того, с какой папки ты начал влаживать сами моды.. с res_mods или 0.8.11 или ещё какой-то. - в зависимости от этого и путь тоже выбирается по-разному.

 А вообще, скачай вон скрипт для примера и посмотри иерархию папок, указанных в нём. >тут<

Edited by Kotyarko_O

Share this post


Link to post

Short link
Share on other sites
Вот сюда. А упаковываются они в зависимости от того, с какой папки ты начал влаживать сами моды.. с res_mods или 0.8.11 или ещё какой-то. - в зависимости от этого и путь тоже выбирается по-разному.  А вообще, скачай вон скрипт для примера и посмотри иерархию папок, указанных в нём.

 

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

 

но наглядного пути там нет... что именно с моих документов... что и куда... 

Edited by Master1989

Share this post


Link to post

Short link
Share on other sites
и прям в каталог с игрой....

Потому что там скрипт, автоматом определяет директорию с игрой через реестр.

'скрипт'

function MyDirName(S:String): String;
var
  InsPath: String;
  er: boolean;
  myFile:String;
begin
  Result:=ExpandConstant('C:\Games\World_of_Tanks\'); //если ключа нет то будем ставить сюда
  er := RegQueryStringValue(HKLM, 'SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{1EAC1D02-C6AC-4FA6-9A44-96258C37C812RU}_is1', 'InstallLocation', InsPath);
  if er and (InsPath<>'') then //если ключ существует и там что-то записано
  begin
    Result := InsPath;
  end;
end;

 

что именно с моих документов...

То, что ты выбрал чекбоксами в процессе установки.

Edited by Kotyarko_O

Share this post


Link to post

Short link
Share on other sites

 

 

То, что ты выбрал чекбоксами в процессе установки.

 

окей.. как мне указать пути в ручную? чтобы я видел их наглядно?

Share this post


Link to post

Short link
Share on other sites
окей.. как мне указать пути в ручную? чтобы я видел их наглядно?

Путь для каждого устанавливаемого элемента ?

Edited by Kotyarko_O

Share this post


Link to post

Short link
Share on other sites

Source: "MODS\XVM\*"; - "источник" указывается или файл или папка мода\файла (если в папке несколько файлов. желательно указать \*)

 

DestDir: "{app}"; - папка в которую идет распаковка\установка модов\файла

 

Flags: ignoreversion recursesubdirs createallsubdirs; - флаг для игнорирования ошибок. версий и т.д.

 

Components: KMP\XVM; - команда для компонентов указывающая что распаковывать\устанавливать при выбраном чекбоксе

Share this post


Link to post

Short link
Share on other sites

здравствуйте, а чем можно вытащить моды из установщика, созданного этим инсталлятором, не устанавливая пак?

Share this post


Link to post

Short link
Share on other sites

появился ещё 1 вопрос.... имеется раздел с двумя подгруппами...как сделать чтобы при выборе одной группы, другая становилась неактивна?

 

к примеру на скрине при выборе белых угн, зелёные блокировались...

 

или допустим я выбираю определённый прицел и мне надо чтобы к нему только белые угн шли.. зелёные блокировались..

 

подскажите пожалуйста

post-20428-0-55119800-1392635354_thumb.png

Share this post


Link to post

Short link
Share on other sites

Парни, кто может помочь доделать днище-сборку? Все моды разложены по папкам. За образец брал из первого сообщения скрипт. Изменил только файл, отвечающий за компоненты. Когда запускаю файл устанавливается пустая папка+отсутствует окно выбора модов. Помогите)))

Share this post


Link to post

Short link
Share on other sites

появился ещё 1 вопрос.... имеется раздел с двумя подгруппами...как сделать чтобы при выборе одной группы, другая становилась неактивна?

 

к примеру на скрине при выборе белых угн, зелёные блокировались...

 

или допустим я выбираю определённый прицел и мне надо чтобы к нему только белые угн шли.. зелёные блокировались..

 

подскажите пожалуйста

Где-то выше было, если не ошибаюсь то подойдет...

Share this post


Link to post

Short link
Share on other sites

Парни, кто может помочь доделать днище-сборку? Все моды разложены по папкам. За образец брал из первого сообщения скрипт. Изменил только файл, отвечающий за компоненты. Когда запускаю файл устанавливается пустая папка+отсутствует окно выбора модов. Помогите)))

 Для этих компонентов тебе нужно указать флаг: Flags: exclusive.

  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

Я в данном софт не разбираюсь, но интереса ради посмотрел эту прогу и другие которые нашел, разве в InstallShield не "проще" все тоже самое делать?

Просто в Inno ничего не понял, даже куда он компилировал образец из шапки (искал куда, не нашел).. В InstallShield буквально немного посидел, поверхностно, все то, что тут обсуждалось практически "шаблоном" делается. Выбор модов при установке, оформление, и это не углубляясь. 

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.

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...