AtotIK Posted April 3, 2014 Share Posted April 3, 2014 Нужно сделать сохранение такого лога автоматически после установки. Поможет понять что устанавливали пользователи при выяснении проблем. Копануть конечно можно, но что-то я такого не встречал на своей памяти. @ Quote Link to comment Short link Share on other sites More sharing options...
Иннот Posted April 3, 2014 Share Posted April 3, 2014 inno setup менять json конфиг умеет? @ Quote Link to comment Short link Share on other sites More sharing options...
AtotIK Posted April 3, 2014 Share 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 Link to comment Short link Share on other sites More sharing options...
BAS Posted April 6, 2014 Share Posted April 6, 2014 А кто нить работал в программе Advanced Installer 11.0? Если такие есть поделитесь хорошим скриптом для инсталятора. @ Quote Link to comment Short link Share on other sites More sharing options...
Yusha Posted April 7, 2014 Share Posted April 7, 2014 inno setup менять json конфиг умеет? :) А я то думаю... чего это Андрей так это фичей заинтересовался :) @ Quote Link to comment Short link Share on other sites More sharing options...
Иннот Posted April 7, 2014 Share Posted April 7, 2014 :) А я то думаю... чего это Андрей так это фичей заинтересовался :) Всмысле? вот погуглил нашёл библиотеки http://stackoverflow.com/questions/15335340/inno-setup-working-with-json @ Quote Link to comment Short link Share on other sites More sharing options...
Azbuka Posted April 7, 2014 Share 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 Link to comment Short link Share on other sites More sharing options...
AtotIK Posted April 7, 2014 Share 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 Link to comment Short link Share on other sites More sharing options...
AtotIK Posted April 8, 2014 Share 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 Link to comment Short link Share on other sites More sharing options...
Justa_Causa Posted April 10, 2014 Share Posted April 10, 2014 Вроде все странички перечитал,или не нашел,или видел но не понял.Я в этом деле новичок,решил для себя попробовать вот только не могу понять как избежать такой ситуации как на скрине,чтоб выбиралась только одна позиция @ Quote Link to comment Short link Share on other sites More sharing options...
Kotyarko_O Posted April 10, 2014 Share 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 Link to comment Short link Share on other sites More sharing options...
Justa_Causa Posted April 10, 2014 Share 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 Link to comment Short link Share on other sites More sharing options...
Kotyarko_O Posted April 10, 2014 Share Posted April 10, 2014 (edited) DirExistsWarning=noне понял куда вот это вставить чтоб он не писал что папка уже имеется Куда угодно в секции [setup] как отключить окошко выбора языка перед установкой? Удали секцию [Language] и всё, что есть в ней. Edited April 10, 2014 by Kotyarko_O 1 @ Quote Link to comment Short link Share on other sites More sharing options...
Justa_Causa Posted April 10, 2014 Share Posted April 10, 2014 (edited) Вы мой спаситель))) Edited April 10, 2014 by Justa_Causa @ Quote Link to comment Short link Share on other sites More sharing options...
EvilAlex Posted April 10, 2014 Author Share Posted April 10, 2014 Justa_Causa удаление целой секции слишком радикально. попробуйте просто закомментировать ненужный язык знаком ";" ;Name: "eng"; MessagesFile: "compiler:Default.isl" 1 @ Quote Link to comment Short link Share on other sites More sharing options...
Justa_Causa Posted April 11, 2014 Share Posted April 11, 2014 Justa_Causa удаление целой секции слишком радикально. попробуйте просто закомментировать ненужный язык знаком ";" ;Name: "eng"; MessagesFile: "compiler:Default.isl" И Вам большое спасибо,сегодня поэкспериментирую с картинками,куча вопросов будет) @ Quote Link to comment Short link Share on other sites More sharing options...
AtotIK Posted April 11, 2014 Share Posted April 11, 2014 Прошу помощи в тестировании. Нужны мнения и предложения по дизайну. Супер-пупер-перделки не предлагать, всё и так в максимально выдержанном стиле сделано. На описки не обращайте внимания, описание набросал за 5 минут. http://rghost.ru/53991062 @ Quote Link to comment Short link Share on other sites More sharing options...
Kotyarko_O Posted April 11, 2014 Share Posted April 11, 2014 Прошу помощи в тестировании. Нужны мнения и предложения по дизайну. Супер-пупер-перделки не предлагать, всё и так в максимально выдержанном стиле сделано. На описки не обращайте внимания, описание набросал за 5 минут. Классно. Не плохо и со вкусом. Разве что я бы на WizardSmallImage тоже добавил бы лого амвея, с правой стороны; и сделал чуток выше (это имхо. мелочь и не критично). @ Quote Link to comment Short link Share on other sites More sharing options...
evil_rrock Posted April 11, 2014 Share Posted April 11, 2014 (edited) Прошу помощи в тестировании. Нужны мнения и предложения по дизайну. Супер-пупер-перделки не предлагать, всё и так в максимально выдержанном стиле сделано. На описки не обращайте внимания, описание набросал за 5 минут. http://rghost.ru/53991062 движение курсора по списку перечисленного, вызывает моргание картинок и появление на картинках белых полос. видео записать не получилось, так-как захватчик мой не поддерживает нужного количества кадров в секунду. а в общем и целом, на мой взгляд довольно годно. ничего лишнего. Edited April 11, 2014 by evil_rrock @ Quote Link to comment Short link Share on other sites More sharing options...
AtotIK Posted April 11, 2014 Share Posted April 11, 2014 evil_rrock, в курсе. Пока не брался за это. @ Quote Link to comment Short link Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.