Apmageddon 0 #266718 Posted April 29, 2015 Автоматически игру найти можно в случае её установки в системе. В любом другом случае (писал в предыдущем посте) это невозможно. Старые версии инсталлятора игры вносили данные в ветке HKLM, сейчас вносит в HKCU. Можно совместить поиск по ключу из двух веток и получение пути: [Setup] DefaultDirName={code:GetInstDir} [~~Code~~] function GetInstDir(const ResultCode: String): String; begin If not RegKeyExists(HKLM, 'Software\Microsoft\Windows\CurrentVersion\Uninstall\{1EAC1D02-C6AC-4FA6-9A44-96258C37C812RU}_is1') then begin If RegKeyExists(HKCU, 'Software\Microsoft\Windows\CurrentVersion\Uninstall\{1EAC1D02-C6AC-4FA6-9A44-96258C37C812RU}_is1') then RegQueryStringValue(HKCU, 'Software\Microsoft\Windows\CurrentVersion\Uninstall\{1EAC1D02-C6AC-4FA6-9A44-96258C37C812RU}_is1', 'InstallLocation', ResultCode); If ResultCode <> '' then Result:=ResultCode; end else RegQueryStringValue(HKLM, 'Software\Microsoft\Windows\CurrentVersion\Uninstall\{1EAC1D02-C6AC-4FA6-9A44-96258C37C812RU}_is1', 'InstallLocation', ResultCode); If ResultCode <> '' then Result:=ResultCode else Result:=ExpandConstant('C:\Games\World_of_Tanks'); end; В данном случае идёт поиск в HKLM, если нет такого ключа, то в HKCU, если и там нет, то возвращает значение C:\Games\World_of_Tanks (сюда по умолчанию предлагает установить игру инсталлятор WoT). Вот что выдает Required function or procedure 'GetInstrDir' not found Quote Share this post Link to post Short link Share on other sites
AtotIK 580 #266722 Posted April 29, 2015 (edited) Apmageddon, дальше своей головой думай что и куда вставлять. Одна строка из-за особенностей вставки кода на этом форуме изменена. Какая - додумаешься сам. Во всех моих постах так сделано. Edited April 29, 2015 by AtotIK Quote Share this post Link to post Short link Share on other sites
Kotyarko_O 1,906 #266731 Posted April 29, 2015 Одна строка из-за особенностей вставки кода на этом форуме изменена. Можно не изменять её. Этот форум её нормально принимает. Quote Share this post Link to post Short link Share on other sites
AtotIK 580 #266732 Posted April 29, 2015 Можно не изменять её. Этот форум её нормально принимает. Хочу что бы всё цветное было! 1 Quote Share this post Link to post Short link Share on other sites
Ekspoint 2,122 #266742 Posted April 29, 2015 Вот что выдает Required function or procedure 'GetInstrDir' not found function WotDir(S:String): String; var ResultCode: String; begin If not RegKeyExists(HKLM, 'Software\Microsoft\Windows\CurrentVersion\Uninstall\{1EAC1D02-C6AC-4FA6-9A44-96258C37C812RU}_is1') then begin If RegKeyExists(HKCU, 'Software\Microsoft\Windows\CurrentVersion\Uninstall\{1EAC1D02-C6AC-4FA6-9A44-96258C37C812RU}_is1') then RegQueryStringValue(HKCU, 'Software\Microsoft\Windows\CurrentVersion\Uninstall\{1EAC1D02-C6AC-4FA6-9A44-96258C37C812RU}_is1', 'InstallLocation', ResultCode); If ResultCode <> '' then Result:=ResultCode; end else RegQueryStringValue(HKLM, 'Software\Microsoft\Windows\CurrentVersion\Uninstall\{1EAC1D02-C6AC-4FA6-9A44-96258C37C812RU}_is1', 'InstallLocation', ResultCode); If ResultCode <> '' then Result:=ResultCode else Result:=ExpandConstant('C:\Games\World_of_Tanks'); end; 2 Quote Share this post Link to post Short link Share on other sites
TneRED 0 #266787 Posted April 29, 2015 (edited) Вот что выдает Required function or procedure 'GetInstrDir' not found [setup] DefaultDirName={code:GetInstDir} пропиши если ты не знаком с языком программирования лучше не суйся) Edited April 29, 2015 by TneRED 1 1 Quote Share this post Link to post Short link Share on other sites
guceds 2 #266845 Posted April 29, 2015 Добрые люди, подскажите.Как сделать так, чтобы пункт был неактивен. Чтобы его было видно (но был серый) и его было нельзя выбрать. Quote Share this post Link to post Short link Share on other sites
Kotyarko_O 1,906 #266849 Posted April 29, 2015 Как сделать так, чтобы пункт был неактивен. Чтобы его было видно (но был серый) и его было нельзя выбрать. Дописать компоненту флаг fixed. 1 Quote Share this post Link to post Short link Share on other sites
guceds 2 #266959 Posted April 29, 2015 (edited) Еще маленький вопрос.Как сделать принудительную установку моего файла. можно даже, чтобы он не отображался в выборе) P.s. Искал поиском в теме, не нашел Edited April 29, 2015 by guceds Quote Share this post Link to post Short link Share on other sites
AtotIK 580 #266961 Posted April 29, 2015 Да не присваивай их к компонентам и всё. Логически подумать никак? 2 Quote Share this post Link to post Short link Share on other sites
guceds 2 #266967 Posted April 29, 2015 Да не присваивай их к компонентам и всё. Логически подумать никак? Так, просто валенок :D Мысль была, но пробовать не стал, решил уточнить. Спасибо за прозрение :) Quote Share this post Link to post Short link Share on other sites
licimer 1 #267102 Posted April 30, 2015 Щас наверно очень глупый вопрос задам.... но все же. На каком языке программирования написан данный скрипт? (Мод пак)... просто хочу уже меньше спрашивать. посоветуйте материалы для изучения пожалуйста. Quote Share this post Link to post Short link Share on other sites
Kotyarko_O 1,906 #267134 Posted April 30, 2015 @licimer, objectPascal. Для изучения можете взять встроенную справку и сборник примеров (есть почти всё, что нужно).Здесь я давал ссылку на расширенный компилятор с полу-русскоязычной справкой и встроенной сборкой примеров. Quote Share this post Link to post Short link Share on other sites
Andrew_Dark 8 #267187 Posted April 30, 2015 Я не имею ввиду что я не смог установить! Я все варианты перепробвал которые нашел с 1 по 40 страницы ток 3 варианта нашел(От самого автора,с права картинка и тоже самое с коментами) Мне не понравилась не одна из вариантов просто хочу еще что нибуть другое попробывать, лень листать эту тему ведь тут не 30 страниц:) Также ищу код на проверку запуска клиента игры тоесть процесса worldoftanks.exe и чек версий клиента Тебе лень, а нам нет? Quote Share this post Link to post Short link Share on other sites
licimer 1 #267378 Posted May 1, 2015 @licimer, objectPascal. Для изучения можете взять встроенную справку и сборник примеров (есть почти всё, что нужно). Здесь я давал ссылку на расширенный компилятор с полу-русскоязычной справкой и встроенной сборкой примеров. спасибо. изучу Quote Share this post Link to post Short link Share on other sites
TneRED 0 #267525 Posted May 1, 2015 Тебе лень, а нам нет? Ну во первых это вопрос был кто тут часто сидит и какие варианты примеров есть. Quote Share this post Link to post Short link Share on other sites
Ekspoint 2,122 #267527 Posted May 1, 2015 (edited) Ну во первых это вопрос был кто тут часто сидит и какие варианты примеров есть. Загугли форумы inno Edited May 1, 2015 by Dark_Knight_MiX Quote Share this post Link to post Short link Share on other sites
sany6a 0 #267668 Posted May 2, 2015 Всем привет,народ!Подскажите пожалуйста,как правильно организовать PMOD в своём мод паке.Пункт PMOD c выбором компонентов,хочу что бы выбрал к примеру "Информация об вашем респауне на экране загрузки" он автоматом с false на true поменялся,можно ли такое сделать или же есть другие правильные варианты?Очень надеюсь на помощь,мозг подкипает уже. Quote Share this post Link to post Short link Share on other sites
Ekspoint 2,122 #267669 Posted May 2, 2015 Всем привет,народ! Подскажите пожалуйста,как правильно организовать PMOD в своём мод паке. Пункт PMOD c выбором компонентов,хочу что бы выбрал к примеру "Информация об вашем респауне на экране загрузки" он автоматом с false на true поменялся,можно ли такое сделать или же есть другие правильные варианты?Очень надеюсь на помощь,мозг подкипает уже. сначала сделай установку дефолта, а потом просто заменяй файлы 1 Quote Share this post Link to post Short link Share on other sites
-zav- 188 #268028 Posted May 3, 2015 (edited) Как установить какой либо файл в res_mods при деинсталляции и после восстановления бэкапа? procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep); begin if CurUninstallStep = usPostUninstall then begin if not DirExists(ExpandConstant('{app}\res_mods')) then CreateDir(ExpandConstant('{app}\res_mods')); CreateDir(ExpandConstant('{app}\res_mods\{#MyAppVer}')); if DirExists(ExpandConstant('{app}\backup')) then begin if MoveDir(ExpandConstant('{app}\backup\'), ExpandConstant('{app}\res_mods\')) then DelDir(ExpandConstant('{app}\backup'), False); end; end; end; Edited May 3, 2015 by -zav- Quote Share this post Link to post Short link Share on other sites