-zav- 188 #150267 Posted February 1, 2014 (edited) Картинка у тебя в формате *.bmp? конешно, и названия картинок спецом поменял на 1.bmp и т.д чтоб не накасячить Edited February 1, 2014 by -zav- Quote Share this post Link to post Short link Share on other sites
EvilAlex 94 #150270 Posted February 1, 2014 А ты через редактор расширение менял или переименовал ? Изначально, когда прикручивал скрипт и проверял картинки стояли 1680х1050. Quote Share this post Link to post Short link Share on other sites
Kotyarko_O 1,906 #150272 Posted February 1, 2014 конешно, и названия картинок спецом поменял на 1.bmp и т.д чтоб не накасячить Вобщем, проблема в картинках.. 1 Quote Share this post Link to post Short link Share on other sites
-zav- 188 #150280 Posted February 1, 2014 А ты через редактор расширение менял или переименовал ? Так вот где собака порылась...Еще раз спасибо, теперь работает. Quote Share this post Link to post Short link Share on other sites
-zav- 188 #150596 Posted February 3, 2014 Вот еще нашел код для создания резервной копии перед установкой (например папки res_mods), но увы не знаю как его грамотно прикрепить. В идеале хотелось бы два чекбокса (на резервное копирование и/или удаление папки).а к резервным копим прибавлять дату (если установка проводится несколько раз) типа такого varArcDir: String;procedure CreateBackup();varSrcFile, DestFile: string;beginArcDir:= AddBackslash(ExpandConstant('{app}\Backup')) +GetDateTimeString('yyyy/mm/dd hh:nn', '_', '.' );ForceDirectories(ArcDir);SrcFile:= AddBackslash(ExpandConstant('{app}')) + ExtractFileName(CurrentFileName);DestFile:= AddBackslash(ArcDir) + ExtractFileName(CurrentFileName);FileCopy(SrcFile, DestFile, False);end; Backup.zip Quote Share this post Link to post Short link Share on other sites
Kotyarko_O 1,906 #150630 Posted February 3, 2014 (edited) Тут вопрос возник..Какой флаг нужно ставить на компонент, чтобы он был неизменяемым, но в то же время отмечен..? Edited February 3, 2014 by Kotyarko_O Quote Share this post Link to post Short link Share on other sites
-zav- 188 #150661 Posted February 3, 2014 Тут вопрос возник.. Какой флаг нужно ставить на компонент, чтобы он был неизменяемым, но в то же время отмечен..? Вроде так [Types] Name: "polnaya"; Description: "Полная установка" Name: "viborochnaya"; Description: "Выборочная установка"; Flags: iscustom [Components] Name: KMP; Description:Mod Pack; Types: polnaya; Flags: fixed Quote Share this post Link to post Short link Share on other sites
Kotyarko_O 1,906 #150662 Posted February 3, 2014 (edited) @-zav-, аа, я въехал. Спасибо. разобрался.. у меня просто Flags: fixed было закомментировано, вот и не понимал. в чём прикол) UPD:Ещё вопрос.. как я понял, вот такое: Source: "{app}\res\audio\*"; DestDir: "res_mods\0.8.10\audio\"; Flags: external recursesubdirs skipifsourcedoesntexist; Components: KMP\O; Source: "MODS\OZVUCHKA\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: KMP\O; копирует всё из папки res в res_mods, вместе с тем, что у меня в папке "OZVUCHKA", правильно? Edited February 3, 2014 by Kotyarko_O Quote Share this post Link to post Short link Share on other sites
-zav- 188 #150673 Posted February 3, 2014 копирует всё из папки res в res_mods, вместе с тем, что у меня в папке "OZVUCHKA", правильно? Да. А точнее сперва копирует из \res\audio\ в res_mods\0.8.10\audio\ А потом из MODS\OZVUCHKA\ Quote Share this post Link to post Short link Share on other sites
Kotyarko_O 1,906 #150674 Posted February 3, 2014 (edited) Да. А точнее сперва копирует из \res\audio\ в res_mods\0.8.10\audio\ А потом из MODS\OZVUCHKA\ Ну, да, я так и думал... но вот в чём загвоздка: 'кусок скрипта' [Setup] DefaultDirName={code:MyDirName} [code] function MyDirName(S:String): String; var InsPath: String; er: boolean; myFile:String; begin Result:=ExpandConstant('C:\Games\World_of_Tanks\'); //если ключа нет то будем ставить сюда er := RegQueryStringValue(HKLM, 'SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{1EAC1D02-C6AC-4FA6-9A44-96258C37C812RU}_is1', 'InstallLocation', InsPath); if er and (InsPath<>'') then //если ключ существует и там что-то записано begin Result := InsPath; end; end; [Components] Name: KMP\O; Description: Расширенная озвучка + звонок при крите модуля. С озвучиванием повреждённых модулей противника.; [Files] Source: "{app}\res\audio\*"; DestDir: "res_mods\0.8.10\audio\"; Flags: external recursesubdirs skipifsourcedoesntexist; Components: KMP\O; Source: "MODS\OZVUCHKA\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: KMP\O; Сколько раз не пытался установить в разную иерархию - ничего не делает.. Может что-то не дописано.. ? Edited February 3, 2014 by Kotyarko_O Quote Share this post Link to post Short link Share on other sites
-zav- 188 #150692 Posted February 3, 2014 Сколько раз не пытался установить в разную иерархию - ничего не делает.. да не надо в разные сувать, есть же уже готовый файл Components.iss, там уже есть всё что нужно. (строки на звоночек крита) подправь под свои нужды и всё Quote Share this post Link to post Short link Share on other sites
Kotyarko_O 1,906 #150696 Posted February 3, 2014 да не надо в разные сувать, есть же уже готовый файл Components.iss, там уже есть всё что нужно. (строки на звоночек крита) подправь под свои нужды и всё Ну, так всё и оставил.. ничего не изменилось. В начале установки (в строке, где перечисляются распаковывающиеся файлы) пробегают все нужные файлы из папки res\audio.. но строка выглядит так: c:windows\system32\и т.д... Но указываю я d:\games (в этой папке лежит папка с игрой). Quote Share this post Link to post Short link Share on other sites
Иннот 27 #150709 Posted February 3, 2014 function MyDirName(S:String): String; var InsPath: String; er: boolean; myFile:String; begin Result:=ExpandConstant('C:\Games\World_of_Tanks\'); //если ключа нет то будем ставить сюда er := RegQueryStringValue(HKLM, 'SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{1EAC1D02-C6AC-4FA6-9A44-96258C37C812RU}_is1', 'InstallLocation', InsPath); if er and (InsPath<>'') then //если ключ существует и там что-то записано begin Result := InsPath; end; end; ужас, куда всё проще можно сделать [Setup] DefaultDirName={code:GetInstallDir} [Code] Function GetInstallDir(Path: String ): String; begin RegQueryStringValue(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{1EAC1D02-C6AC-4FA6-9A44-96258C37C812CT}_is1', 'InstallLocation', Path);//Eaeie ee?? ?aano?a euao ... Result := Path; end; ну и в InitializeSetup если реестре не найдено, то выводим MsgBox, что игра не найдена укажите в ручную Quote Share this post Link to post Short link Share on other sites
Kotyarko_O 1,906 #150712 Posted February 3, 2014 (edited) если реестре не найдено, то выводим MsgBox, что игра не найдена укажите в ручную действительно, с твоим вариантом удобнее, вписал его.. Но проблема остаётся... первые пару секунд все нужные файлы утекают в c:\windows\system32\res_mods\0.8.10\audio, а потом всё, что выбирал для установки идёт в нужную папку. (кстати, после установки, в system32 всё в порядке..) UPD: проблему решил: Source: "{app}\res\audio\*"; DestDir: "{app}\res_mods\0.8.10\audio\"; Flags: external recursesubdirs skipifsourcedoesntexist; Components: KMP\O; В DestDir добавил {app}\ Теперь всё, что нужно, откуда нужно копирует куда нужно :) (от такая тавтология) Edited February 3, 2014 by Kotyarko_O Quote Share this post Link to post Short link Share on other sites
Yusha 8 #150770 Posted February 4, 2014 Source: "{app}\res\audio\*"; DestDir: "{app}\res_mods\0.8.10\audio\"; Flags: external recursesubdirs skipifsourcedoesntexist; Components: KMP\O; Блин... ребят... Вам своего времени не жалко? К каждому патчу меняете 0.8.10, на 0.8.11 и так далее? Самой первой строчкой напишите: #define Patch "0.8.10" и тогда эта строчку будет выглядеть так: Source: "{app}\res\audio\*"; DestDir: "{app}\res_mods\{#Patch}\audio\"; Flags: external recursesubdirs skipifsourcedoesntexist; Components: KMP\O; Уважайте свое время. 1 2 Quote Share this post Link to post Short link Share on other sites
Johniq 0 #150780 Posted February 4, 2014 Всем привет! Итак я скачал файлы, "Сам скрипт + пара модов для теста:ScriptModPack.rar 54,3 МБ Программа с помощью которой собирается инсталлятор:InnoUltra.exe 54 МБ" Установил программу, разархивировал архив, на рабочем столе появился ярлык "Inno Setup Compiler" я его открыл, открылась программа, я беру из папки "ScriptModPack" и открываю файл "script" вроде все нормально. Но когда я компилирую данный скрипт то никакого выбора модов у меня не появляется, и собственно никакие "тестовые" моды никуда не устанавливаются. Поясните что я делаю не так? :) Quote Share this post Link to post Short link Share on other sites
Kotyarko_O 1,906 #150798 Posted February 4, 2014 (edited) В самом скрипте закомментированы некоторые строки (так по дефолту).Выглядят так: ;#include "Components.iss" #include "Messages.iss" это пример... видишь, в начале строки Компонентов стоит ";"..(В InnoSetup эта строка должна выделяться зелёным цветом), убери точку с запятой и перекомпилируй снова, всё будет норм :) Edited February 4, 2014 by Kotyarko_O Quote Share this post Link to post Short link Share on other sites
-zav- 188 #152133 Posted February 11, 2014 Ну что? Ни у кого никаких идей нет больше? Для тех у кого инсталер только на русском, отключаем окошко с выбором языка. [setup]ShowLanguageDialog=no [Languages];Name: eng; MessagesFile: compiler:Default.islName: rus; MessagesFile: compiler:Languages\Russian.isl Quote Share this post Link to post Short link Share on other sites
Neverhood 57 #152157 Posted February 11, 2014 теперь олени будут делать модпаки. и запихивать туда вирусню и прочую [мат]. жирный минус. 10 Quote Share this post Link to post Short link Share on other sites
-zav- 188 #152199 Posted February 11, 2014 теперь олени будут делать модпаки. и запихивать туда вирусню и прочую [мат]. Всегда и постоянно проверяйте антивирусом ЛЮБОЙ скачанный файл или архив. это азы безопасности, просто мы ленимся. Quote Share this post Link to post Short link Share on other sites