Qirashi 14 #533341 Posted March 21 29 минут назад, Lom сказал: к примеру, много у кого стоят клиент и лесты и евро. в таком случае, если человек ставит модпак на евро то установщик находит обычно путь к лесте. крч. если сделать отдельно установщики для евро и для лесты, то смысла чтобы модпак для евро находил клиент лесты нет. как то так)) Проще написать функцию где есть возможность выбора клиента. Как буду дома скину пример как можно сделать. 1 Quote Share this post Link to post Short link Share on other sites
StranikS_Scan 4,123 #533342 Posted March 21 10 минут назад, Qirashi сказал: Проще написать функцию где есть возможность выбора клиента. Как буду дома скину пример как можно сделать. Именно так. Чтоб находил все клиенты игры по записи в реестре и по типовым путям, пороверял их наличие и выдавал список действующих путей. И юзер пусть сам выберет в какой из них он ставить хочет. Quote Share this post Link to post Short link Share on other sites
Lom 38 #533345 Posted March 21 (edited) может я не так объяснил. к примеру некоторые модпакеры делают отдельно модпак для лесты и отдельно модпак для евро. и юзеру во первых нет смысла скачанный модпак для евро ставить на лесту и наоборот, а во вторых это даже плохо, потому как код в некоторых одинаковых модах разный в зависимости от региона. и вот если юзер скачал модпак для лесты то чтобы он находил именно путь к лесте. ну и для евро так же. Edited March 21 by Lom Quote Share this post Link to post Short link Share on other sites
Qirashi 14 #533369 Posted March 21 4 часа назад, Lom сказал: может я не так объяснил. к примеру некоторые модпакеры делают отдельно модпак для лесты и отдельно модпак для евро. и юзеру во первых нет смысла скачанный модпак для евро ставить на лесту и наоборот, а во вторых это даже плохо, потому как код в некоторых одинаковых модах разный в зависимости от региона. и вот если юзер скачал модпак для лесты то чтобы он находил именно путь к лесте. ну и для евро так же. Можно сделать примерно так. 1 Quote Share this post Link to post Short link Share on other sites
Lom 38 #533372 Posted March 21 (edited) 11 минут назад, Qirashi сказал: Можно сделать примерно так. сделать то можно по разному. и то что ты выше показал однозначно хороший вариант. но... если модпак изначально сделан для лесты (потому как моды для вг и лесты могут различаться в том числе и хвм) то смысл установщику искать евро нет и наоборот. и еще, уже не один раз было такое, что папки модов у вг и у лесты различаются и это тоже надо учитывать. ну хз может я не в том так сказать направлении думаю)) Edited March 21 by Lom 1 Quote Share this post Link to post Short link Share on other sites
Qirashi 14 #533377 Posted March 21 31 минуту назад, Lom сказал: сделать то можно по разному. и то что ты выше показал однозначно хороший вариант. но... если модпак изначально сделан для лесты (потому как моды для вг и лесты могут различаться в том числе и хвм) то смысл установщику искать евро нет и наоборот. и еще, уже не один раз было такое, что папки модов у вг и у лесты различаются и это тоже надо учитывать. ну хз может я не в том так сказать направлении думаю)) Если в кратце, то где-то долэна быть примерно такая строчка: ExpandConstant('{reg:HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\LGC-WOTB.RU.PRODUCTION\,InstallLocation|{cm:NoInstallPath}}'); В ней определяется путь до клиента. 1 Quote Share this post Link to post Short link Share on other sites
AtotIK 579 #533653 Posted March 29 (edited) Зачем изобретать велосипед, если уже всё сделали и обкатали здесь? И объединить моды для WG/Lesta в один инсталлятор вообще нет проблем. В том же OpenWG.Utils есть функция CHECK_IsLesta для использования в секции [Files] или [Components]. Edited March 29 by AtotIK 2 Quote Share this post Link to post Short link Share on other sites
P.S.Enot 416 #534127 Posted April 15 (edited) А вы не могли бы еще встроить что бы установщик автоматически чистил папки mods и res_mods полностью. С зимы пытаюсь реализовать функцию в установщике и не чего не выходит чистит но серавно моды или папка старая с хвм остается Edited April 15 by P.S.Enot Quote Share this post Link to post Short link Share on other sites
Armagomen_UA 158 #534189 Posted April 18 (edited) 15.04.2023 в 09:27, P.S.Enot сказал: А вы не могли бы еще встроить что бы установщик автоматически чистил папки mods и res_mods полностью. С зимы пытаюсь реализовать функцию в установщике и не чего не выходит чистит но серавно моды или папка старая с хвм остается [InstallDelete] Type: filesandordirs; Name: "{app}\{code:PH_Folder_Mods}\*" Type: filesandordirs; Name: "{app}\{code:PH_Folder_Resmods}\*" Edited April 18 by Armagomen_UA 1 Quote Share this post Link to post Short link Share on other sites
P.S.Enot 416 #534818 Posted May 17 (edited) 18.04.2023 в 10:28, Armagomen_UA сказал: [InstallDelete] Type: filesandordirs; Name: "{app}\{code:PH_Folder_Mods}\*" Type: filesandordirs; Name: "{app}\{code:PH_Folder_Resmods}\*" res_mods папка не чистится все файлы остаются. и в mods остается папка с номером патча. в чем может быть дело подскажите. Вставлен ваш код что вы написали Edited May 17 by P.S.Enot Quote Share this post Link to post Short link Share on other sites
Qirashi 14 #534819 Posted May 17 1 час назад, P.S.Enot сказал: res_mods папка не чистится все файлы остаются. и в mods остается папка с номером патча. в чем может быть дело подскажите. Вставлен ваш код что вы написали Установщик точно определяет директорию {app}? Quote Share this post Link to post Short link Share on other sites
P.S.Enot 416 #534822 Posted May 17 (edited) 51 минуту назад, Qirashi сказал: Установщик точно определяет директорию {app}? А как проверить или узнать??? Прописано так [Files] Source: "cur_ver\mods\*"; DestDir: "{app}\mods"; Flags: ignoreversion recursesubdirs createallsubdirs; Source: "cur_ver\res_mods\*"; DestDir: "{app}\res_mods"; Flags: ignoreversion recursesubdirs createallsubdirs; ......... [InstallDelete] Type: filesandordirs; Name: "{app}\{code:PH_Folder_Mods}\*" Type: filesandordirs; Name: "{app}\{code:PH_Folder_Resmods}\*" может что то не так подключил? Кстати он вообще папку рес модс не чистит только в нее устанавливает и все Edited May 17 by P.S.Enot Quote Share this post Link to post Short link Share on other sites
Armagomen_UA 158 #534836 Posted May 19 (edited) {code:PH_Folder_Mods} - подставляет путь не к mods, а к папке с версией {app}\mods\1.20.1.0\ Если нужно удалить вообще все содержимое этих папок тогда лучше на прямую их прописать. [InstallDelete] Type: filesandordirs; Name: "{app}\mods\*" Type: filesandordirs; Name: "{app}\res_mods\*" Edited May 19 by Armagomen_UA 1 Quote Share this post Link to post Short link Share on other sites
P.S.Enot 416 #534841 Posted May 19 4 часа назад, Armagomen_UA сказал: {code:PH_Folder_Mods} - подставляет путь не к mods, а к папке с версией {app}\mods\1.20.1.0\ Если нужно удалить вообще все содержимое этих папок тогда лучше на прямую их прописать. [InstallDelete] Type: filesandordirs; Name: "{app}\mods\*" Type: filesandordirs; Name: "{app}\res_mods\*" Вот то что нужно. Спасибо огромное Quote Share this post Link to post Short link Share on other sites
P.S.Enot 416 #534983 Posted May 28 (edited) .... Ребята подскажите пожалуйста как к этому чек боксу что на скрине привязать вот это [InstallDelete] Type: filesandordirs; Name: "{app}\mods\*" Type: filesandordirs; Name: "{app}\res_mods\*" САМ ЧЕК БОКС КОД { NewCheckBox1 } NewCheckBox1 := TNewCheckBox.Create(WizardForm); with NewCheckBox1 do begin Parent := WizardForm.SelectDirPage; Left := ScaleX(0); Top := ScaleY(96); Width := ScaleX(332); Height := ScaleY(25); Caption := ' Очистить папки «mods» и «res_mods»'; end; NewCheckBox1.TabOrder := 5; with WizardForm.MainPanel do begin Width := ScaleX(499); OnClick := @MainPanelClick; end; Edited May 28 by P.S.Enot Quote Share this post Link to post Short link Share on other sites
P.S.Enot 416 #534999 Posted May 29 Сам спросил сам ответил. может кому пригодится. Решение: var NewCheckBox1: TNewCheckBox; function CheckedMods: Boolean; begin Result:= NewCheckBox1.Checked; end; { NewCheckBox1 } NewCheckBox1 := TNewCheckBox.Create(WizardForm); with NewCheckBox1 do begin Parent := WizardForm.SelectDirPage; Left := ScaleX(0); Top := ScaleY(96); Width := ScaleX(332); Height := ScaleY(25); Caption := ' Очистить папки «mods» и «res_mods»'; NewCheckBox1.Checked:=True; end; NewCheckBox1.TabOrder := 5; with WizardForm.MainPanel do begin Width := ScaleX(499); OnClick := @MainPanelClick; end; [InstallDelete] Type: filesandordirs; Name: "{app}\mods\*"; Check: CheckedMods Type: filesandordirs; Name: "{app}\res_mods\*"; Check: CheckedMods Quote Share this post Link to post Short link Share on other sites