是否在触发ssPostInstall步骤的CurStepChanged事件之前处理了[Run]部分?

skr*_*skr 5 inno-setup

在我的代码中,我正在使用该[Run]部分以及CurStepChanged事件处理程序在ssPostInstall发生时执行某些操作.在伪脚本中是这样的:

[Run]
Filename: "{app}\FileToRun.exe"; Parameters: "/x"

[Code]
procedure CurStepChanged(CurStep: TSetupStep);
begin
  if CurStep = ssPostInstall then 
  begin
    // do some stuff
  end;
end;
Run Code Online (Sandbox Code Playgroud)

我的问题是,哪一个作为第一个处理.是否触发了步骤事件[Run]之前处理的部分?CurStepChangedssPostInstall

根据我的观察,似乎该[Run]部分首先被处理.

TLa*_*ama 5

那是真实的。在触发该步骤[Run]CurStepChanged事件之前,将处理节条目ssPostInstall。可以在下面阅读piece of code(评论是我的):

ProcessRunEntries; // <- this processes the [Run] section entries

if RmDoRestart and
   (InitRestartApplications or
    ((shRestartApplications in SetupHeader.Options) and not InitNoRestartApplications)) then
  RestartApplications;

SetStep(ssPostInstall, True); // <- and this triggers the CurStepChanged event
Run Code Online (Sandbox Code Playgroud)