Coi 1 #297521 Posted November 3, 2015 Доброго времени суток ! Видел пару раз темы, где люди искали программу или скрипт которые бы собирали моды в одну прогу и после этого могли их устанавливать на выбор ! Нашел на форумах одну вещицу так скажем! Сам скрипт + пара модов для теста: ScriptModPack.rar 54,3 МБ Программа с помощью которой собирается инсталлятор: InnoUltra.exe 54 МБ Скриншоты: Снимок1.PNGСнимок2.PNGСнимок3.PNGСнимок4.PNG Что нового: Ver. 2.4.124 - Упростил скрипт. - добавил определения папки установки если игра была установлена, если же скопирована инсталятор предлагает свой путь. - обновил Сообщения в инстоляторе. - внешний вид не менял. - добавил Лицензию и ФАК. Ver. 2.3 - Добавил в скрипт небольшое описание. - Добавил скрипт с Сообщениями иснтоллятора и выбор языка. - Вынес в отдельный скрипт компоненты - моды. - Внутри есть 2psd - Вместо ссылки на группу Кран'а теперь логотип нашего форума с сыллкой на негоже) Русская справка к версии 5.5.1, автор перевода BagIra, bugron ISetup.rar "Дополнительные скрипты " Проверка папки установки: function NextButtonClick(CurPageID: Integer): Boolean; begin Result := True; case CurPageID of wpSelectDir: if not FileExists(ExpandConstant('{app}\WorldOfTanks.exe')) then begin MsgBox('Не верно указана папка World of Tanks!', mbError, MB_OK); Result := False; end; end; end; Набор скриптов, библиотек с их использованием (Автор: Kotyarko_O):Набор скриптов, библиот…нием.rar - 31,12 МБ А программа только для WOT? Или подойдет для др игр? Quote Share this post Link to post Short link Share on other sites
Kotyarko_O 1,906 #297522 Posted November 3, 2015 подойдет для др игр? Конечно. 90% (ну или где-то столько же) репаков и оригинальных установщиков для всяких программ или игр сделаны на InnoSetup. 2 Quote Share this post Link to post Short link Share on other sites
Coi 1 #297527 Posted November 3, 2015 Конечно. 90% (ну или где-то столько же) репаков и оригинальных установщиков для всяких программ или игр сделаны на InnoSetup. Спс) Quote Share this post Link to post Short link Share on other sites
lexx7205 0 #297697 Posted November 5, 2015 (edited) большое спасибо буду ждать Всем привет что я только неперепробовал ( менял кодирунг, менял программы, и так далее) но проблема всё ещё таже не могу удалить папку res_mods или всё из неё, кто поможет буду признателен Edited November 5, 2015 by lexx7205 Quote Share this post Link to post Short link Share on other sites
Ekspoint 2,122 #297698 Posted November 5, 2015 (edited) Всем привет что я только неперепробовал ( менял кодирунг, менял программы, и так далее) но проблема всё ещё таже не могу удалить папку res_mods или всё из неё, кто поможет буду признателен ну ты может выше посмотришь, я тебе ссылку далhttp://www.koreanrandom.com/forum/topic/9050-%D0%B8%D0%BD%D1%81%D1%82%D0%B0%D0%BB%D0%BB%D1%8F%D1%82%D0%BE%D1%80-%D0%B4%D0%BB%D1%8F-%D0%BC%D0%BE%D0%B4%D0%BF%D0%B0%D0%BA%D0%BE%D0%B2/?p=277269 Edited November 5, 2015 by Dark_Knight_MiX Quote Share this post Link to post Short link Share on other sites
lexx7205 0 #297769 Posted November 5, 2015 да уже всё перепробовал не чего не получается скоро начну психовать или я настолько тупой??????может кто-нибудь скинет рабочий пример чтобы удалял папку res_mods очень сильно прошу Quote Share this post Link to post Short link Share on other sites
akey 35 #297789 Posted November 6, 2015 да уже всё перепробовал не чего не получается скоро начну психовать или я настолько тупой?????? может кто-нибудь скинет рабочий пример чтобы удалял папку res_mods очень сильно прошу Все в теме есть! Даже готовые скрипты... Воспользуйтесь поиском по теме, а ещё лучше почитайте всю тему. Quote Share this post Link to post Short link Share on other sites
Ekspoint 2,122 #297790 Posted November 6, 2015 лучше почитайте всю тему. зачем, лень же Quote Share this post Link to post Short link Share on other sites
lexx7205 0 #297793 Posted November 6, 2015 да я уже все прочитал и видео посмотрел только инсталлятор не хочет убирать папку, а только добавляет туда файлы, вот можете посмотреть скрип и инсталлятор https://cloud.mail.ru/public/rBYP/gCtFpAvN4 может кто и скажет в чем тут дело зачем, лень же да зачем же так я уже сижу над этой темой три дня и не как не получается просто бошку уже срывает test.txt Quote Share this post Link to post Short link Share on other sites
Ekspoint 2,122 #297794 Posted November 6, 2015 да я уже все прочитал и видео посмотрел только инсталлятор не хочет убирать папку, а только добавляет туда файлы, вот можете посмотреть скрип и инсталлятор https://cloud.mail.ru/public/rBYP/gCtFpAvN4 может кто и скажет в чем тут дело да зачем же так я уже сижу над этой темой три дня и не как не получается просто бошку уже срывает ты скачал тот файл на который я дал ссылку? Quote Share this post Link to post Short link Share on other sites
lexx7205 0 #297795 Posted November 6, 2015 да и всё равно не чего не получается потом поменял программу с юникоде на анси перешёл и все одно и тоже Quote Share this post Link to post Short link Share on other sites
Ekspoint 2,122 #297796 Posted November 6, 2015 да и всё равно не чего не получается потом поменял программу с юникоде на анси перешёл и все одно и тожескинь все исходники Quote Share this post Link to post Short link Share on other sites
Kotyarko_O 1,906 #297826 Posted November 6, 2015 (edited) test.txt Заархивировать скрипт слабо? Edited November 6, 2015 by Kotyarko_O Quote Share this post Link to post Short link Share on other sites
lexx7205 0 #297876 Posted November 6, 2015 скинь все исходники да не вопрос загрузил на облако https://cloud.mail.ru/public/rBYP/gCtFpAvN4можете посмотреть, на сайт не могу загрузить выдаёт ошибку большое спасибо вам всем Quote Share this post Link to post Short link Share on other sites
Ekspoint 2,122 #297878 Posted November 6, 2015 (edited) @lexx7205 ; Скрипт создан через Мастер Inno Setup Script. ; ИСПОЛЬЗУЙТЕ ДОКУМЕНТАЦИЮ ДЛЯ ПОДРОБНОСТЕЙ ИСПОЛЬЗОВАНИЯ INNO SETUP! ; Внимание!!! Это всего лишь пример скрипта BackUp. #define MyAppName "My Program" #define MyAppVersion "1.5" #define Patch "0.9.10" #define MyAppPublisher "My Company, Inc." #define MyAppURL "http://www.example.com/" #define MyAppExeName "MyProg.exe" #include "SHFileOperation.iss"; [Setup] WizardImageFile=C:\Users\lexx\Desktop\даты для InnoUltra\186 VN.bmp ; Примечание: Значение AppId идентифицирует это приложение. ; Не используйте одно и тоже значение в разных установках. ; (Для генерации значения GUID, нажмите Инструменты | Генерация GUID.) AppId={{3710FA1E-955E-4E83-9887-8FB48AAE2954} AppName={#MyAppName} AppVersion={#MyAppVersion} ;AppVerName={#MyAppName} {#MyAppVersion} AppPublisher={#MyAppPublisher} DefaultDirName={code:WotDirNameRU} DefaultGroupName={#MyAppName} DisableProgramGroupPage=yes LicenseFile=C:\Users\lexx\Desktop\даты для InnoUltra\licensia.txt InfoBeforeFile=C:\Users\lexx\Desktop\даты для InnoUltra\faq.rtf OutputDir=C:\Users\lexx\Desktop\сборка лекс OutputBaseFilename=сборка test SetupIconFile=C:\Users\lexx\Desktop\даты для InnoUltra\wot_ico.ico Compression=lzma SolidCompression=yes DirExistsWarning=no AppendDefaultDirName=no [Languages] Name: "default"; MessagesFile: "compiler:Default.isl" [Tasks] Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked [Files] Source: "C:\Program Files (x86)\Inno Setup 5\Examples\MyProg.exe"; DestDir: "{app}"; Flags: ignoreversion Source: "C:\Users\lexx\Desktop\сборка лекс\XVM\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs ; Components: KMP\1 ; ; Примечание: Не используйте "Flags: ignoreversion" для системных файлов [Components] Name: KMP; Description: lexx; Types: custom; Flags: exclusive Name: KMP\1; Description: XVM.; ; Примечание: Не используйте "Flags: ignoreversion" для системных файлов [Icons] Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}" Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon [Run] Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent [Code] function WotDirNameRU(Path: String): String; begin if RegKeyExists(HKLM, 'SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{1EAC1D02-C6AC-4FA6-9A44-96258C37C812RU}_is1') then begin RegQueryStringValue(HKLM, 'SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{1EAC1D02-C6AC-4FA6-9A44-96258C37C812RU}_is1', 'InstallLocation', Path); Result := Path end else if RegKeyExists(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{1EAC1D02-C6AC-4FA6-9A44-96258C37C812RU}_is1') then begin RegQueryStringValue(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{1EAC1D02-C6AC-4FA6-9A44-96258C37C812RU}_is1', 'InstallLocation', Path); Result := Path end else if RegKeyExists(HKCU, 'SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{1EAC1D02-C6AC-4FA6-9A44-96258C37C812RU}_is1') then begin RegQueryStringValue(HKCU, 'SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{1EAC1D02-C6AC-4FA6-9A44-96258C37C812RU}_is1', 'InstallLocation', Path); Result := Path end else if RegKeyExists(HKCU, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{1EAC1D02-C6AC-4FA6-9A44-96258C37C812RU}_is1') then begin RegQueryStringValue(HKCU, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{1EAC1D02-C6AC-4FA6-9A44-96258C37C812RU}_is1', 'InstallLocation', Path); Result := Path end else Result := ExpandConstant('C:\Games\World_of_Tanks'); end; { RedesignWizardFormBegin } // Не удалять эту строку! // Не изменять эту секцию. Она создана автоматически. procedure RedesignWizardForm; begin with WizardForm.WizardBitmapImage do begin Width := ScaleX(500); end; with WizardForm.WelcomeLabel2 do begin Left := ScaleX(496); Top := ScaleY(311); Width := ScaleX(77); Height := ScaleY(215); end; with WizardForm.WelcomeLabel1 do begin Left := ScaleX(488); Top := ScaleY(330); Width := ScaleX(53); Height := ScaleY(1); end; with WizardForm.WizardBitmapImage2 do begin Width := ScaleX(516); end; with WizardForm.RunList do begin Left := ScaleX(509); Top := ScaleY(314); Width := ScaleX(27); Height := ScaleY(1); end; with WizardForm.NoRadio do begin Left := ScaleX(557); Top := ScaleY(314); Width := ScaleX(27); Height := ScaleY(33); end; with WizardForm.YesRadio do begin Left := ScaleX(515); Top := ScaleY(314); Width := ScaleX(69); Height := ScaleY(14); end; with WizardForm.FinishedLabel do begin Left := ScaleX(525); Top := ScaleY(323); Width := ScaleX(35); Height := ScaleY(4); end; with WizardForm.FinishedHeadingLabel do begin Left := ScaleX(499); Top := ScaleY(314); Width := ScaleX(61); Height := ScaleY(17); end; { ReservationBegin } // Вы можете добавить ваш код здесь. { ReservationEnd } end; // Не изменять эту секцию. Она создана автоматически. { RedesignWizardFormEnd } // Не удалять эту строку! //---Сюда вставлять скрипт---\\ var BackupPage: TWizardPage; DeleteRadioButton, MoveRadioButton, NoneRadioButton: TNewRadioButton; const BackupDescText = 'Во избежание проблем совместимости и конфликтов между модификациями рекомендуется удалить уже установленные на данный момент в игровом клиенте.' #13#13 'Выберите необходимый пункт из представленных. При этом будет очищено содержимое папки "res_mods\0.9.10", удалена папка "res_mods\xvm" или созданы резервные копии Ваших файлов.'; DeleteDescText = 'Установщик удалит все файлы в папках.'; MoveDescText = 'Установщик сделает резервную копию всех файлов в папках.'; NoneDescText = 'Установщик оставит всё как есть.'; function BackupCheck_1(): Boolean; var BackupDescLabel, DeleteDescLabel, MoveDescLabel, NoneDescLabel: TLabel; begin BackupPage:=CreateCustomPage(wpWelcome, 'Создание резервных копий файлов перед установкой', 'Пожалуйста, прочтите следующую важную информацию перед тем, как продолжить.'); BackupDescLabel:=TLabel.Create(WizardForm); BackupDescLabel.Parent:=BackupPage.Surface; BackupDescLabel.Left:=0; BackupDescLabel.Top:=0; BackupDescLabel.Width:=BackupPage.SurfaceWidth; BackupDescLabel.Height:=90; BackupDescLabel.AutoSize:=False; BackupDescLabel.Wordwrap:=True; BackupDescLabel.Caption:=BackupDescText; DeleteRadioButton:=TNewRadioButton.Create(WizardForm); DeleteRadioButton.Parent:=BackupPage.Surface; DeleteRadioButton.Checked:=False; DeleteRadioButton.Top:=95; DeleteRadioButton.Width:=BackupPage.SurfaceWidth; DeleteRadioButton.Font.Style:=[fsBold]; DeleteRadioButton.Font.Size:=9; DeleteRadioButton.Caption:='Удалить файлы' DeleteDescLabel:=TLabel.Create(WizardForm); DeleteDescLabel.Parent:=BackupPage.Surface; DeleteDescLabel.Left:=18; DeleteDescLabel.Top:=DeleteRadioButton.Top + DeleteRadioButton.Height + 4; DeleteDescLabel.Width:=BackupPage.SurfaceWidth; DeleteDescLabel.Height:=40; DeleteDescLabel.AutoSize:=False; DeleteDescLabel.Wordwrap:=True; DeleteDescLabel.Caption:=DeleteDescText; MoveRadioButton:=TNewRadioButton.Create(WizardForm); MoveRadioButton.Parent:=BackupPage.Surface; MoveRadioButton.Checked:=True; MoveRadioButton.Top:=140; MoveRadioButton.Width:=BackupPage.SurfaceWidth; MoveRadioButton.Font.Style:=[fsBold]; MoveRadioButton.Font.Size:=9; MoveRadioButton.Caption:='Сделать резервную копию файлов' MoveDescLabel:=TLabel.Create(WizardForm); MoveDescLabel.Parent:=BackupPage.Surface; MoveDescLabel.Left:=18; MoveDescLabel.Top:=MoveRadioButton.Top + MoveRadioButton.Height + 4; MoveDescLabel.Width:=BackupPage.SurfaceWidth; MoveDescLabel.Height:=40; MoveDescLabel.AutoSize:=False; MoveDescLabel.Wordwrap:=True; MoveDescLabel.Caption:=MoveDescText; NoneRadioButton:=TNewRadioButton.Create(WizardForm); NoneRadioButton.Parent:=BackupPage.Surface; NoneRadioButton.Checked:=False; NoneRadioButton.Top:=185; NoneRadioButton.Width:=BackupPage.SurfaceWidth; NoneRadioButton.Font.Style:=[fsBold]; NoneRadioButton.Font.Size:=9; NoneRadioButton.Caption:='Ничего не трогать' NoneDescLabel:=TLabel.Create(WizardForm); NoneDescLabel.Parent:=BackupPage.Surface; NoneDescLabel.Left:=18; NoneDescLabel.Top:=NoneRadioButton.Top + NoneRadioButton.Height + 4; NoneDescLabel.Width:=BackupPage.SurfaceWidth; NoneDescLabel.Height:=40; NoneDescLabel.AutoSize:=False; NoneDescLabel.Wordwrap:=True; NoneDescLabel.Caption:=NoneDescText; end; function BackupCheck_2(): Boolean; begin If DeleteRadioButton.Checked then begin DelTree(ExpandConstant('{app}\res_mods\{#Patch}'), True, True, True); DelTree(ExpandConstant('{app}\res_mods\xvm'), True, True, True); CreateDir(ExpandConstant('{app}\res_mods\{#Patch}')); end; end; function BackupCheck_3(): Boolean; begin If MoveRadioButton.Checked then begin MoveDir(ExpandConstant('{app}\res_mods\{#Patch}\'),ExpandConstant('{app}\res_mods\backup\{#Patch}')); MoveDir(ExpandConstant('{app}\res_mods\xvm\'),ExpandConstant('{app}\res_mods\backup\xvm')); CreateDir(ExpandConstant('{app}\res_mods\{#Patch}')); DelTree(ExpandConstant('{app}\res_mods\xvm'), True, True, True); end; end; procedure CurStepChanged(CurStep: TSetupStep); begin If CurStep=ssInstall then begin BackupCheck_2(); BackupCheck_3(); end; end; procedure InitializeWizard(); begin RedesignWizardForm; BackupCheck_1(); end; [ISFormDesigner] WizardForm=FF0A005457495A415244464F524D003010D906000054504630F10B5457697A617264466F726D0A57697A617264466F726D0C436C69656E744865696768740368010B436C69656E74576964746803F1010C4578706C696369744C65667402000B4578706C69636974546F7002000D4578706C6963697457696474680301020E4578706C69636974486569676874038E010D506978656C73506572496E636802600A54657874486569676874020D00F10C544E65774E6F7465626F6F6B0D4F757465724E6F7465626F6F6B00F110544E65774E6F7465626F6F6B506167650B57656C636F6D65506167650D4578706C69636974576964746803F1010E4578706C6963697448656967687403390100F10C544269746D6170496D6167651157697A6172644269746D6170496D61676505576964746803F4010D4578706C69636974576964746803F4010000F10E544E6577537461746963546578740D57656C636F6D654C6162656C32044C65667403F00103546F70033701055769647468024D0648656967687403D7000C4578706C696369744C65667403F0010B4578706C69636974546F700337010D4578706C696369745769647468024D0E4578706C6963697448656967687403D7000000F10E544E6577537461746963546578740D57656C636F6D654C6162656C31044C65667403E80103546F70034A0105576964746802350648656967687402010C4578706C696369744C65667403E8010B4578706C69636974546F70034A010D4578706C69636974576964746802350E4578706C696369744865696768740201000000F110544E65774E6F7465626F6F6B5061676509496E6E6572506167650D4578706C69636974576964746803F1010E4578706C6963697448656967687403390100F10C544E65774E6F7465626F6F6B0D496E6E65724E6F7465626F6F6B00F110544E65774E6F7465626F6F6B506167650D53656C656374446972506167650D4578706C69636974576964746803A1010E4578706C6963697448656967687403ED000000F110544E65774E6F7465626F6F6B506167651453656C656374436F6D706F6E656E7473506167650D4578706C69636974576964746803A1010E4578706C6963697448656967687403ED0000F10C544E6577436F6D626F426F780A5479706573436F6D626F0A4974656D486569676874020D000000F110544E65774E6F7465626F6F6B506167650F53656C6563745461736B73506167650D4578706C69636974576964746803A1010E4578706C6963697448656967687403ED000000F110544E65774E6F7465626F6F6B506167650E496E7374616C6C696E67506167650D4578706C69636974576964746803A1010E4578706C6963697448656967687403ED0000000000F110544E65774E6F7465626F6F6B506167650C46696E6973686564506167650D4578706C69636974576964746803F1010E4578706C6963697448656967687403390100F10C544269746D6170496D6167651257697A6172644269746D6170496D616765320557696474680304020D4578706C6963697457696474680304020000F110544E6577436865636B4C697374426F780752756E4C697374044C65667403FD0103546F70033A01055769647468021B0648656967687402010C4578706C696369744C65667403FD010B4578706C69636974546F70033A010D4578706C696369745769647468021B0E4578706C6963697448656967687402010000F10F544E6577526164696F427574746F6E074E6F526164696F044C656674032D0203546F70033A01055769647468021B0648656967687402210C4578706C696369744C656674032D020B4578706C69636974546F70033A010D4578706C696369745769647468021B0E4578706C6963697448656967687402210000F10F544E6577526164696F427574746F6E08596573526164696F044C65667403030203546F70033A01055769647468024506486569676874020E0C4578706C696369744C6566740303020B4578706C69636974546F70033A010D4578706C69636974576964746802450E4578706C69636974486569676874020E0000F10E544E6577537461746963546578740D46696E69736865644C6162656C044C656674030D0203546F7003430105576964746802230648656967687402040C4578706C696369744C656674030D020B4578706C69636974546F700343010D4578706C69636974576964746802230E4578706C6963697448656967687402040000F10E544E6577537461746963546578741446696E697368656448656164696E674C6162656C044C65667403F30103546F70033A01055769647468023D0648656967687402110C4578706C696369744C65667403F3010B4578706C69636974546F70033A010D4578706C696369745769647468023D0E4578706C6963697448656967687402110000000000 Edited November 6, 2015 by Dark_Knight_MiX Quote Share this post Link to post Short link Share on other sites
lexx7205 0 #297892 Posted November 6, 2015 спасибо всё работает селе можете сказать, в чём была причина Quote Share this post Link to post Short link Share on other sites
Kotyarko_O 1,906 #297893 Posted November 6, 2015 (edited) можете сказать, в чём была причина Сравнивайте код, который привели вы, с кодом, который привёл , и узнаете сами. Edited November 6, 2015 by Kotyarko_O Quote Share this post Link to post Short link Share on other sites
Ekspoint 2,122 #297895 Posted November 6, 2015 (edited) спасибо всё работает селе можете сказать, в чём была причина не надо было делать путь установки таким DefaultDirName=C:\Games\World_of_Tanks\res_mods где ты такой пример нарыл? в шапке такого нет даже и как же ты читаешь тему? на первых 10 стр про путь расписывали Edited November 6, 2015 by Dark_Knight_MiX Quote Share this post Link to post Short link Share on other sites
lexx7205 0 #297898 Posted November 6, 2015 благодарю наставили чайника на пить истинный Quote Share this post Link to post Short link Share on other sites
lexx7205 0 #297913 Posted November 7, 2015 (edited) всем доброго дня у меня происходит ошибка приселение двух кодов кто ничуть может подсказать, где ошибка сборка test 7.11.rar Edited November 7, 2015 by lexx7205 Quote Share this post Link to post Short link Share on other sites