Ekspoint 2,122 #283196 Posted July 18, 2015 как можно добавить инсталлятор в исключения брандмауера? что то найти не могу Quote Share this post Link to post Short link Share on other sites
-zav- 188 #283201 Posted July 18, 2015 как можно добавить инсталлятор в исключения брандмауера? что то найти не могу Где то видел код запуска от имени администратора, думаю должно помочь. Quote Share this post Link to post Short link Share on other sites
Ekspoint 2,122 #283202 Posted July 18, 2015 Где то видел код запуска от имени администратора, думаю должно помочь. да это я знаю в секции setup задается мне именно в исключения брандмауера недо Quote Share this post Link to post Short link Share on other sites
akey 35 #283203 Posted July 18, 2015 да это я знаю в секции setup задается мне именно в исключения брандмауера недо в факе есть про это, глянте... @Kotyarko_O, Спасибо за разъяснения! Ещё вопрос. Существует ли возможность как то отслеживать установку модпака? Или Вариант блокирования установки из вне? То есть, кто либо поставил мод пак, активировал, и всё на этом... больше ни кто не может воспользоваться. Такое вообще возможно? Quote Share this post Link to post Short link Share on other sites
Ekspoint 2,122 #283210 Posted July 18, 2015 Ещё вопрос. Существует ли возможность как то отслеживать установку модпака? Или Вариант блокирования установки из вне? То есть, кто либо поставил мод пак, активировал, и всё на этом... больше ни кто не может воспользоваться. Такое вообще возможно? я что то такое где то писал или видел, вроде можно но нужно сервак иметь вроде Quote Share this post Link to post Short link Share on other sites
Kotyarko_O 1,906 #283211 Posted July 18, 2015 Ещё вопрос. Существует ли возможность как то отслеживать установку модпака? Или Вариант блокирования установки из вне? То есть, кто либо поставил мод пак, активировал, и всё на этом... больше ни кто не может воспользоваться. Такое вообще возможно? Да, возможно. Quote Share this post Link to post Short link Share on other sites
Ekspoint 2,122 #283212 Posted July 18, 2015 Да, возможно. пример имеется? Quote Share this post Link to post Short link Share on other sites
akey 35 #283216 Posted July 18, 2015 Да, возможно. Я знаю что нужен сервер. Получается принцип как в обычных программах, вводим ключ, он активируется на сервере, или сверяется с наличием на сервере ключа в файле, это теоретически конечно... Но все же есть примеры? Спасибо! Как быть с этим? у меня в препроцессоре такая процедура есть... Quote Share this post Link to post Short link Share on other sites
Ekspoint 2,122 #283277 Posted July 18, 2015 Я знаю что нужен сервер. Получается принцип как в обычных программах, вводим ключ, он активируется на сервере, или сверяется с наличием на сервере ключа в файле, это теоретически конечно... Но все же есть примеры? Спасибо! Как быть с этим? у меня в препроцессоре такая процедура есть... я ждал этого :) procedure CreateLogModsChanged(CurStep: TSetupStep); begin If CurStep=ssInstall then begin CreateDir(ExpandConstant('{app}\{#MyAppName}')); DeleteFile(ExpandConstant('{app}\{#MyAppName}\{#LogMods}')); CreateLogMods; end; end; procedure CurStepChanged(CurStep: TSetupStep); begin CreateLogModsChanged(CurStep); end; суть понял? Quote Share this post Link to post Short link Share on other sites
akey 35 #283284 Posted July 18, 2015 я ждал этого :) procedure CreateLogModsChanged(CurStep: TSetupStep); begin If CurStep=ssInstall then begin CreateDir(ExpandConstant('{app}\{#MyAppName}')); DeleteFile(ExpandConstant('{app}\{#MyAppName}\{#LogMods}')); CreateLogMods; end; end; procedure CurStepChanged(CurStep: TSetupStep); begin CreateLogModsChanged(CurStep); end; суть понял? Вот код... что не так, потому как ошибка та же... function CreateLogMods: Boolean; var I: Integer; FileName, DateTime: String; begin Result:=True; DateTime:=GetDateTimeString('dd/mm/yyyy hh:nn', '-', '-'); FileName:=ExpandConstant('{app}\{#PACK}\{#LogMods}'); //----------------------------------------------------------------------------------------------\\ For I:=0 to WizardForm.ComponentsList.Items.Count - 1 do If WizardForm.ComponentsList.Checked[I] then begin SaveStringToFile(FileName, '{#LogMods} ' + WizardForm.ComponentsList.ItemCaption[I] + #13#10, True); end; end; procedure CreateLogModsChanged(CurStep: TSetupStep); begin If CurStep=ssInstall then begin CreateDir(ExpandConstant('{app}\{#PACK}')); DeleteFile(ExpandConstant('{app}\{#PACK}\{#LogMods}')); CreateLogMods; end; end; procedure CurStepChanged(CurStep: TSetupStep); begin CreateLogModsChanged(CurStep); end; Quote Share this post Link to post Short link Share on other sites
Ekspoint 2,122 #283285 Posted July 18, 2015 Вот код... что не так, потому как ошибка та же... function CreateLogMods: Boolean; var I: Integer; FileName, DateTime: String; begin Result:=True; DateTime:=GetDateTimeString('dd/mm/yyyy hh:nn', '-', '-'); FileName:=ExpandConstant('{app}\{#PACK}\{#LogMods}'); //----------------------------------------------------------------------------------------------\\ For I:=0 to WizardForm.ComponentsList.Items.Count - 1 do If WizardForm.ComponentsList.Checked[I] then begin SaveStringToFile(FileName, '{#LogMods} ' + WizardForm.ComponentsList.ItemCaption[I] + #13#10, True); end; end; procedure CreateLogModsChanged(CurStep: TSetupStep); begin If CurStep=ssInstall then begin CreateDir(ExpandConstant('{app}\{#PACK}')); DeleteFile(ExpandConstant('{app}\{#PACK}\{#LogMods}')); CreateLogMods; end; end; procedure CurStepChanged(CurStep: TSetupStep); begin CreateLogModsChanged(CurStep); end; тут все верно ты у себя найди еще procedure CurStepChanged(CurStep: TSetupStep); begin .... ..... .... end; найди свой и в него впиши CreateLogModsChanged(CurStep); проще свой скрипт скинь Quote Share this post Link to post Short link Share on other sites
akey 35 #283288 Posted July 18, 2015 проще свой скрипт скинь в личных. Спасибо заранее... Quote Share this post Link to post Short link Share on other sites
Andrew_Dark 8 #283555 Posted July 20, 2015 (edited) procedure DeletModpakChanged(CurUninstallStep: TUninstallStep);begin if CurUninstallStep = usPostUninstall then begin FileCopy(ExpandConstant('{app}\{#MyAppName}\backup\paths.xml'), ExpandConstant('{app}\paths.xml'), False); DelTree(ExpandConstant('{app}\{#MyAppName}'), True, True, True); DelTree(ExpandConstant('{app}\res_mods'), True, True, True); CreateDir(ExpandConstant('{app}\res_mods\{#Patch}'));end;end; procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);beginDeletModpakChanged(CurUninstallStep); {удаление модпака}end; Что тут в коде не так, что он срабатывает, но не создаёт папку "res_mods\имя патча"? Остальное работает. Edited July 20, 2015 by Darksoul Quote Share this post Link to post Short link Share on other sites
Kotyarko_O 1,906 #283563 Posted July 20, 2015 Что тут в коде не так procedure DeletModpakChanged(CurUninstallStep: TUninstallStep); begin if CurUninstallStep = usPostUninstall then begin FileCopy(ExpandConstant('{app}\{#MyAppName}\backup\paths.xml'), ExpandConstant('{app}\paths.xml'), False); DelTree(ExpandConstant('{app}\{#MyAppName}'), True, True, True); DelTree(ExpandConstant('{app}\res_mods'), True, True, True); CreateDir(ExpandConstant('{app}\res_mods')); CreateDir(ExpandConstant('{app}\res_mods\{#Patch}')); end; end; 1 Quote Share this post Link to post Short link Share on other sites
licimer 1 #283573 Posted July 20, 2015 (edited) Народ напомните как включить запоминание ранее установленных модов?... когда повторно перестанавливаешь модпак. Edited July 20, 2015 by licimer Quote Share this post Link to post Short link Share on other sites
Andrew_Dark 8 #283574 Posted July 20, 2015 procedure DeletModpakChanged(CurUninstallStep: TUninstallStep); begin if CurUninstallStep = usPostUninstall then begin FileCopy(ExpandConstant('{app}\{#MyAppName}\backup\paths.xml'), ExpandConstant('{app}\paths.xml'), False); DelTree(ExpandConstant('{app}\{#MyAppName}'), True, True, True); DelTree(ExpandConstant('{app}\res_mods'), True, True, True); CreateDir(ExpandConstant('{app}\res_mods')); CreateDir(ExpandConstant('{app}\res_mods\{#Patch}')); end; end; Спс, дружище, совсем забыл. Quote Share this post Link to post Short link Share on other sites
Kotyarko_O 1,906 #283576 Posted July 20, 2015 Народ напомните как включить запоминание ранее установленных модов?... когда повторно перестанавливаешь модпак. Для основной страницы компонентов достаточно включить создание деинсталлятора. И положение компонентов будет запоминаться, пока он есть. 1 Quote Share this post Link to post Short link Share on other sites
licimer 1 #283580 Posted July 20, 2015 (edited) Для основной страницы компонентов достаточно включить создание деинсталлятора. И положение компонентов будет запоминаться, пока он есть. Да было такое. И при чем работало. Но в какой то момент перестало. После того как обновил сборку. Но самое интересное просто добавил модов, картинок и описание. В самом коде не ковырялся даже. В чем может быть причина? И еще вопрос. Подскажите как растянуть по горизонтали строчку куда вписывается путь установки игры. а то обрублено смотрится Edited July 20, 2015 by licimer Quote Share this post Link to post Short link Share on other sites
Ekspoint 2,122 #283582 Posted July 20, 2015 Спс, дружище, совсем забыл. опять тупим И еще вопрос. Подскажите как растянуть по горизонтали строчку куда вписывается путь установки игры. а то обрублено смотрится в редакторе фор для компонентов можно сделать как и создание лога установки Quote Share this post Link to post Short link Share on other sites
Kotyarko_O 1,906 #283587 Posted July 20, 2015 Да было такое. И при чем работало. Но в какой то момент перестало. После того как обновил сборку. Но самое интересное просто добавил модов, картинок и описание. В самом коде не ковырялся даже. В чем может быть причина? Значит всё-таки что-то делал, вплоть до нового типа установки. Вспоминай. И еще вопрос. Подскажите как растянуть по горизонтали строчку куда вписывается путь установки игры. WizardForm.DirEdit.Width WizardForm.DirBrowseButton.Width Quote Share this post Link to post Short link Share on other sites