|
Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Скрипты Inno Setup. Помощь и советы [часть 9] |
|
Скрипты Inno Setup. Помощь и советы [часть 9]
|
Ветеран Сообщения: 1269 |
Профиль | Отправить PM | Цитировать
Внимание! Данная тема предназначена только для обсуждения написания скриптов!
Остальные вопросы, а также последние версии компилятора в теме Inno Setup. Прочие вопросы. Показать/скрыть: Справка, руководство, примеры:
Показать/скрыть: Ссылки на примеры скриптов:
Показать/скрыть: Дополнительные программы для Inno Setup:
Предыдущие ветки обсуждения по ссылкам ниже и в прикреплённых архивах: Скрипты Inno Setup. Помощь и советы [часть 6] | Скрипты Inno Setup. Помощь и советы [часть 6].7z Скрипты Inno Setup. Помощь и советы [часть 7] | Скрипты Inno Setup. Помощь и советы [часть 7].7z Скрипты Inno Setup. Помощь и советы [часть 8] | Скрипты Inno Setup. Помощь и советы [часть 8].7z |
|
Отправлено: 16:09, 04-04-2018 |
Ветеран Сообщения: 1269
|
Профиль | Отправить PM | Цитировать Цитата lmiol:
Скрытый текст
#define MyAppName "bla" #define MyAppVersion "1.0.0" #define MyAppPublisher "bla" #define MyAppURL "https://www.bla.com/" #define MyAppExeName "bla.exe" [Setup] AppId={{9B58D044-A076-47B2-B426-FC6CA298390A}} AppName={#MyAppName} AppVersion={#MyAppVersion} AppPublisher={#MyAppPublisher} AppPublisherURL={#MyAppURL} AppSupportURL={#MyAppURL} AppUpdatesURL={#MyAppURL} AllowCancelDuringInstall=no DefaultDirName={autopf}\{#MyAppName} ; bla-portable.zip extracted size ExtraDiskSpaceRequired=8293003 WizardStyle=classic [Languages] Name: ru; MessagesFile: compiler:Languages\russian.isl [Messages] SetupWindowTitle={#MyAppName} [Files] Source: 7za.exe; DestDir: {tmp}; Flags: deleteafterinstall [Run] Filename: {tmp}\7za.exe; Parameters: "x ""{tmp}\bla-portable.zip"" -o""{app}\"" * -r -aoa"; Flags: runhidden runascurrentuser; Filename: {app}\{#MyAppExeName}; Description: {cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}; Flags: nowait postinstall skipifdoesntexist [Code] function ShellExecute(hwnd: HWND; const lpOperation, lpFile, lpParameters, lpDirectory: string; nShowCmd: Integer): THandle; external 'ShellExecuteW@shell32.dll stdcall'; var DownloadPage: TDownloadWizardPage; procedure ModifyWizardForm; begin WizardForm.MainPanel.Hide; WizardForm.Bevel.Hide; WizardForm.Bevel1.Hide; WizardForm.Width := ScaleX(640); WizardForm.Height := ScaleY(270); DownloadPage := CreateDownloadPage(SetupMessage(msgWizardPreparing), SetupMessage(msgPreparingDesc), nil); end; function InitializeSetup: Boolean; begin Result := WizardSilent; if not Result then ShellExecute(0, 'open', ExpandConstant('{srcexe}'), '/SILENT', '', SW_SHOWNORMAL); end; procedure InitializeWizard; begin ModifyWizardForm; end; procedure CurStepChanged(CurStep: TSetupStep); begin case CurStep of ssInstall: begin DownloadPage.Clear; DownloadPage.Add('https://github.com/jrsoftware/issrc/archive/refs/heads/main.zip', 'bla-portable.zip', ''); DownloadPage.Show; try DownloadPage.Download; except if DownloadPage.AbortedByUser then SuppressibleMsgBox(AddPeriod(GetExceptionMessage), mbCriticalError, MB_OK, IDOK); finally DownloadPage.Hide; end; end; end; end; |
|
Отправлено: 11:25, 17-02-2022 | #741 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 42
|
Профиль | Отправить PM | Цитировать Цитата El Sanchez:
мы его тестировали и остались недовольны. Во время загрузки он довольно сильно лагает (тормозит окно) из плюсов в нём только наличие прогрессбара в таскбаре пока идёт загрузка, но в остальном он довольно корявый. (по крайней мере на текущий момент) Проверяли мы на 6.2.0 Всё же хочется исправить те 2 кейса для IDP и использовать именно его (с нашим дизайном) |
|
Последний раз редактировалось lmiol, 17-02-2022 в 14:41. Отправлено: 12:48, 17-02-2022 | #742 |
Пользователь Сообщения: 80
|
Профиль | Отправить PM | Цитировать lmiol, всё то, что предлагает господин El Sanchez не имеет ни тормозов, ни глюков. Лучше вежливо попросите его о помощи и этот парень продемонстрирует вам своё мастерство в таком духе, что после увиденного вам ничего не останется как сказать, что этот парень просто волшебник. El Sanchez виртуозно владеет компьютерными языками. Это тот человек, который не копирует код, а пишет его с нуля. Методов написания любого кода существует масса, но не каждый умеет так оптимизированно писать код, как господин El Sanchez.
|
------- Последний раз редактировалось dracosha, 17-02-2022 в 17:00. Отправлено: 16:31, 17-02-2022 | #743 |
Ветеран Сообщения: 2186
|
Профиль | Отправить PM | Цитировать Цитата lmiol:
Цитата lmiol:
Цитата lmiol:
Цитата lmiol:
Вы простите, но возникает вопрос - Вам "шашечки", или ехать? Маэстро El Sanchez дал Вам готовое решение по ваш компилятор..., причем, заметьте, абсолютно бесплатно... P.S. Ни чего личного... |
||||
Отправлено: 19:29, 17-02-2022 | #744 |
Новый участник Сообщения: 42
|
Профиль | Отправить PM | Цитировать Цитата dracosha:
Цитата Vanadiy777:
У меня в посте указан плагин IDP, конкретный дизайн, конкретная проблема: я просил дополнить наш скрипт исправив проблему по двум кейсам. Я понимаю, что возможно Маэстро хотел как лучше и переписал на нативку, но факт остаётся фактом: это не то что мы просили. И не круто тут как чайки налетать на меня и делать вид, что я не благодарный. А также необязательно зачмокивать друг друга благодарностями на свои остроты. Конкретно претензий к Маэстро за то, что нативка лагает - нет. Ведь это проблема Inno Setup и это уже пройденный нами этап (повторюсь еще раз) Мы можем попытаться раздуть эту тему. Но я бы очень хотел сконцентрироваться на решении проблемы. Т.е. на финальном результате. От оплаты доработок нашего скрипта по двум кейсам в 1к я не отказываюсь Для защиты своей работы можете не выкладывать код, а локально собрать и во время звонка (гугл мит например) продемонстрировать работу установщика. Или записать видео показав работу двух кейсов. Мне кажется El Sanchez просто было лень вникать в то, что я написал и он просто решил сделать по-быстрому, так как уже где-то реализовывал. Буду рад если я не прав. Всё сводится к тому что своими силами мы разберёмся быстрее. Возможно, в этом и был ваш хитроумный план, поугнетать человека до тех пор, пока он не догадается до нужного решения. Если так, то в аду для вас отдельный котёл, помощнички Как сделаю финальный результат я сброшу сюда, просто чтобы утереть вам нос. |
||
Последний раз редактировалось lmiol, 18-02-2022 в 13:41. Отправлено: 07:56, 18-02-2022 | #745 |
Новый участник Сообщения: 42
|
Профиль | Отправить PM | Цитировать procedure CurPageChanged(CurPageID: Integer); begin WizardForm.Bevel1.Visible := false; WizardForm.MainPanel.Visible := false; WizardForm.InnerNotebook.Top := 50; WizardForm.OuterNotebook.height := 400; if CurPageID = wpInstalling then begin Downloaded := idpFilesDownloaded(); if not(Downloaded) then begin ExitProcess(553); end; end; end; procedure CancelButtonClick(CurPageID: Integer; var Cancel, Confirm: Boolean); begin if Cancel = True then begin ExitProcess(554); end; end; жирным выделил текст, чтобы показать эти 2 кейса |
Отправлено: 08:28, 18-02-2022 | #746 |
Ветеран Сообщения: 1269
|
Профиль | Отправить PM | Цитировать Цитата lmiol:
Скрытый текст
var DownloadFailed: Boolean; function idpBackButtonClick(Page: TWizardPage): Boolean; begin if not IDPOptions.NoRetryButton then // Retry button clicked begin DownloadFailed := False; idpStartDownload; Result := False; end else Result := True; end; function idpNextButtonClick(Page: TWizardPage): Boolean; begin Result := True; end; procedure idpCancelButtonClick(Page: TWizardPage; var Cancel, Confirm: Boolean); begin Cancel := not DownloadFailed or ExitSetupMsgBox; if Cancel then begin IDPForm.Status.Caption := ExpandConstant('{cm:IDP_CancellingDownload}'); WizardForm.Repaint; idpStopDownload; Confirm := False; end; end; procedure idpReportErrorHelper(Sender: TObject); begin DownloadFailed := True; idpReportError; //calling idpReportError in main thread for compatibility with VCL Styles for IS end; Будет выход без подтверждения с прекращением загрузки, если пользователь Отмена нажмёт или окно попытается закрыть. Цитата lmiol:
Цитата lmiol:
|
|||
Отправлено: 21:38, 18-02-2022 | #747 |
Новый участник Сообщения: 42
|
Профиль | Отправить PM | Цитировать Цитата El Sanchez:
Но я полностью согласен что во время модального окна с подтверждением должна быть пауза. У нативного загрузчика эта пауза есть. Но тут мы посчитали эту проблему низкоприоритетной. Если не успеет нажать значит сам виноват Ну т.е. кейс когда он жмёт закрыть и намеренно уходит очень низок. (но конечно будет). Ведь если кто-то не хочет чтобы ему что-то устанавливалось - он не будет ждать с моря погоды. Но повторюсь что такой кейс возможен (отвлекли например). Есть еще кейс если долго ждать загрузку и в конце нажать на Крестик (или эта отмена сделана в конце уже почти загуженного файла) то да, второй кейс когда всё упущено. UPDATE Кстати я потестировал еще раз у нас пауза делается сама на Download от IDP а на installation который у нас идёт секунды 2 уже крестика нет и прервать установку уже нельзя так что всё просто magnifique |
|
Последний раз редактировалось lmiol, 19-02-2022 в 11:16. Отправлено: 11:05, 19-02-2022 | #748 |
Новый участник Сообщения: 42
|
Профиль | Отправить PM | Цитировать Парни подскажите как сделать, что бы не было видно ошибок при переустановки программы.
Скрытый текст
|
Отправлено: 15:20, 09-03-2022 | #749 |
Ветеран Сообщения: 2186
|
Профиль | Отправить PM | Цитировать Цитата pollipen:
|
|
Отправлено: 18:25, 10-03-2022 | #750 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Скрипты Inno Setup. Помощь и советы [часть 7] | El Sanchez | Автоматическая установка приложений | 2499 | 02-02-2015 08:59 | |
Скрипты Inno Setup. Помощь и советы [часть 6] | El Sanchez | Автоматическая установка приложений | 2494 | 10-03-2014 11:51 | |
Скрипты Inno Setup. Помощь и советы [часть 5] | El Sanchez | Автоматическая установка приложений | 1999 | 28-03-2013 19:09 | |
Скрипты Inno Setup. Помощь и советы [часть 4] | El Sanchez | Автоматическая установка приложений | 2099 | 22-05-2012 23:16 | |
Скрипты Inno Setup. Помощь и советы [часть 3] | Serega | Автоматическая установка приложений | 3755 | 26-10-2011 17:58 |
|