Похожие на этот вопрос:
How to set the progress bar value in the [Run] section of the Inno Setup install script?Inno Setup: как манипулировать индикатором выполнения в разделе «Выполнить»?
Когда Setup Inno попадает в раздел [Run]
, индикатор показывает 100% и останавливается в этом положении.
У меня есть много файлов, которые я устанавливаю в этом разделе Run
, который я хочу перезапустить индикатор выполнения и управлять им, поскольку он устанавливает установку каждой программы.
Сообщение о состоянии легко изменить (StatusMsg
), но прогресс у меня отсутствует. Не могли бы вы, ребята, помочь мне, пожалуйста?
Пример:
[Run]
Filename: "msiexec.exe"; Parameters: "/i ""msxml.msi"" /quiet"; \
StatusMsg: "MSXML..."; Flags: runascurrentuser
Filename: "msiexec.exe"; Parameters: "/i ""capicom_dc_sdk.msi"" /quiet"; \
StatusMsg: "CAPICOM..."; Flags: runascurrentuser
Так как я хочу, чтобы контролировать прогресс бар во время его установки, я не знаю, что делать. Я подумал, что, возможно, используя параметр BeforeInstall
, создав код, чтобы установить индикатор выполнения на 0, выполнив что-то вроде WizardForm.ProgressGauge.Position = 0;
и в параметре AfterInstall
, напротив, WizardForm.ProgressGauge.Position = 100;
, но как изменить во время установки?
Спасибо.
Как бы вы даже знаете, как суб-установка происходит, чтобы представить, что в основной программе установки? –
Я не знаю много о delphi, но есть некоторые API в Windows, которые возвращаются, если процесс выполняется. Идея состояла в том, чтобы проверить, активен ли процесс и сделать ход до завершения процесса. Затем снова вернитесь к нулю и начните в следующем. Но если это невозможно, я попробую что-то простое, как в начале, перейдите к нулю, и после каждого процесса немного поднимитесь, как 10% в каждом. – KurayamiArai
* «Продвигайтесь вперед до завершения процесса» * Но вы не знаете, когда закончится процесс, так как вы можете рассчитать, какой процент показывать? –