我已经使用Inno Setup几个月了,但是我一直在努力寻找如何从安装程序本身中检测出一个错误,该错误将导致Inno Setup以非零退出代码结束。
我已经考虑过CurStepChanged
与该ssDone
步骤甚至是该步骤一起使用DeinitializeSetup
,但是我找不到如何访问该向导的退出代码。
我错过了什么?一定有办法做到...
您无法从Pascal脚本中找到安装程序退出代码。
如果要检测安装程序是否失败,请记住是否使用CurStepChanged
调用了ssDone
并在中进行了测试DeinitializeSetup
。
var
Succeeded: Boolean;
procedure DeinitializeSetup();
begin
if Succeeded then
begin
Log('Installation succeeded');
end
else
begin
Log('Installation failed');
end;
end;
procedure CurStepChanged(CurStep: TSetupStep);
begin
if CurStep = ssDone then
begin
Succeeded := True;
end;
end;
在某些情况下,ssDone
即使安装程序失败,即使使用时也是如此。
例如,当由于未重新启动计算机而无法完成先前的安装而导致失败时。在这种情况下,CurStepChanged
不能用调用ssPostInstall
。因此,如果这种情况可能在安装程序中发生,则您可能需要检查两个步骤。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句