Kindly
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Genri Цитата:Нет sank [Run] Filename: "{src}\GAME\NFSMW.exe"; WorkingDir: "{src}\GAME"; Parameters: "-y -o""{app}"""; Flags: waituntilterminated Следовательно, передаем архиву путь для распаковки, выбранный при установке, причем с параметром -y, который, как должно быть известно, отвечает за "тихую" установку, т.е. по умолчанию распаковывает и перезаписывает файлы без запроса. Как показано на примере, файл sfx-архива должен содержать, например, все файлы игры. Причем в секции [Files] этот архив указывать не нужно, можно вообще эту секцию не указывать в скрипте, хотя если вы юзаете дополнительные файлы (русификация, требуемые системные библиотеки и др.), то их как обычно нужно указать в секции [Files]. С одной стороны, очень даже неплохая реализация установки, 7-zip, признаться, хоть на чуток, но лучше сжимает, чем Inno. Есть приличные русификаторы на ZoneOfGames (да простит меня SerGEAnt's). Так вот, не надо пытаться вскрывать технологию упаковки и процесса русификации. Инсталляторы защищены от распаковки автораспаковщиком и глюков при установке и удалении русификатора не наблюдается. И зачем нам перепаковывать файлы оригинальной русификации, если их и так можно установить, при этом все копирайты сохраняются: [Run] Filename: "{src}\Rus\NfSCarbon.exe"; WorkingDir: "{src}\Rus"; Parameters: "/silent /nocancel /DIR=""{app}"""; Flags: waituntilterminated skipifdoesntexist В этом случае будет произведена тихая установка русификации с сохранением резервных копий англоязычных файлов, причем с возможностью их обратного восстановления. Не забываем указать флаг "skipifdoesntexist", если запускаемый файл является "выбираемым" при установке. Конечно, лучше реализовать это через секцию [Code], в которой можно указать запуск русификатора в зависимости от выбранных компонентов, а также создать дополнительный ярлык для удаления русификации отдельно. но есть одна проблема... Все вышеописанное с многочисленными параметрами реализовать в секции [Code] у меня пока не получилось, если вообще возможно, загвоздку составляют параметры. Как известно, в секции [Code] константа {app} имеет вид: ExpandConstant('{app}'). Сильно не экспериментировал, но не получается передать путь для распаковки таким образом, компилятор выдает ошибки, или распаковывает в неверную папку. Попробуйте кто-нибудь, может у вас получится. В крайнем случае, будем жаловаться Джордану Расселу. |