加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

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

发布时间:2020-12-15 10:06:58 所属栏目:大数据 来源:网络整理
导读:使用innosetup并希望显示错误/ msgbox,如果其中一个[RUN]进程没有返回进程代码0.我正在使用它进行授权过程,如果授权不成功,我想通知用户. 我有以下内容: Filename: "{pf32}Common FilesAuthorization.exe"; Parameters: " "{code:GetAuthorizationFilePat
使用innosetup并希望显示错误/ msgbox,如果其中一个[RUN]进程没有返回进程代码0.我正在使用它进行授权过程,如果授权不成功,我想通知用户.

我有以下内容:

Filename: "{pf32}Common FilesAuthorization.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 FilesAuthorization.exe'),'',SW_SHOW,ewWaitUntilTerminated,ResultCode) then
    begin
      if ResultCode = 0 then    
        Result := True
      else
        MsgBox('The authorization failed!',mbCriticalError,MB_OK);
    end;
  end;
end;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读