AtotIK 580 #166562 Posted April 3, 2014 Нужно сделать сохранение такого лога автоматически после установки. Поможет понять что устанавливали пользователи при выяснении проблем. Копануть конечно можно, но что-то я такого не встречал на своей памяти. Quote Share this post Link to post Short link Share on other sites
Иннот 27 #166571 Posted April 3, 2014 inno setup менять json конфиг умеет? Quote Share this post Link to post Short link Share on other sites
AtotIK 580 #166624 Posted April 3, 2014 (edited) Иннот, поиск параметра->замена значения реализуется. Я так у себя в паке конфиг XVM и XML-ки настроек модов меняю. Иннот, вернусь к вопросу по логу установки. Самый просто способ - выудить лог установки самого Inno Setup: [Setup] SetupLogging=yes [**********************Code] procedure CurStepChanged(CurStep: TSetupStep); var logfilepathname, logfilename, newfilepathname: string; begin logfilepathname:=expandconstant('{log}'); logfilename:=ExtractFileName(logfilepathname); newfilepathname:=expandconstant('{app}\') + logfilename; If CurStep=ssDone then begin filecopy(logfilepathname, newfilepathname, false); end; end; Вид конечно малоприятный, но всё же. Попробую завтра написать кастомный код записи выбираемых компонентов. Простенькая проверка времени запуска инсталлятора. Проверяет системную дату и сверяет её с заданной в коде. Если дата больше указанной, то выдаётся предложение о проверке обновлений (по ссылке переходит). Если юзер отвечает "Нет", то установка продолжается. #define DownloadUrl "Моя_ссылка"; #define ExpiryDate "20140402"; //Дата в формате год-месяц-день [Setup] AppName=My Program AppVersion=1.5 DefaultDirName={pf}\My Program OutputDir=. [****************Code] function InitializeSetup(): Boolean; var ResultCode: Integer; begin Result:=CompareStr(GetDateTimeString('yyyymmdd', #0,#0), '{#ExpiryDate}') <= 0; If not Result then begin If MsgBox('Внимание!' #13#13 'С момента создания данной версии прошло больше 2-х недель.' #10#10 'Желаете проверить наличие обновлений?', mbError, MB_YESNO)=IDYES then begin ShellExec('', '{#DownloadUrl}', '' , '', SW_SHOW, ewNoWait, ResultCode); Exit; end else Result:=True; end; end; Edited April 3, 2014 by AtotIK 2 Quote Share this post Link to post Short link Share on other sites
BAS 0 #167066 Posted April 6, 2014 А кто нить работал в программе Advanced Installer 11.0? Если такие есть поделитесь хорошим скриптом для инсталятора. Quote Share this post Link to post Short link Share on other sites
Yusha 8 #167185 Posted April 7, 2014 inno setup менять json конфиг умеет? :) А я то думаю... чего это Андрей так это фичей заинтересовался :) Quote Share this post Link to post Short link Share on other sites
Иннот 27 #167235 Posted April 7, 2014 :) А я то думаю... чего это Андрей так это фичей заинтересовался :) Всмысле? вот погуглил нашёл библиотеки http://stackoverflow.com/questions/15335340/inno-setup-working-with-json Quote Share this post Link to post Short link Share on other sites
Azbuka 278 #167236 Posted April 7, 2014 (edited) А поддерживает ли Inno работу с динамическими (.dll) и не очень (.lib) библиотеками? Читать список файлов оказалось не так просто, поэтому пока выложу для работы с логами. readme уже есть в архиве, поэтому не буду переписывать его, а просто приведу особенности dll: - Дата со временем добавляется автоматически. ( в формате dd/mm/yy hh:mm:ss) - Если пути и/или файла не существует, будет создан новый путь/файл (нужное подчеркнуть) - Если файл уже существует, то он не будет перезаписан, а будет продолжен. Как это подключить к inno я не знаю, поэтому жду помощи от других. logwriter.7z Edited April 7, 2014 by Azbuka_slovensko Quote Share this post Link to post Short link Share on other sites
AtotIK 580 #167328 Posted April 7, 2014 Сделал лог установки. Пока только для компонентов. Выглядит в итоге всё вот так: Modpack by Amway921 for v0.9.0 - Update 26 Install Log - 07-04-2014 21-56-05 Component: XVM (eXtended Visualization Mod) Component: Бой: Component: Панель повреждений: Component: Standart Damage Panel Component: Прицелы: Component: Минималистичный прицел с расширенной информацией Component: Zoom / NoScroll: Component: Zoom: командирская камера Component: Отключить эффекты динамической камеры Component: Отключить плавное изменение высоты камеры над танком Component: Углы горизонтальной наводки для Арт-САУ и Пт-САУ Component: Удалить затемнение в снайперском прицеле Component: Улучшенный индикатор количества снарядов Component: Отключить дрожание изображения при получении урона Component: Время перезарядки орудия в чат по нажатию ''С'' Component: Ангар: Component: Часы в ангаре Component: Цветные сообщения об итогах боя Component: Подробная статистика за сессию на сервере Component: Запоминание последнего сервера при перезапуске клиента Component: Разное: Component: Удалить дым из выхлопной трубы Component: Удалить дым от уничтоженных танков Component: Удалить дым и пламя от выстрела Component: Удалить эффект движения деревьев Подшаманю ещё, нужно добавить функционал. Quote Share this post Link to post Short link Share on other sites
AtotIK 580 #167390 Posted April 8, 2014 (edited) Azbuka_slovensko, работать с dll'кими Inno Setup может, подключается всё в секции [ Code ]. Смори в примере: Inno DescCtrl v1.0.zip Для компонентов делается в общем-то не так уж и сложно, а вот выудить имена файлов мне пока не удалось, голову уже сломал. [*************Code] function CreateLog(): Boolean; var I: Integer; FileName, DateTime: String; begin Result:=True; DateTime:=GetDateTimeString('dd/mm/yyyy hh:nn:ss', '-', '-'); FileName:=ExpandConstant('{app}\Install Log (' + DateTime + ').log'); SaveStringToFile(FileName, '"Modpack от AtotIK для v0.9.0 - Update 68" - Install Log - ' + DateTime + #13#10 + #13#10 + 'Выбранные компоненты:' + #13#10, True); For I:=0 to WizardForm.ComponentsList.Items.Count - 1 do If WizardForm.ComponentsList.Checked[I] then begin SaveStringToFile(FileName, '... ' + WizardForm.ComponentsList.ItemCaption[I] + #13#10, True); end; end; procedure CurStepChanged(CurStep: TSetupStep); begin If CurStep=ssInstall then begin CreateLog(); end; end; Ещё можно получить номер устанавливаемого компонента, для этого необходимо перевести I (число) в строку (SaveStringToFile сохраняет только текст), но толку от этого мало, т.к. номера компонентов начинаются с 0, заносятся в лог не в виде '0 1 2 3', а по номеру компонента в инсталляторе '0 4 6 10'. Edited April 8, 2014 by AtotIK 2 Quote Share this post Link to post Short link Share on other sites
Justa_Causa 1 #167792 Posted April 10, 2014 Вроде все странички перечитал,или не нашел,или видел но не понял.Я в этом деле новичок,решил для себя попробовать вот только не могу понять как избежать такой ситуации как на скрине,чтоб выбиралась только одна позиция Quote Share this post Link to post Short link Share on other sites
Kotyarko_O 1,906 #167797 Posted April 10, 2014 (edited) @Justa_Causa, для трёх компонентов, которые идут после "Прицелы:" нужно дописать флаги. Например: Name: P; Description: Прицелы:; Name: P\PDM; Description: Прицел Дамоклов меч.; Flags: exclusive Name: P\MM; Description: Прицел MeltpyMaps.; Flags: exclusive Name: P\KO; Description: Прицел как у Кирилла Орешкина.; Flags: exclusive Edited April 10, 2014 by Kotyarko_O 2 Quote Share this post Link to post Short link Share on other sites
Justa_Causa 1 #167803 Posted April 10, 2014 @Justa_Causa, для трёх компонентов, которые идут после "Прицелы:" нужно дописать флаги. Например: Name: P; Description: Прицелы:; Name: P\PDM; Description: Прицел Дамоклов меч.; Flags: exclusive Name: P\MM; Description: Прицел MeltpyMaps.; Flags: exclusive Name: P\KO; Description: Прицел как у Кирилла Орешкина.; Flags: exclusive Спасибо за помощь,плюсик Вам))) DirExistsWarning=no не понял куда вот это вставить чтоб он не писал что папка уже имеется,и как отключить окошко выбора языка перед установкой? Quote Share this post Link to post Short link Share on other sites
Kotyarko_O 1,906 #167830 Posted April 10, 2014 (edited) DirExistsWarning=noне понял куда вот это вставить чтоб он не писал что папка уже имеется Куда угодно в секции [setup] как отключить окошко выбора языка перед установкой? Удали секцию [Language] и всё, что есть в ней. Edited April 10, 2014 by Kotyarko_O 1 Quote Share this post Link to post Short link Share on other sites
Justa_Causa 1 #167831 Posted April 10, 2014 (edited) Вы мой спаситель))) Edited April 10, 2014 by Justa_Causa Quote Share this post Link to post Short link Share on other sites
EvilAlex 94 #167894 Posted April 10, 2014 Justa_Causa удаление целой секции слишком радикально. попробуйте просто закомментировать ненужный язык знаком ";" ;Name: "eng"; MessagesFile: "compiler:Default.isl" 1 Quote Share this post Link to post Short link Share on other sites
Justa_Causa 1 #167924 Posted April 11, 2014 Justa_Causa удаление целой секции слишком радикально. попробуйте просто закомментировать ненужный язык знаком ";" ;Name: "eng"; MessagesFile: "compiler:Default.isl" И Вам большое спасибо,сегодня поэкспериментирую с картинками,куча вопросов будет) Quote Share this post Link to post Short link Share on other sites
AtotIK 580 #168027 Posted April 11, 2014 Прошу помощи в тестировании. Нужны мнения и предложения по дизайну. Супер-пупер-перделки не предлагать, всё и так в максимально выдержанном стиле сделано. На описки не обращайте внимания, описание набросал за 5 минут. http://rghost.ru/53991062 Quote Share this post Link to post Short link Share on other sites
Kotyarko_O 1,906 #168032 Posted April 11, 2014 Прошу помощи в тестировании. Нужны мнения и предложения по дизайну. Супер-пупер-перделки не предлагать, всё и так в максимально выдержанном стиле сделано. На описки не обращайте внимания, описание набросал за 5 минут. Классно. Не плохо и со вкусом. Разве что я бы на WizardSmallImage тоже добавил бы лого амвея, с правой стороны; и сделал чуток выше (это имхо. мелочь и не критично). Quote Share this post Link to post Short link Share on other sites
evil_rrock 227 #168033 Posted April 11, 2014 (edited) Прошу помощи в тестировании. Нужны мнения и предложения по дизайну. Супер-пупер-перделки не предлагать, всё и так в максимально выдержанном стиле сделано. На описки не обращайте внимания, описание набросал за 5 минут. http://rghost.ru/53991062 движение курсора по списку перечисленного, вызывает моргание картинок и появление на картинках белых полос. видео записать не получилось, так-как захватчик мой не поддерживает нужного количества кадров в секунду. а в общем и целом, на мой взгляд довольно годно. ничего лишнего. Edited April 11, 2014 by evil_rrock Quote Share this post Link to post Short link Share on other sites
AtotIK 580 #168034 Posted April 11, 2014 evil_rrock, в курсе. Пока не брался за это. Quote Share this post Link to post Short link Share on other sites