inno-setup – 使用Process Exit代码在[Run]中显示特定文件的错误消息

前端之家收集整理的这篇文章主要介绍了inno-setup – 使用Process Exit代码在[Run]中显示特定文件的错误消息前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
使用innosetup并希望显示错误/ msgBox,如果其中一个[RUN]进程没有返回进程代码0.我正在使用它进行授权过程,如果授权不成功,我想通知用户.

我有以下内容

Filename: "{pf32}\Common Files\Authorization.exe"; Parameters: " "{code:GetAuthorizationFilePath}" /s"; WorkingDir: "{tmp}"; Flags: skipifdoesntexist hidewizard; StatusMsg: "Authorizing License";

归还给我:

Process exit code:0

0当然是成功的,但如果它不是0我想通知用户.

有没有办法做到这一点?

感谢致敬,
Kev84

解决方法

我认为没有办法从[Run]部分完成此操作.你能做的是:

>使用Pascal脚本执行此任务
>或显示来自您执行的应用程序Authorization.exe的模态错误消息,并仅在用户确认错误消息后终止它(然后设置将继续,例如执行[Run]部分中的其他文件)

这是Pascal脚本的代码示例;你也可以查看这段代码commented version

[Code]

function NextButtonClick(CurPageID: Integer): Boolean;
var
  ResultCode: Integer;
begin
  Result := True;

  if CurPageID = wpWelcome then
  begin
    Result := False;
    if Exec(ExpandConstant('{pf32}\Common Files\Authorization.exe'),'',SW_SHOW,ewWaitUntilTerminated,ResultCode) then
    begin
      if ResultCode = 0 then    
        Result := True
      else
        MsgBox('The authorization Failed!',mbCriticalError,MB_OK);
    end;
  end;
end;

猜你在找的Delphi相关文章