2016-01-04 4 views
3

Как и мой вопрос в Inno Setup: How to manipulate progress bar on Run section?, который Мартин Прикриль дал мне отличное предложение, я хочу сделать то же самое (изменить стиль индикатора прогресса) в разделе регистрации, я имею в виду, непосредственно перед секцией Run, когда Inno Setup регистрирует DLL/OCX (regserver флаг в [Files]).Inno Setup: как манипулировать индикатором выполнения на странице регистрации?

Я попытался использовать некоторые из PageID, чтобы заставить его работать, что, по моему мнению, является wpInstalling, сравнивая его с тем, когда значение равно 100, оно изменяется в стиле Marquee, но я не заработал.

Большое спасибо.

ответ

3

Нет события, которое было инициировано до регистрации.


Ближайший вы можете получить с помощью AfterInstall parameter из последний установленный файл (не .dll):

[Files] 
Source: "mydll.dll"; DestDir: "{app}"; Flags: regserver 
Source: "myfile1"; DestDir: "{app}" 
Source: "myfile2"; DestDir: "{app}" 
... 
Source: "myfileN"; DestDir: "{app}"; AfterInstall: AfterLastFileInstall 

[Code] 

procedure AfterLastFileInstall; 
begin 
    Log('Last file installed, file registration is starting'); 
    WizardForm.ProgressGauge.Style := npbstMarquee; 
end; 

Другой вариант заключается в обращении CurInstallProgressChanged event и ждать CurProgress   =   MaxProgress:

[Code] 

procedure CurInstallProgressChanged(CurProgress, MaxProgress: Integer); 
begin 
    if CurProgress >= MaxProgress then 
    begin 
    Log('Everything is installed, file registration is starting'); 
    WizardForm.ProgressGauge.Style := npbstMarquee; 
    end; 
end; 
+0

Martin, еще раз, спасибо. Я использовал процедуру CurInstallProgressChanged. – KurayamiArai

Смежные вопросы