我想为我的安装设置退出代码,这样我就知道为什么安装被中止了。我正在使用 Inno 设置。
2 回答
从 Inno Setup Help 文档(来自文章“Setup Exit Codes”):
从 Inno Setup 3.0.3 开始,安装程序可能会返回以下退出代码之一:
0安装程序已成功运行完成。
1安装程序初始化失败。
2用户在实际安装开始之前单击向导中的取消,或在打开的“这将安装...”消息框上选择“否”。
3准备进入下一个安装阶段(例如,从显示预安装向导页面到实际安装过程)时发生致命错误。除非在最不寻常的情况下(例如内存不足或 Windows 资源不足),否则绝不应该发生这种情况。
4实际安装过程中出现致命错误。
注意:导致显示 Abort-Retry-Ignore 框的错误不是致命错误。如果用户在这样的消息框中选择 Abort,
5
将返回退出代码。5用户在实际安装过程中单击了取消,或者在 Abort-Retry-Ignore 框中选择了 Abort。
6调试器强制终止安装过程(在 IDE 中使用了运行 | 终止)。
您可以通过确认退出代码轻松检查设置是否成功运行0
。此外:
任何非零退出代码表示安装程序未运行完成。
要更具体地回答您的问题,您可以通过观察退出代码2
或5
.
如果您希望在 Inno 否则返回时返回自定义退出代码0
,您可以定义以下事件函数:
function GetCustomSetupExitCode: Integer;
来自帮助文档(来自文章“Pascal Scripting: Event Functions”):
function GetCustomSetupExitCode: Integer;
返回一个非零数字以指示安装程序返回自定义退出代码。仅当安装程序成功运行完成并且退出代码为 时才调用此函数
0
。
采用:
[Code]
procedure ExitProcess(exitCode:integer);
external 'ExitProcess@kernel32.dll stdcall';
procedure SomeEventHere();
begin
if someerror then begin
ExitProcess(9); //Your custom exit code
end;
end;