P.S.Enot Posted October 7, 2021 Share Posted October 7, 2021 Только что, AtotIK сказал: Скачивать XFW.ExtensionLib_2021.05.01.zip, брать в архиве файл xvmextensions.x86_32.dll, файл примера там же. да чет я подключаю он ошибку выдает 3 минуты назад, AtotIK сказал: Скачивать XFW.ExtensionLib_2021.05.01.zip, брать в архиве файл xvmextensions.x86_32.dll, файл примера там же. на это ругается @ Quote Link to comment Short link Share on other sites More sharing options...
AtotIK Posted October 7, 2021 Share Posted October 7, 2021 (edited) 02.10.2021 в 01:19, P.S.Enot сказал: Ребята кому не сложно поделитесь кодом который определяет что игра запущена. function IsAppRunning(const FileName : AnsiString): Boolean; var FSWbemLocator: Variant; FWMIService : Variant; FWbemObjectSet: Variant; begin Result := False; FSWbemLocator := CreateOleObject('WBEMScripting.SWBEMLocator'); FWMIService := FSWbemLocator.ConnectServer('', 'root\CIMV2', '', ''); FWbemObjectSet := FWMIService.ExecQuery(Format('SELECT Name FROM Win32_Process Where Name="%s"', [FileName])); Result := (FWbemObjectSet.Count > 0); FWbemObjectSet := Unassigned; FWMIService := Unassigned; FSWbemLocator := Unassigned; end; function InitializeSetup(): Boolean; begin case IsAppRunning('WorldOfTanks.exe') of True: begin MsgBox(ExpandConstant('{cm:IsAppRunningLabel}'), mbError, MB_OK); Result := False; end; False: begin Result := True; end; end; end; Работает с Windows 7. Что бы не вылетал с ошибкой инсталлятор на XP и Vista нужно обвернуть это в проверку версии, а лучше запретить инсталлятор запускать на системах ниже Windows 7 (сколько можно уже?). Так же можно закинуть в NextButtonClick с проверкой на любой странице (первой). 07.10.2021 в 15:20, P.S.Enot сказал: ошибку выдает Не причастные к друг другу вещи. Ищите ошибку у себя. Edited October 10, 2021 by AtotIK @ Quote Link to comment Short link Share on other sites More sharing options...
P.S.Enot Posted October 7, 2021 Share Posted October 7, 2021 1 минуту назад, AtotIK сказал: function IsAppRunning(const FileName : AnsiString): Boolean; var FSWbemLocator: Variant; FWMIService : Variant; FWbemObjectSet: Variant; begin Result := False; FSWbemLocator := CreateOleObject('WBEMScripting.SWBEMLocator'); FWMIService : =FSWbemLocator.ConnectServer('', 'root\CIMV2', '', ''); FWbemObjectSet := FWMIService.ExecQuery(Format('SELECT Name FROM Win32_Process Where Name="%s"', [FileName])); Result := (FWbemObjectSet.Count > 0); FWbemObjectSet := Unassigned; FWMIService := Unassigned; FSWbemLocator := Unassigned; end; function InitializeSetup(): Boolean; begin case IsAppRunning('WorldOfTanks.exe') of True: begin MsgBox(ExpandConstant('{cm:IsAppRunningLabel}'), mbError, MB_OK); Result:=False; end; False: begin RegCheck(); Result:=True; end; end; end; Работает с Windows 7. Что бы не вылетал с ошибкой инсталлятор на XP и Vista нужно обвернуть это в проверку версии, а лучше запретить инсталлятор запускать на системах ниже Windows 7 (сколько можно уже?). Так же можно закинуть в NextButtonClick с проверкой на любой странице (первой). у меня виндовс 10 @ Quote Link to comment Short link Share on other sites More sharing options...
AtotIK Posted October 7, 2021 Share Posted October 7, 2021 Только что, P.S.Enot сказал: у меня виндовс 10 А у хомячков корч. @ Quote Link to comment Short link Share on other sites More sharing options...
P.S.Enot Posted October 7, 2021 Share Posted October 7, 2021 1 минуту назад, AtotIK сказал: А у хомячков корч. интересно сказано. но я не понял не чего ))) @ Quote Link to comment Short link Share on other sites More sharing options...
AtotIK Posted October 7, 2021 Share Posted October 7, 2021 (edited) А вот универсальный метод, но он сложнее. Работает везде. type HANDLE = LongInt; HMODULE = HANDLE; pHMODULE = Array[0..255] of HMODULE; LPDWORD = DWORD; PDWORD = Array[0..255] of DWORD; LPTSTR = String; function OpenProcess(dwDesiredAccess: DWORD; bInheritHandle: Boolean; dwProcessId: DWORD): HANDLE; external '[email protected] stdcall delayload'; function CloseHandle(hObject: HANDLE): BOOL; external '[email protected] stdcall delayload'; function EnumProcesses(var pProcessIds: PDWORD; cb: DWORD; var pBytesReturned: DWORD): BOOL; external '[email protected] stdcall delayload'; function EnumProcessModules(hProcess: HANDLE; var lphModule: pHMODULE; cb: DWORD; var lpcbNeeded: LPDWORD): BOOL; external '[email protected] stdcall delayload'; function GetModuleFileNameExW(hProcess: HANDLE; hModule: HMODULE; lpFilename: LPTSTR; nSize: DWORD): DWORD; external '[email protected] stdcall delayload'; function IsAppRunning(procName: String; FullPath: Boolean): Boolean; var Found, isModuleShot: Boolean; FilenameEnd: Integer; Filename: AnsiString; NA, Entry, maxEntries: DWORD; Processes: PDWORD; lpFilename: LPTSTR; hProcess: HANDLE; hMod: pHMODULE; begin SetLength(lpFilename, 255); Found := False; if (EnumProcesses(Processes, SizeOf(Processes), maxEntries)) then begin Entry := 0; maxEntries := maxEntries / SizeOf(maxEntries); while ((not Found) and (Entry < maxEntries)) do begin hProcess := OpenProcess($400 or $10, False, Processes[Entry]); if (hProcess <> 0) then begin isModuleShot := False; begin isModuleShot := EnumProcessModules(hProcess, hMod, SizeOf(hMod), NA); end; if (isModuleShot) then if (GetModuleFileNameExW(hProcess, hMod[0], lpFilename, Length(lpFilename)) > 0) then begin FilenameEnd := Pos(#0, lpFilename); Filename := Copy(Lowercase(lpFilename), 1, FilenameEnd - 1); if (not Fullpath) then Filename := ExtractFileName(Filename); if (AnsiLowercase(Filename) = AnsiLowercase(procName)) then Found := True; end; CloseHandle(hProcess); end; Entry := Entry + 1; end; end; Result := Found; end; function NextButtonClick(CurPage: Integer): Boolean; begin Result := True; if CurPage = 1 then begin case IsAppRunning('WorldOfTanks.exe', False) of True: begin MsgBox(ExpandConstant('{cm:IsAppRunningLabel}'), mbError, MB_OK); Result := False; end; False: Result := True; end; end; end; 2 минуты назад, P.S.Enot сказал: интересно сказано. но я не понял не чего ))) Тогда может это не твоё? Edited October 7, 2021 by AtotIK @ Quote Link to comment Short link Share on other sites More sharing options...
P.S.Enot Posted October 7, 2021 Share Posted October 7, 2021 1 минуту назад, AtotIK сказал: А вот универсальный метод, но он сложнее. Работает везде. type HANDLE = LongInt; HMODULE = HANDLE; pHMODULE = Array[0..255] of HMODULE; LPDWORD = DWORD; PDWORD = Array[0..255] of DWORD; LPTSTR = String; function OpenProcess(dwDesiredAccess: DWORD; bInheritHandle: Boolean; dwProcessId: DWORD): HANDLE; external '[email protected] stdcall delayload'; function CloseHandle(hObject: HANDLE): BOOL; external '[email protected] stdcall delayload'; function EnumProcesses(var pProcessIds: PDWORD; cb: DWORD; var pBytesReturned: DWORD): BOOL; external '[email protected] stdcall delayload'; function EnumProcessModules(hProcess: HANDLE; var lphModule: pHMODULE; cb: DWORD; var lpcbNeeded: LPDWORD): BOOL; external '[email protected] stdcall delayload'; function GetModuleFileNameExW(hProcess: HANDLE; hModule: HMODULE; lpFilename: LPTSTR; nSize: DWORD): DWORD; external '[email protected] stdcall delayload'; function IsAppRunning(procName: String; FullPath: Boolean): Boolean; var Found, isModuleShot: Boolean; FilenameEnd: Integer; Filename: AnsiString; NA, Entry, maxEntries: DWORD; Processes: PDWORD; lpFilename: LPTSTR; hProcess: HANDLE; hMod: pHMODULE; begin SetLength(lpFilename, 255); Found := False; if (EnumProcesses(Processes, SizeOf(Processes), maxEntries)) then begin Entry := 0; maxEntries := maxEntries / SizeOf(maxEntries); while ((not Found) and (Entry < maxEntries)) do begin hProcess := OpenProcess($400 or $10, False, Processes[Entry]); if (hProcess <> 0) then begin isModuleShot := False; begin isModuleShot := EnumProcessModules(hProcess, hMod, SizeOf(hMod), NA); end; if (isModuleShot) then if (GetModuleFileNameExW(hProcess, hMod[0], lpFilename, Length(lpFilename)) > 0) then begin FilenameEnd := Pos(#0, lpFilename); Filename := Copy(Lowercase(lpFilename), 1, FilenameEnd - 1); if (not Fullpath) then Filename := ExtractFileName(Filename); if (AnsiLowercase(Filename) = AnsiLowercase(procName)) then Found := True; end; CloseHandle(hProcess); end; Entry := Entry + 1; end; end; Result := Found; end; function NextButtonClick(CurPage: Integer): Boolean; var VersionString, FilePath: String; begin Result := True; if CurPage = 1 then begin case IsAppRunning('WorldOfTanks.exe', False) of True: begin MsgBox(ExpandConstant('{cm:IsAppRunningLabel}'), mbError, MB_OK); Result := False; end; False: Result := True; end; end; end; Тогда может это не твоё? не просто нужно что бы кто то помог с овсем разобраться для понимания и все будет нормально у же потом . москва не сразу строилась 2 минуты назад, AtotIK сказал: А вот универсальный метод, но он сложнее. Работает везде. type HANDLE = LongInt; HMODULE = HANDLE; pHMODULE = Array[0..255] of HMODULE; LPDWORD = DWORD; PDWORD = Array[0..255] of DWORD; LPTSTR = String; function OpenProcess(dwDesiredAccess: DWORD; bInheritHandle: Boolean; dwProcessId: DWORD): HANDLE; external '[email protected] stdcall delayload'; function CloseHandle(hObject: HANDLE): BOOL; external '[email protected] stdcall delayload'; function EnumProcesses(var pProcessIds: PDWORD; cb: DWORD; var pBytesReturned: DWORD): BOOL; external '[email protected] stdcall delayload'; function EnumProcessModules(hProcess: HANDLE; var lphModule: pHMODULE; cb: DWORD; var lpcbNeeded: LPDWORD): BOOL; external '[email protected] stdcall delayload'; function GetModuleFileNameExW(hProcess: HANDLE; hModule: HMODULE; lpFilename: LPTSTR; nSize: DWORD): DWORD; external '[email protected] stdcall delayload'; function IsAppRunning(procName: String; FullPath: Boolean): Boolean; var Found, isModuleShot: Boolean; FilenameEnd: Integer; Filename: AnsiString; NA, Entry, maxEntries: DWORD; Processes: PDWORD; lpFilename: LPTSTR; hProcess: HANDLE; hMod: pHMODULE; begin SetLength(lpFilename, 255); Found := False; if (EnumProcesses(Processes, SizeOf(Processes), maxEntries)) then begin Entry := 0; maxEntries := maxEntries / SizeOf(maxEntries); while ((not Found) and (Entry < maxEntries)) do begin hProcess := OpenProcess($400 or $10, False, Processes[Entry]); if (hProcess <> 0) then begin isModuleShot := False; begin isModuleShot := EnumProcessModules(hProcess, hMod, SizeOf(hMod), NA); end; if (isModuleShot) then if (GetModuleFileNameExW(hProcess, hMod[0], lpFilename, Length(lpFilename)) > 0) then begin FilenameEnd := Pos(#0, lpFilename); Filename := Copy(Lowercase(lpFilename), 1, FilenameEnd - 1); if (not Fullpath) then Filename := ExtractFileName(Filename); if (AnsiLowercase(Filename) = AnsiLowercase(procName)) then Found := True; end; CloseHandle(hProcess); end; Entry := Entry + 1; end; end; Result := Found; end; function NextButtonClick(CurPage: Integer): Boolean; var VersionString, FilePath: String; begin Result := True; if CurPage = 1 then begin case IsAppRunning('WorldOfTanks.exe', False) of True: begin MsgBox(ExpandConstant('{cm:IsAppRunningLabel}'), mbError, MB_OK); Result := False; end; False: Result := True; end; end; end; Тогда может это не твоё? @ Quote Link to comment Short link Share on other sites More sharing options...
AtotIK Posted October 8, 2021 Share Posted October 8, 2021 17 часов назад, P.S.Enot сказал: не просто нужно что бы кто то помог с овсем разобраться для понимания и все будет нормально у же потом . москва не сразу строилась : = замени на := @ Quote Link to comment Short link Share on other sites More sharing options...
P.S.Enot Posted October 8, 2021 Share Posted October 8, 2021 25 минут назад, AtotIK сказал: : = замени на := наладил . спасибо @ Quote Link to comment Short link Share on other sites More sharing options...
DraugDM Posted October 13, 2021 Share Posted October 13, 2021 При перекомпиляции с недавних пор начало выскакивать такое окошко((( приходится перезагружать комп(( Может кто знает как вылечить?(( @ Quote Link to comment Short link Share on other sites More sharing options...
Kotyarko_O Posted October 13, 2021 Share Posted October 13, 2021 (edited) 10 hours ago, DraugDM said: При перекомпиляции с недавних пор начало выскакивать такое окошко((( приходится перезагружать комп(( Может кто знает как вылечить?(( Ну. Это значит, что существующий скомпилированный *.exe-файл занят каким-то процессом, обрабатывающим его. После первой компиляции инсталлятор запускался? Если да, вероятнее всего, он неправильно завершается и попросту зависает в процессах. Нужно мониторить диспетчер задач. Смотреть DeinitializeSetup. После компиляции инсталлятор не запускался, просто была начата повторная компиляция? Если да, то занести директорию проекта в исключения любых антивирусных ПО. Edited October 13, 2021 by Kotyarko_O 1 @ Quote Link to comment Short link Share on other sites More sharing options...
DraugDM Posted October 14, 2021 Share Posted October 14, 2021 17 часов назад, Kotyarko_O сказал: Ну. Это значит, что существующий скомпилированный *.exe-файл занят каким-то процессом, обрабатывающим его. После первой компиляции инсталлятор запускался? Если да, вероятнее всего, он неправильно завершается и попросту зависает в процессах. Нужно мониторить диспетчер задач. Смотреть DeinitializeSetup. После компиляции инсталлятор не запускался, просто была начата повторная компиляция? Если да, то занести директорию проекта в исключения любых антивирусных ПО. спс за ответ! Только что еще раз компилировал установщик, установил моды... завершил процесс установки! Удалил установщик, компилировал новый и тут же при начале установке это окно! (( в диспетчере задач DeinitializeSetup нет( Думаю скорее всего дело в коде на поиск клиента на дисках... @ Quote Link to comment Short link Share on other sites More sharing options...
Kotyarko_O Posted October 14, 2021 Share Posted October 14, 2021 (edited) 7 hours ago, DraugDM said: в диспетчере задач DeinitializeSetup нет У меня про это были два разных предложения. "DeinitializeSetup" - функция в скрипте, в диспетчере быть не может. Нужно смотреть саму функцию и определять, что в ней неправильное\чего не хватает, на основе используемых библиотек, например. 7 hours ago, DraugDM said: установил моды... завершил процесс установки! Удалил установщик, компилировал новый и тут же при начале установке это окно! Тогда смотри в сторону антивирусного ПО. 7 hours ago, DraugDM said: Думаю скорее всего дело в коде на поиск клиента на дисках. Эта ошибка не говорит о проблемах в коде. Edited October 14, 2021 by Kotyarko_O @ Quote Link to comment Short link Share on other sites More sharing options...
leeuniverse Posted November 5, 2021 Share Posted November 5, 2021 (edited) Hey all, long time... 1. I've been looking everywhere on the Internet and there STILL doesn't seem to be an "updated" version of InnoSetup Ultra/Enhanced. Is that true? 2. Also, I've tried some 12 different free and paid Setup/Install Creators, and NONE seem to still be able to create the basic features we use in WOT or otherwise to install Mods into a game. So also my question, is there "really" no version of a GUI installer that does the basics, specifically being able to "list" the mods so the user can select and install what they want, with a picture showing the mod also, in the GUI of course, sure the advanced installers you can still create "code", but I don't want to code anymore, tired of it, I don't have that brain? I mean, I have tried many, and some are very close, they just need to add a couple more steps, even the very simple installers, just a couple of steps and the GUI installer would be doing what we need. I find it crazy this still doesn't exist yet.... Is that true? 3. Can someone point me to people on the internet who've created some other installers (and are sharing the code) similar to how we use in WOT? But I'm specifically wanting those who are using the Official InnoSetup, OR another Installer creation program, rather than our "Ultra/Enhanced" version which is really old to create their scripts. Thanks much guys... ------ Эй, все, долго ... 1. Я искал повсюду в интернете, и все еще не кажется «обновленной» версией InnoSetup Ultra / Enhanced. Это правда? 2. Кроме того, я пробовал около 12 различных бесплатных и платных создателей настроек / установки, и никто не сможет создать основные функции, которые мы используем в WOT или иным образом для установки модов в игру. Итак, мой вопрос, есть ли «Действительно», нет версии установщика графического интерфейса, который делает основы, в частности, имею возможность «перечислять» моды, чтобы пользователь мог выбрать и устанавливать то, что они хотят, с изображением, показывающей мод также, в GUI конечно, уверен, что усовершенствованные установщики, которые вы все равно можете создать «код», но я больше не хочу, устал от этого, у меня нет этого мозга? Я имею в виду, я пробовал много, а некоторые очень близки, им просто нужно добавить еще пару шагов, даже самых простых установщиков, всего пару шагов, и установщик GUI будет делать то, что нам нужно. Я нахожу это сумасшедшим, что все еще не существует .... это правда? 3. Может ли кто-нибудь указать мне людям в Интернете, кто создал некоторые другие установщики (и делятся кодом), похожим на то, как мы используем в WOT? Но я специально желаю тех, кто использует официальный InnoSetup или другой программа создания установщика, а не нашей версии «Ultra / Enhanced», которая действительно старая для создания своих скриптов. Спасибо много парней ... Edited November 5, 2021 by leeuniverse 1 @ Quote Link to comment Short link Share on other sites More sharing options...
Kotyarko_O Posted November 5, 2021 Share Posted November 5, 2021 (edited) 1 hour ago, leeuniverse said: 1. I've been looking everywhere on the Internet and there STILL doesn't seem to be an "updated" version of InnoSetup Ultra/Enhanced. Is that true? That is true. ISEnchanced authors no longer maintain it, since ~2013. And all source codes was lost. But, there are some tries to reproduce some ISEnhanced`s features, related to VCL (based on actual IS releases): https://krinkels.org/threads/inno-setup-vcl.4317/ Also there`s attempt to reimplement NewCheckListBox by El Sanchez, to make it more flexible and, maybe, add some ISEnhanced`s features in future. But it isn`t approved yet. 1 hour ago, leeuniverse said: 2. Also, I've tried some 12 different free and paid Setup/Install Creators, and NONE seem to still be able to create the basic features we use in WOT or otherwise to install Mods into a game. So also my question, is there "really" no version of a GUI installer that does the basics, specifically being able to "list" the mods so the user can select and install what they want, with a picture showing the mod also, in the GUI of course, sure the advanced installers you can still create "code", but I don't want to code anymore, tired of it, I don't have that brain? I mean, I have tried many, and some are very close, they just need to add a couple more steps, even the very simple installers, just a couple of steps and the GUI installer would be doing what we need. I find it crazy this still doesn't exist yet.... Is that true? Inno Setup - is the best and relatively simple tool to create WOT-mods-related soft. But it pretty limited in UI possibilities. Want more - use some full language. Once upon a time i was trying to create open source project on C#, and there was great potential. But it became boring too fast, with thoughts "no one will appreciate it". 1 hour ago, leeuniverse said: 3. Can someone point me to people on the internet who've created some other installers (and are sharing the code) similar to how we use in WOT? But I'm specifically wanting those who are using the Official InnoSetup, OR another Installer creation program, rather than our "Ultra/Enhanced" version which is really old to create their scripts ISEnhanced is old, its true. But it works) You can create WOT-mods-related setup on the last IS releases, there`s tools for it. In example, botva2. It has custom checkListBox, implemented in IS code. It works, but need to be improved to use it with large items-lists. What about GUI-part. There`s a Firemonkey port for IS. And it worth to try) Edited November 5, 2021 by Kotyarko_O @ Quote Link to comment Short link Share on other sites More sharing options...
leeuniverse Posted November 5, 2021 Share Posted November 5, 2021 5 minutes ago, Kotyarko_O said: That is true. ISEnchanced authors no longer maintain it, since ~2013. And all source codes was lost. But, there are some tries to reproduce some ISEnhanced`s features, related to VCL: https://krinkels.org/threads/inno-setup-vcl.4317/ Also there`s attempt to reimplement NewCheckListBox by El Sanchez, to make it more flexible and, maybe, add some ISEnhanced`s features in future. But it isn`t approved yet. Inno Setup - is the best and relatively simple tool to create WOT-mods-related soft. But it pretty limited in UI possibilities. Want more - use some full language. Once upon a time i was trying to create open source project on C#, and there was great potential. But it became boring too fast, with thoughts "no one will appreciate it". ISEnhanced is old, its true. But it works) You can create WOT-mods-related setup on the last IS releases, there`s tools for it. In example, botva2. It has custom checkListBox, implemented in IS code. It works, but need to be improved to use it with large items-lists. What about GUI-part. There`s a Firemonkey port for IS. And it worth to try) Thanks for the info Kotyarko... Can you point me to places/tools/or even installers etc. people have already created with the Official InnoSetup that are similar to WOT needs? Also, if you have a location for examples of botva2 doing what your stating that would also be great. I will look further into your other info, much appreciated... Also, sent you a PM. :) ----- Спасибо за информацию Kotyarko ... Можете ли вы указать мне на места / инструменты / или даже установщики и т. Д. Люди уже созданы с официальным innoSetup, которые похожи на нужды WOT? Кроме того, если у вас есть место для примеров Botva2, делая то, что ваше заявление, которое также было бы здорово. Я буду смотреть дальше в другую информацию, много ценится ... Также отправил вам в личку. :) @ Quote Link to comment Short link Share on other sites More sharing options...
Kotyarko_O Posted November 5, 2021 Share Posted November 5, 2021 (edited) 11 minutes ago, leeuniverse said: Can you point me to places/tools/or even installers etc. people have already created with the Official InnoSetup that are similar to WOT needs? With the official IS, only simple examples: https://koreanrandom.com/forum/topic/44984-wip-xvm-installerv2/#comments https://gitlab.com/xvm/xvm/-/tree/master/src/installer/src With unofficial IS: https://bitbucket.org/Kotyarko_O/kmp/src/master/ https://bitbucket.org/Kotyarko_O/moder_mp/src/master/ https://bitbucket.org/Kotyarko_O/gmp/src/master/ https://bitbucket.org/ShuraBB/modpack/src/master/ Maybe there are more, but it is all i can remember. 12 minutes ago, leeuniverse said: Also, if you have a location for examples of botva2 doing what your stating that would also be great. Botva2 [0.9.9.156].zip Just compile script "CheckListBox_Example.iss" and you`ll see) Edited November 5, 2021 by Kotyarko_O @ Quote Link to comment Short link Share on other sites More sharing options...
leeuniverse Posted November 5, 2021 Share Posted November 5, 2021 (edited) 1 hour ago, Kotyarko_O said: With the official IS, only simple examples: https://koreanrandom.com/forum/topic/44984-wip-xvm-installerv2/#comments https://gitlab.com/xvm/xvm/-/tree/master/src/installer/src With unofficial IS: https://bitbucket.org/Kotyarko_O/kmp/src/master/ https://bitbucket.org/Kotyarko_O/moder_mp/src/master/ https://bitbucket.org/Kotyarko_O/gmp/src/master/ https://bitbucket.org/ShuraBB/modpack/src/master/ Maybe there are more, but it is all i can remember. Thanks for those... I knew about yours, but not the others, they might be helpful. BTW, I just saw that the XVM Installer one does EXACTLY what I was looking for in relation to using the "Official" InnoSetup to create Mod Installers. Looks like they may have figured it out, or at least got it partially working? I don't know if they are using the "El Sanchez" script or Botva2, or what to give us the Checkbox List Tree with Picture and sound even with the listed items. So yep... this looks exactly what I was looking for... Now if we could get one of the Setup/Installer makers to just add that ability, which wouldn't be too hard. ---------- Спасибо за те ... я знал о твоей, но не остальные, они могут быть полезны. Кстати, я только что увидел, что установщик XVM человек делает именно то, что я искал в отношении использования «официального» InnoSetup для создания мод установщиков. Похоже, они могли понять это, или, по крайней мере, получил его частично работать? Я не знаю, используют ли они сценарий или Botva2 «El Sanchez» или Botva2, или что дать нам дерево списка флажков с изображением и звучать даже с указанными элементами. Итак, да ... это выглядит именно то, что я искал ... Теперь, если бы мы могли получить одно из производителей установщиков / установщиков, чтобы просто добавить эту способность, что бы не было слишком сложно. Edited November 5, 2021 by leeuniverse @ Quote Link to comment Short link Share on other sites More sharing options...
StranikS_Scan Posted November 7, 2021 Share Posted November 7, 2021 Не знаю может кому полезно будет, однако обновил репо с патчером XVM-конфигов для InnoSetup - https://github.com/StranikS-Scan/XVMConfigEnNativeEditor 3 @ Quote Link to comment Short link Share on other sites More sharing options...
young G Posted December 14, 2021 Share Posted December 14, 2021 Может кто подскажет, хоть и темка уже заброшена, но надежда теплится) трабла в следующем, в моей сборке модификаций при скролле колесом на страничке модов, шрифт становится жирнее с каждой прокруткой, можно ли это фиксануть как-то и из-за чего такой косяк в целом может быть? @ Quote Link to comment Short link Share on other sites More sharing options...
Recommended Posts
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.