7

我想为我的安装设置退出代码,这样我就知道为什么安装被中止了。我正在使用 Inno 设置。

4

2 回答 2

13

从 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。此外:

任何非零退出代码表示安装程序未运行完成。

要更具体地回答您的问题,您可以通过观察退出代码25.

如果您希望在 Inno 否则返回时返回自定义退出代码0,您可以定义以下事件函数:

function GetCustomSetupExitCode: Integer;

来自帮助文档(来自文章“Pascal Scripting: E​​vent Functions”):

function GetCustomSetupExitCode: Integer;

返回一个非零数字以指示安装程序返回自定义退出代码。仅当安装程序成功运行完成并且退出代码为 时才调用此函数0

于 2010-01-06T13:36:13.360 回答
8

采用:

[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;
于 2011-08-11T08:50:17.557 回答