Inno setup 是否在触发ssPostInstall步骤的CurStepChanged事件之前处理了[Run]部分?
在我的代码中,我正在使用Inno setup 是否在触发ssPostInstall步骤的CurStepChanged事件之前处理了[Run]部分?,inno-setup,Inno Setup,在我的代码中,我正在使用[Run]部分以及CurStepChanged事件处理程序,在发生ssPostInstall时执行一些操作。在类似以下内容的伪脚本中: [Run] Filename: "{app}\FileToRun.exe"; Parameters: "/x" [Code] procedure CurStepChanged(CurStep: TSetupStep); begin if CurStep = ssPostInstall then begin // do
[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;
我的问题是,哪一个作为第一个处理。在触发ssPostInstall
步骤的CurStepChanged
事件之前,是否处理了[Run]
部分
从我观察到的情况来看,[Run]
部分似乎是作为第一个部分处理的。这是真的。在触发步骤的事件之前,将处理节条目。可以在以下内容中阅读(我的评论):
ProcessRunEntries;//谢谢@特拉马。是否可以在CurStepChanged事件中运行批处理文件(目前我正在使用[run])?不客气!回答你的问题;是的,请查看功能。
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