Настройка на Inno: Как да манипулирам лентата за напредък в раздела за регистрация?

Точно като въпроса ми в Inno Setup: Как да манипулирам прогреса лента в секцията Run?, което Мартин Прикрил ми даде отлично предложение, искам да направя същото (промяна на стила на индикатора за напредък) в секцията за регистриране, имам предвид точно преди секцията Run, когато Inno Инсталационната програма регистрира DLL/OCX (regserver флаг в [Files]).

Опитах се да използвам някои от PageID, за да го накарам да работи, което мисля, че е wpInstalling, сравнявайки го с това, когато стойностите му достигнат 100, той се променя в стил Marquee, но не го накарах да работи.

Благодаря много.


person KurayamiArai    schedule 04.01.2016    source източник


Отговори (1)


Няма събитие, което да е задействано преди регистрацията.


Най-близкото, което можете да получите, е да използвате AfterInstall параметър на последния инсталиран файл (не .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 събитие и да изчакате 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;
person Martin Prikryl    schedule 04.01.2016
comment
Мартин, още веднъж благодаря. Използвах процедурата CurInstallProgressChanged. - person KurayamiArai; 04.01.2016